diff --git a/tests/topotests/conftest.py b/tests/topotests/conftest.py index a2315138cc..be28b388ba 100755 --- a/tests/topotests/conftest.py +++ b/tests/topotests/conftest.py @@ -32,7 +32,7 @@ from lib import topolog, topotest try: # Used by munet native tests - from munet.testing.fixtures import event_loop, unet # pylint: disable=all # noqa + from munet.testing.fixtures import unet # pylint: disable=all # noqa @pytest.fixture(scope="module") def rundir_module(pytestconfig): diff --git a/tests/topotests/example_munet/r1/frr.conf b/tests/topotests/example_munet/r1/frr.conf index 468bda5e01..692e4ceb47 100644 --- a/tests/topotests/example_munet/r1/frr.conf +++ b/tests/topotests/example_munet/r1/frr.conf @@ -4,4 +4,4 @@ service integrated-vtysh-config interface eth0 ip address 10.0.1.1/24 -ip route 10.0.0.0/8 blackhole +ip route 10.0.2.0/24 10.0.1.2 diff --git a/tests/topotests/example_munet/r2/frr.conf b/tests/topotests/example_munet/r2/frr.conf index 77d9892485..da3f15b801 100644 --- a/tests/topotests/example_munet/r2/frr.conf +++ b/tests/topotests/example_munet/r2/frr.conf @@ -5,6 +5,4 @@ interface eth0 ip address 10.0.1.2/24 interface eth1 - ip address 10.0.2.2/24 - -ip route 10.0.0.0/8 blackhole + ip address 10.0.2.2/24 \ No newline at end of file diff --git a/tests/topotests/example_munet/r3/frr.conf b/tests/topotests/example_munet/r3/frr.conf index e0839e6d8a..84527b34df 100644 --- a/tests/topotests/example_munet/r3/frr.conf +++ b/tests/topotests/example_munet/r3/frr.conf @@ -4,4 +4,4 @@ service integrated-vtysh-config interface eth0 ip address 10.0.2.3/24 -ip route 10.0.0.0/8 blackhole +ip route 10.0.1.0/24 10.0.2.2 \ No newline at end of file diff --git a/tests/topotests/example_munet/test_munet.py b/tests/topotests/example_munet/test_munet.py index 0d9599fa54..71052099c4 100644 --- a/tests/topotests/example_munet/test_munet.py +++ b/tests/topotests/example_munet/test_munet.py @@ -5,6 +5,22 @@ # # Copyright (c) 2023, LabN Consulting, L.L.C. # +from munet.testing.util import retry + + +@retry(retry_timeout=10) +def wait_for_route(r, p): + o = r.cmd_raises(f"ip route show {p}") + assert p in o + + async def test_native_test(unet): - o = unet.hosts["r1"].cmd_nostatus("ip addr") + r1 = unet.hosts["r1"] + o = r1.cmd_nostatus("ip addr") print(o) + + wait_for_route(r1, "10.0.2.0/24") + + r1.cmd_raises("ping -c1 10.0.1.2") + r1.cmd_raises("ping -c1 10.0.2.2") + r1.cmd_raises("ping -c1 10.0.2.3") diff --git a/tests/topotests/kinds.yaml b/tests/topotests/kinds.yaml index 5f4b61d4b7..20c819c79c 100644 --- a/tests/topotests/kinds.yaml +++ b/tests/topotests/kinds.yaml @@ -10,9 +10,10 @@ kinds: /usr/lib/frr/frrinit.sh stop volumes: - "./%NAME%:/etc/frr" + - "%RUNDIR%/var.lib.frr:/var/lib/frr" - "%RUNDIR%/var.log.frr:/var/log/frr" - "%RUNDIR%/var.run.frr:/var/run/frr" - - "%RUNDIR%/var.lib.frr:/var/lib/frr" + - "%RUNDIR%/var.tmp.frr:/var/tmp/frr" cap-add: - SYS_ADMIN - AUDIT_WRITE diff --git a/tests/topotests/pytest.ini b/tests/topotests/pytest.ini index db806fed39..9f33917c6b 100644 --- a/tests/topotests/pytest.ini +++ b/tests/topotests/pytest.ini @@ -1,6 +1,8 @@ # Skip pytests example directory [pytest] +asyncio_mode = auto + # NEEDS_EXABGP_4_2_11_FRR # asyncio_mode = auto