From 89061166eca2b48771426056ccd14e4d3e0850c9 Mon Sep 17 00:00:00 2001 From: Julien Olivain Date: Wed, 23 Oct 2024 23:36:43 +0200 Subject: [PATCH] support/testing: add dpdk runtime test Signed-off-by: Julien Olivain Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 1 + support/testing/tests/package/test_dpdk.py | 46 ++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 support/testing/tests/package/test_dpdk.py diff --git a/DEVELOPERS b/DEVELOPERS index 3805fe13be..4fb5ae023d 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1864,6 +1864,7 @@ F: support/testing/tests/package/test_dmidecode.py F: support/testing/tests/package/test_dos2unix.py F: support/testing/tests/package/test_dosfstools.py F: support/testing/tests/package/test_dosfstools/ +F: support/testing/tests/package/test_dpdk.py F: support/testing/tests/package/test_ed.py F: support/testing/tests/package/test_ethtool.py F: support/testing/tests/package/test_ethtool/ diff --git a/support/testing/tests/package/test_dpdk.py b/support/testing/tests/package/test_dpdk.py new file mode 100644 index 0000000000..de2828298a --- /dev/null +++ b/support/testing/tests/package/test_dpdk.py @@ -0,0 +1,46 @@ +import os + +import infra.basetest + + +class TestDPDK(infra.basetest.BRTest): + config = \ + """ + BR2_x86_64=y + BR2_x86_nehalem=y + BR2_TOOLCHAIN_EXTERNAL=y + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.6.58" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/x86_64/linux.config" + BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y + BR2_PACKAGE_DPDK=y + BR2_PACKAGE_DPDK_TESTS=y + BR2_TARGET_ROOTFS_EXT2=y + BR2_TARGET_ROOTFS_EXT2_SIZE="300M" + # BR2_TARGET_ROOTFS_TAR is not set + """ + + def test_run(self): + img = os.path.join(self.builddir, "images", "rootfs.ext2") + kern = os.path.join(self.builddir, "images", "bzImage") + self.emulator.boot(arch="x86_64", + kernel=kern, + kernel_cmdline=["root=/dev/vda", "console=ttyS0"], + options=["-cpu", "Nehalem", "-m", "512M", + "-smp", "4", + "-device", "virtio-rng-pci", + "-drive", f"file={img},format=raw,if=virtio", + "-net", "nic,model=virtio", + "-net", "user"]) + self.emulator.login() + + # We run few DPDK test cases. + dpdk_tests = [ + "crc_autotest", + "threads_autotest", + "lcores_autotest" + ] + cmd = "dpdk-test --no-huge " + " ".join(dpdk_tests) + self.assertRunOk(cmd, timeout=30)