summaryrefslogtreecommitdiff
path: root/tests/topotests/zebra_rib/test_zebra_rib.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/topotests/zebra_rib/test_zebra_rib.py')
-rw-r--r--tests/topotests/zebra_rib/test_zebra_rib.py62
1 files changed, 39 insertions, 23 deletions
diff --git a/tests/topotests/zebra_rib/test_zebra_rib.py b/tests/topotests/zebra_rib/test_zebra_rib.py
index daf8f7be20..9fcf7b6820 100644
--- a/tests/topotests/zebra_rib/test_zebra_rib.py
+++ b/tests/topotests/zebra_rib/test_zebra_rib.py
@@ -76,9 +76,11 @@ def setup_module(mod):
router_list = tgen.routers()
for rname, router in router_list.items():
router.load_config(
- TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname)))
+ TopoRouter.RD_ZEBRA, os.path.join(CWD, "{}/zebra.conf".format(rname))
+ )
router.load_config(
- TopoRouter.RD_SHARP, os.path.join(CWD, "{}/sharpd.conf".format(rname)))
+ TopoRouter.RD_SHARP, os.path.join(CWD, "{}/sharpd.conf".format(rname))
+ )
# Initialize all routers.
tgen.start_router()
@@ -159,6 +161,7 @@ def test_zebra_kernel_override():
_, result = topotest.run_and_expect(test_func, None, count=2, wait=0.5)
assert result is None, '"r1" JSON output mismatches'
+
def test_route_map_usage():
"Test that FRR only reruns over routes associated with the routemap"
logger.info("Test that FRR runs on selected re's on route-map changes")
@@ -174,7 +177,9 @@ def test_route_map_usage():
r1.vtysh_cmd("conf\nroute-map static permit 10\nset src 192.168.215.1")
r1.vtysh_cmd("conf\naccess-list 5 seq 5 permit 10.0.0.44/32")
r1.vtysh_cmd("conf\naccess-list 10 seq 5 permit 10.0.1.0/24")
- r1.vtysh_cmd("conf\nroute-map sharp permit 10\nmatch ip address 10\nset src 192.168.214.1")
+ r1.vtysh_cmd(
+ "conf\nroute-map sharp permit 10\nmatch ip address 10\nset src 192.168.214.1"
+ )
r1.vtysh_cmd("conf\nroute-map sharp permit 20\nset src 192.168.213.1")
r1.vtysh_cmd("conf\nip protocol static route-map static")
r1.vtysh_cmd("conf\nip protocol sharp route-map sharp")
@@ -186,47 +191,57 @@ def test_route_map_usage():
static_rmapfile = "%s/r1/static_rmap.ref" % (thisDir)
expected = open(static_rmapfile).read().rstrip()
- expected = ('\n'.join(expected.splitlines()) + '\n').rstrip()
+ expected = ("\n".join(expected.splitlines()) + "\n").rstrip()
actual = r1.vtysh_cmd("show route-map static")
- actual = ('\n'.join(actual.splitlines()) + '\n').rstrip()
- logger.info("Does the show route-map static command run the correct number of times")
+ actual = ("\n".join(actual.splitlines()) + "\n").rstrip()
+ logger.info(
+ "Does the show route-map static command run the correct number of times"
+ )
- diff = topotest.get_textdiff(actual, expected,
- title1 = "Actual Route-map output",
- title2 = "Expected Route-map output")
+ diff = topotest.get_textdiff(
+ actual,
+ expected,
+ title1="Actual Route-map output",
+ title2="Expected Route-map output",
+ )
if diff:
logger.info("Actual:")
logger.info(actual)
logger.info("Expected:")
logger.info(expected)
srun = r1.vtysh_cmd("show run")
- srun = ('\n'.join(srun.splitlines()) + '\n').rstrip()
+ srun = ("\n".join(srun.splitlines()) + "\n").rstrip()
logger.info("Show run")
logger.info(srun)
assert 0, "r1 static route processing:\n"
sharp_rmapfile = "%s/r1/sharp_rmap.ref" % (thisDir)
expected = open(sharp_rmapfile).read().rstrip()
- expected = ('\n'.join(expected.splitlines()) + '\n').rstrip()
+ expected = ("\n".join(expected.splitlines()) + "\n").rstrip()
actual = r1.vtysh_cmd("show route-map sharp")
- actual = ('\n'.join(actual.splitlines()) + '\n').rstrip()
+ actual = ("\n".join(actual.splitlines()) + "\n").rstrip()
logger.info("Does the show route-map sharp command run the correct number of times")
- diff = topotest.get_textdiff(actual, expected,
- title1 = "Actual Route-map output",
- title2 = "Expected Route-map output")
+ diff = topotest.get_textdiff(
+ actual,
+ expected,
+ title1="Actual Route-map output",
+ title2="Expected Route-map output",
+ )
if diff:
logger.info("Actual:")
logger.info(actual)
logger.info("Expected:")
logger.info(expected)
srun = r1.vtysh_cmd("show run")
- srun = ('\n'.join(srun.splitlines()) + '\n').rstrip()
+ srun = ("\n".join(srun.splitlines()) + "\n").rstrip()
logger.info("Show run:")
logger.info(srun)
assert 0, "r1 sharp route-map processing:\n"
- logger.info("Add a extension to the static route-map to see the static route go away")
+ logger.info(
+ "Add a extension to the static route-map to see the static route go away"
+ )
r1.vtysh_cmd("conf\nroute-map sharp deny 5\nmatch ip address 5")
sleep(2)
# we are only checking the kernel here as that this will give us the implied
@@ -236,9 +251,9 @@ def test_route_map_usage():
logger.info("Test that the routes installed are correct")
sharp_ipfile = "%s/r1/iproute.ref" % (thisDir)
expected = open(sharp_ipfile).read().rstrip()
- expected = ('\n'.join(expected.splitlines()) + '\n').rstrip()
+ expected = ("\n".join(expected.splitlines()) + "\n").rstrip()
actual = r1.run("ip route show")
- actual = ('\n'.join(actual.splitlines()) + '\n').rstrip()
+ actual = ("\n".join(actual.splitlines()) + "\n").rstrip()
actual = re.sub(r" nhid [0-9][0-9]", "", actual)
actual = re.sub(r" proto sharp", " proto XXXX", actual)
actual = re.sub(r" proto static", " proto XXXX", actual)
@@ -250,9 +265,9 @@ def test_route_map_usage():
actual = re.sub(r" proto XXXX ", " proto XXXX ", actual)
actual = re.sub(r" metric", " metric", actual)
actual = re.sub(r" link ", " link ", actual)
- diff = topotest.get_textdiff(actual, expected,
- title1 = "Actual ip route show",
- title2 = "Expected ip route show")
+ diff = topotest.get_textdiff(
+ actual, expected, title1="Actual ip route show", title2="Expected ip route show"
+ )
if diff:
logger.info("Actual:")
@@ -260,11 +275,12 @@ def test_route_map_usage():
logger.info("Expected:")
logger.info(expected)
srun = r1.vtysh_cmd("show run")
- srun = ('\n'.join(srun.splitlines()) + '\n').rstrip()
+ srun = ("\n".join(srun.splitlines()) + "\n").rstrip()
logger.info("Show run:")
logger.info(srun)
assert 0, "r1 ip route show is not correct:"
+
def test_memory_leak():
"Run the memory leak test and report results."
tgen = get_topogen()