support/testing: python-pyroute2: new runtime test

Signed-off-by: Fiona Klute (WIWA) <fiona.klute@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@free.fr>
This commit is contained in:
Fiona Klute (WIWA)
2025-08-11 18:02:10 +02:00
committed by Julien Olivain
parent 786557d859
commit 7b3bf7b29c
3 changed files with 42 additions and 0 deletions

View File

@@ -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@newtesc.com.br>
F: configs/asus_tinker-s_rk3288_defconfig

View File

@@ -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()

View File

@@ -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)