]> git.puffer.fish Git - matthieu/frr.git/commitdiff
tests: locate nhg id from json output in all_proto_startup
authorMark Stapp <mjs@labn.net>
Thu, 5 Oct 2023 17:47:17 +0000 (13:47 -0400)
committerMark Stapp <mjs@labn.net>
Thu, 5 Oct 2023 17:47:17 +0000 (13:47 -0400)
Don't hard-code a sharpd nhg id: those values aren't stable
if the daemons/protos/route-types change. Use json show output
to find the id in the 'resilient' nhg test case in
the all_protocol_startup suite.

Signed-off-by: Mark Stapp <mjs@labn.net>
tests/topotests/all_protocol_startup/test_all_protocol_startup.py

index 4b7c4de806189a061f3a7b1a4ebbe6b629d94fc5..c319477c8ae3653b5c244884ba51be59aeb95e35 100644 (file)
@@ -38,6 +38,9 @@ from lib.common_config import (
     required_linux_kernel_version,
 )
 
+from lib.topolog import logger
+import json
+
 fatal_error = ""
 
 
@@ -1611,10 +1614,21 @@ def test_resilient_nexthop_group():
     )
 
     output = net["r1"].cmd('vtysh -c "show nexthop-group rib sharp"')
-    output = re.findall(r"Buckets", output)
+    buckets = re.findall(r"Buckets", output)
+
+    output = net["r1"].cmd('vtysh -c "show nexthop-group rib sharp json"')
+
+    joutput = json.loads(output)
+
+    # Use the json output and collect the nhg id from it
+
+    for nhgid in joutput:
+        n = joutput[nhgid]
+        if "buckets" in n:
+            break
 
-    verify_nexthop_group(185483878)
-    assert len(output) == 1, "Resilient NHG not created in zebra"
+    verify_nexthop_group(int(nhgid))
+    assert len(buckets) == 1, "Resilient NHG not created in zebra"
 
 
 def test_shutdown_check_stderr():