diff options
author | Martin Winter <mwinter@opensourcerouting.org> | 2021-10-30 01:36:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-30 01:36:35 +0200 |
commit | cd206022b106a08a0c3eeb9f0780ad589a713e68 (patch) | |
tree | 55046c1d03b51c90a072250bb5dde1a7375c18a4 | |
parent | Merge pull request #9912 from donaldsharp/netlink_modifications (diff) | |
parent | tests: Fix zebra_seg6_route to not always reinstall the same route (diff) | |
download | frr-cd206022b106a08a0c3eeb9f0780ad589a713e68.tar.xz frr-cd206022b106a08a0c3eeb9f0780ad589a713e68.zip |
Merge pull request #9920 from donaldsharp/zebra_seg6local_race
tests: zebra_seg6local has a race condition
3 files changed, 22 insertions, 26 deletions
diff --git a/tests/topotests/zebra_seg6_route/r1/routes.json b/tests/topotests/zebra_seg6_route/r1/routes.json index a0c15b8fe..50ac4f717 100644 --- a/tests/topotests/zebra_seg6_route/r1/routes.json +++ b/tests/topotests/zebra_seg6_route/r1/routes.json @@ -2,7 +2,7 @@ { "in": { "dest": "1::1", - "nh": "2001::1", + "nh": "2001::2", "sid": "a::" }, "out":[{ diff --git a/tests/topotests/zebra_seg6_route/test_zebra_seg6_route.py b/tests/topotests/zebra_seg6_route/test_zebra_seg6_route.py index cdad988b8..399af748a 100755 --- a/tests/topotests/zebra_seg6_route/test_zebra_seg6_route.py +++ b/tests/topotests/zebra_seg6_route/test_zebra_seg6_route.py @@ -79,11 +79,7 @@ def test_zebra_seg6local_routes(): logger.info("Test for seg6local route install via ZAPI was start.") r1 = tgen.gears["r1"] - def check(router, dest, nh, sid, expected): - router.vtysh_cmd( - "sharp install seg6-routes {} " - "nexthop-seg6 {} encap {} 1".format(dest, nh, sid) - ) + def check(router, dest, expected): output = json.loads(router.vtysh_cmd("show ipv6 route {} json".format(dest))) output = output.get("{}/128".format(dest)) if output is None: @@ -92,19 +88,17 @@ def test_zebra_seg6local_routes(): manifests = open_json_file(os.path.join(CWD, "{}/routes.json".format("r1"))) for manifest in manifests: - logger.info( - "CHECK {} {} {}".format( - manifest["in"]["dest"], manifest["in"]["nh"], manifest["in"]["sid"] + dest = manifest["in"]["dest"] + nh = manifest["in"]["nh"] + sid = manifest["in"]["sid"] + + r1.vtysh_cmd( + "sharp install seg6-routes {} nexthop-seg6 {} encap {} 1".format( + dest, nh, sid ) ) - test_func = partial( - check, - r1, - manifest["in"]["dest"], - manifest["in"]["nh"], - manifest["in"]["sid"], - manifest["out"], - ) + logger.info("CHECK {} {} {}".format(dest, nh, sid)) + test_func = partial(check, r1, dest, manifest["out"]) success, result = topotest.run_and_expect(test_func, None, count=5, wait=1) assert result is None, "Failed" diff --git a/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py b/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py index 1062c306a..0da51cc8b 100755 --- a/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py +++ b/tests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py @@ -79,11 +79,7 @@ def test_zebra_seg6local_routes(): logger.info("Test for seg6local route install via ZAPI was start.") r1 = tgen.gears["r1"] - def check(router, dest, context, expected): - router.vtysh_cmd( - "sharp install seg6local-routes {} " - "nexthop-seg6local dum0 {} 1".format(dest, context) - ) + def check(router, dest, expected): output = json.loads(router.vtysh_cmd("show ipv6 route {} json".format(dest))) output = output.get("{}/128".format(dest)) if output is None: @@ -92,14 +88,20 @@ def test_zebra_seg6local_routes(): manifests = open_json_file(os.path.join(CWD, "{}/routes.json".format("r1"))) for manifest in manifests: - logger.info( - "CHECK {} {}".format(manifest["in"]["dest"], manifest["in"]["context"]) + dest = manifest["in"]["dest"] + context = manifest["in"]["context"] + + logger.info("CHECK {} {}".format(dest, context)) + + r1.vtysh_cmd( + "sharp install seg6local-routes {} nexthop-seg6local dum0 {} 1".format( + dest, context + ) ) test_func = partial( check, r1, - manifest["in"]["dest"], - manifest["in"]["context"], + dest, manifest["out"], ) success, result = topotest.run_and_expect(test_func, None, count=5, wait=1) |