]> git.proxmox.com Git - mirror_frr.git/commitdiff
tests: update simple_snmp_test to check for memory leaks, router failure
authorKaren Schoener <karen@voltanet.io>
Fri, 22 Jan 2021 15:51:36 +0000 (10:51 -0500)
committerKaren Schoener <karen@voltanet.io>
Mon, 25 Jan 2021 15:01:24 +0000 (10:01 -0500)
Signed-off-by: Karen Schoener <karen@voltanet.io>
tests/topotests/lib/topotest.py
tests/topotests/simple-snmp-test/test_simple_snmp.py

index 3ab56630660f41b7f9de8810bdc6e958f43db083..1e6ef1b2b3ba4c2f451e4a2c99ae154a86cae8e6 100644 (file)
@@ -1625,6 +1625,8 @@ class Router(Node):
             return "%s: vtysh killed by AddressSanitizer" % (self.name)
 
         for daemon in self.daemons:
+            if daemon == "snmpd":
+                continue
             if (self.daemons[daemon] == 1) and not (daemon in daemonsRunning):
                 sys.stderr.write("%s: Daemon %s not running\n" % (self.name, daemon))
                 if daemon == "staticd":
index 1e56252ea37b0e97a330d22c355aa14e3bf4882c..88ff01bf0af09fb6478d61831d45f8fd6a877fc7 100755 (executable)
@@ -125,6 +125,10 @@ def test_r1_bgp_version():
     "Wait for protocol convergence"
     tgen = get_topogen()
 
+    # Skip if previous fatal error condition is raised
+    if tgen.routers_have_failure():
+        pytest.skip(tgen.errors)
+
     # tgen.mininet_cli()
     r1 = tgen.net.get("r1")
     r1_snmp = SnmpTester(r1, "1.1.1.1", "public", "2c")
@@ -134,6 +138,15 @@ def test_r1_bgp_version():
     assert r1_snmp.test_oid_walk("bgpVersion", ["10"], ["0"])
 
 
+def test_memory_leak():
+    "Run the memory leak test and report results."
+    tgen = get_topogen()
+    if not tgen.is_memleak_enabled():
+        pytest.skip("Memory leak test/report is disabled")
+
+    tgen.report_memory_leaks()
+
+
 if __name__ == "__main__":
     args = ["-s"] + sys.argv[1:]
     sys.exit(pytest.main(args))