test_dpdk.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import os
  2. import infra.basetest
  3. class TestDPDK(infra.basetest.BRTest):
  4. config = \
  5. """
  6. BR2_x86_64=y
  7. BR2_x86_nehalem=y
  8. BR2_TOOLCHAIN_EXTERNAL=y
  9. BR2_LINUX_KERNEL=y
  10. BR2_LINUX_KERNEL_CUSTOM_VERSION=y
  11. BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.58"
  12. BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
  13. BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config"
  14. BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
  15. BR2_PACKAGE_DPDK=y
  16. BR2_PACKAGE_DPDK_TESTS=y
  17. BR2_TARGET_ROOTFS_EXT2=y
  18. BR2_TARGET_ROOTFS_EXT2_SIZE="300M"
  19. # BR2_TARGET_ROOTFS_TAR is not set
  20. """
  21. def test_run(self):
  22. img = os.path.join(self.builddir, "images", "rootfs.ext2")
  23. kern = os.path.join(self.builddir, "images", "bzImage")
  24. self.emulator.boot(arch="x86_64",
  25. kernel=kern,
  26. kernel_cmdline=["root=/dev/vda", "console=ttyS0"],
  27. options=["-cpu", "Nehalem", "-m", "512M",
  28. "-smp", "4",
  29. "-device", "virtio-rng-pci",
  30. "-drive", f"file={img},format=raw,if=virtio",
  31. "-net", "nic,model=virtio",
  32. "-net", "user"])
  33. self.emulator.login()
  34. # We run few DPDK test cases.
  35. dpdk_tests = [
  36. "crc_autotest",
  37. "threads_autotest",
  38. "lcores_autotest"
  39. ]
  40. cmd = "dpdk-test --no-huge " + " ".join(dpdk_tests)
  41. self.assertRunOk(cmd, timeout=30)