[Buildroot] [git commit] support/testing: python-pyroute2: new runtime test

Julien Olivain ju.o at free.fr
Mon Sep 8 14:16:21 UTC 2025


commit: https://git.buildroot.net/buildroot/commit/?id=7b3bf7b29c49848dd29d778f4041dd90cd5556cc
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Signed-off-by: Fiona Klute (WIWA) <fiona.klute at gmx.de>
[Julien:
 - reword commit log title
 - replace python '%' formatting with '+' concatenation
 - remove IP address assertion in test controller as it
   is already in sample script
]
Signed-off-by: Julien Olivain <ju.o at free.fr>
---
 DEVELOPERS                                         |  2 ++
 .../tests/package/sample_python_pyroute2.py        | 16 +++++++++++++++
 .../testing/tests/package/test_python_pyroute2.py  | 24 ++++++++++++++++++++++
 3 files changed, 42 insertions(+)

diff --git a/DEVELOPERS b/DEVELOPERS
index a28f3e8d57..cdcde0585f 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -1123,8 +1123,10 @@ F:	package/python-aiomqtt/
 F:	package/python-pyasynchat/
 F:	package/python-pyasyncore/
 F:	support/testing/tests/package/sample_python_networkmanager_goi.py
+F:	support/testing/tests/package/sample_python_pyroute2.py
 F:	support/testing/tests/package/test_nftables.py
 F:	support/testing/tests/package/test_python_networkmanager_goi.py
+F:	support/testing/tests/package/test_python_pyroute2.py
 
 N:	Flávio Tapajós <flavio.tapajos at newtesc.com.br>
 F:	configs/asus_tinker-s_rk3288_defconfig
diff --git a/support/testing/tests/package/sample_python_pyroute2.py b/support/testing/tests/package/sample_python_pyroute2.py
new file mode 100644
index 0000000000..50d0d486bf
--- /dev/null
+++ b/support/testing/tests/package/sample_python_pyroute2.py
@@ -0,0 +1,16 @@
+from pyroute2 import IPRoute
+
+
+def test_ipr():
+    with IPRoute() as ipr:
+        lo = ipr.link('get', ifname='lo')[0]
+        a = [
+            dict(a['attrs'])['IFA_ADDRESS']
+            for a in ipr.get_addr(index=lo['index'])
+        ]
+    print(repr(a))
+    assert '127.0.0.1' in a
+
+
+if __name__ == '__main__':
+    test_ipr()
diff --git a/support/testing/tests/package/test_python_pyroute2.py b/support/testing/tests/package/test_python_pyroute2.py
new file mode 100644
index 0000000000..2f54a2bd26
--- /dev/null
+++ b/support/testing/tests/package/test_python_pyroute2.py
@@ -0,0 +1,24 @@
+from tests.package.test_python import TestPythonPackageBase
+import os
+
+
+class TestPythonPyroute2(TestPythonPackageBase):
+    __test__ = True
+    config = TestPythonPackageBase.config + \
+        """
+        BR2_PACKAGE_PYTHON3=y
+        BR2_PACKAGE_PYTHON_PYROUTE2=y
+        """
+    sample_scripts = ["tests/package/sample_python_pyroute2.py"]
+
+    def test_run(self):
+        self.login()
+        self.check_sample_scripts_exist()
+        # helpful for debugging, if the test fails the run log will
+        # show if the interface was ready
+        output, exit_code = self.emulator.run('ip addr show', timeout=15)
+        self.assertEqual(exit_code, 0)
+
+        cmd = self.interpreter + " " + os.path.basename(self.sample_scripts[0])
+        _, exit_code = self.emulator.run(cmd, timeout=15)
+        self.assertEqual(exit_code, 0)


More information about the buildroot mailing list