diff mbox series

[1/1] support/testing: add dpdk runtime test

Message ID 20241023213643.915658-1-ju.o@free.fr
State New
Headers show
Series [1/1] support/testing: add dpdk runtime test | expand

Commit Message

Julien Olivain Oct. 23, 2024, 9:36 p.m. UTC
Signed-off-by: Julien Olivain <ju.o@free.fr>
---
Patch tested in:
https://gitlab.com/jolivain/buildroot/-/jobs/8169488724
---
 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

Comments

Vincent Jardin Oct. 23, 2024, 10:14 p.m. UTC | #1
Hi Julien,

It is a good start for a set of tests for the DPDK ; it confirms that it can run.

Ack't

best regards,
  Vincent

On Wed, Oct 23, 2024 at 11:36:43PM UTC, Julien Olivain wrote:
> Signed-off-by: Julien Olivain <ju.o@free.fr>
> ---
> Patch tested in:
> https://gitlab.com/jolivain/buildroot/-/jobs/8169488724
> ---
>  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 386b4ef38f..f08e15425a 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -1880,6 +1880,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 @@
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 386b4ef38f..f08e15425a 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1880,6 +1880,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)