From e4a3fe6610ac6a30059b50d0fabd8cb0feb6cd45 Mon Sep 17 00:00:00 2001 From: "G. Paul Ziemba" Date: Sun, 16 Jul 2023 14:30:24 -0700 Subject: [PATCH] tests: test_babel_topo1: tolerate slow results Signed-off-by: G. Paul Ziemba --- .../topotests/babel_topo1/test_babel_topo1.py | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tests/topotests/babel_topo1/test_babel_topo1.py b/tests/topotests/babel_topo1/test_babel_topo1.py index 6a0297a7ee..decf0c2a6f 100644 --- a/tests/topotests/babel_topo1/test_babel_topo1.py +++ b/tests/topotests/babel_topo1/test_babel_topo1.py @@ -19,6 +19,7 @@ import re import sys import pytest import json +from functools import partial pytestmark = [pytest.mark.babeld] @@ -110,6 +111,17 @@ def test_converge_protocols(): topotest.sleep(10, "Waiting for BABEL convergence") +def runit(router, assertmsg, cmd, expfile): + logger.info(expfile) + + # Read expected result from file + expected = json.loads(open(expfile).read()) + + test_func = partial(topotest.router_json_cmp, router, cmd, expected) + _, result = topotest.run_and_expect(test_func, None, count=30, wait=1) + assert result is None, assertmsg + + def test_zebra_ipv4_routingTable(): "Test 'show ip route'" @@ -121,14 +133,12 @@ def test_zebra_ipv4_routingTable(): failures = 0 router_list = tgen.routers().values() for router in router_list: - output = router.vtysh_cmd("show ip route json", isjson=True) - refTableFile = "{}/{}/show_ip_route.json_ref".format(CWD, router.name) - expected = json.loads(open(refTableFile).read()) - assertmsg = "Zebra IPv4 Routing Table verification failed for router {}".format( router.name ) - assert topotest.json_cmp(output, expected) is None, assertmsg + refTableFile = "{}/{}/show_ip_route.json_ref".format(CWD, router.name) + runit(router, assertmsg, "show ip route json", refTableFile) + def test_shutdown_check_stderr(): if os.environ.get("TOPOTESTS_CHECK_STDERR") is None: -- 2.39.5