tests: locate nhg id from json output in all_proto_startup

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>
This commit is contained in:
Mark Stapp 2023-10-05 13:47:17 -04:00
parent 3651803221
commit 22fb94a248

View File

@ -38,6 +38,9 @@ from lib.common_config import (
required_linux_kernel_version, required_linux_kernel_version,
) )
from lib.topolog import logger
import json
fatal_error = "" fatal_error = ""
@ -1611,10 +1614,21 @@ def test_resilient_nexthop_group():
) )
output = net["r1"].cmd('vtysh -c "show nexthop-group rib sharp"') output = net["r1"].cmd('vtysh -c "show nexthop-group rib sharp"')
output = re.findall(r"Buckets", output) buckets = re.findall(r"Buckets", output)
verify_nexthop_group(185483878) output = net["r1"].cmd('vtysh -c "show nexthop-group rib sharp json"')
assert len(output) == 1, "Resilient NHG not created in zebra"
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(int(nhgid))
assert len(buckets) == 1, "Resilient NHG not created in zebra"
def test_shutdown_check_stderr(): def test_shutdown_check_stderr():