summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Winter <mwinter@opensourcerouting.org>2021-10-30 01:36:35 +0200
committerGitHub <noreply@github.com>2021-10-30 01:36:35 +0200
commitcd206022b106a08a0c3eeb9f0780ad589a713e68 (patch)
tree55046c1d03b51c90a072250bb5dde1a7375c18a4
parentMerge pull request #9912 from donaldsharp/netlink_modifications (diff)
parenttests: Fix zebra_seg6_route to not always reinstall the same route (diff)
downloadfrr-cd206022b106a08a0c3eeb9f0780ad589a713e68.tar.xz
frr-cd206022b106a08a0c3eeb9f0780ad589a713e68.zip
Merge pull request #9920 from donaldsharp/zebra_seg6local_race
tests: zebra_seg6local has a race condition
-rw-r--r--tests/topotests/zebra_seg6_route/r1/routes.json2
-rwxr-xr-xtests/topotests/zebra_seg6_route/test_zebra_seg6_route.py26
-rwxr-xr-xtests/topotests/zebra_seg6local_route/test_zebra_seg6local_route.py20
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)