]> git.proxmox.com Git - mirror_frr.git/blobdiff - tests/topotests/ldp_sync_isis_topo1/test_ldp_sync_isis_topo1.py
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / tests / topotests / ldp_sync_isis_topo1 / test_ldp_sync_isis_topo1.py
index 44b34c485f75385faa08b9c80ddd4af0802ec889..cb6b784d6d3625180f34ec48efdcab9239741a7b 100644 (file)
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: ISC
 
 #
 # test_ldp_isis_topo1.py
@@ -6,20 +7,6 @@
 #
 # Copyright (c) 2020 by Volta Networks
 #
-# Permission to use, copy, modify, and/or distribute this software
-# for any purpose with or without fee is hereby granted, provided
-# that the above copyright notice and this permission notice appear
-# in all copies.
-#
-# THE SOFTWARE IS PROVIDED "AS IS" AND NETDEF DISCLAIMS ALL WARRANTIES
-# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL NETDEF BE LIABLE FOR
-# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
-# DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
-# WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
-# ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
-# OF THIS SOFTWARE.
-#
 
 """
 test_ldp_vpls_topo1.py:
@@ -64,7 +51,6 @@ import re
 import sys
 import pytest
 import json
-from time import sleep
 from functools import partial
 
 # Save the Current Working Directory to find configuration files.
@@ -78,55 +64,50 @@ from lib.topogen import Topogen, TopoRouter, get_topogen
 from lib.topolog import logger
 
 # Required to instantiate the topology builder class.
-from mininet.topo import Topo
 
 pytestmark = [pytest.mark.isisd, pytest.mark.ldpd]
 
 
-class TemplateTopo(Topo):
-    "Test topology builder"
-
-    def build(self, *_args, **_opts):
-        "Build function"
-        tgen = get_topogen(self)
+def build_topo(tgen):
+    "Build function"
 
-        #
-        # Define FRR Routers
-        #
-        for router in ["ce1", "ce2", "ce3", "r1", "r2", "r3"]:
-            tgen.add_router(router)
+    #
+    # Define FRR Routers
+    #
+    for router in ["ce1", "ce2", "ce3", "r1", "r2", "r3"]:
+        tgen.add_router(router)
 
-        #
-        # Define connections
-        #
-        switch = tgen.add_switch("s1")
-        switch.add_link(tgen.gears["ce1"])
-        switch.add_link(tgen.gears["r1"])
+    #
+    # Define connections
+    #
+    switch = tgen.add_switch("s1")
+    switch.add_link(tgen.gears["ce1"])
+    switch.add_link(tgen.gears["r1"])
 
-        switch = tgen.add_switch("s2")
-        switch.add_link(tgen.gears["ce2"])
-        switch.add_link(tgen.gears["r2"])
+    switch = tgen.add_switch("s2")
+    switch.add_link(tgen.gears["ce2"])
+    switch.add_link(tgen.gears["r2"])
 
-        switch = tgen.add_switch("s3")
-        switch.add_link(tgen.gears["ce3"])
-        switch.add_link(tgen.gears["r3"])
+    switch = tgen.add_switch("s3")
+    switch.add_link(tgen.gears["ce3"])
+    switch.add_link(tgen.gears["r3"])
 
-        switch = tgen.add_switch("s4")
-        switch.add_link(tgen.gears["r1"])
-        switch.add_link(tgen.gears["r2"])
+    switch = tgen.add_switch("s4")
+    switch.add_link(tgen.gears["r1"])
+    switch.add_link(tgen.gears["r2"])
 
-        switch = tgen.add_switch("s5")
-        switch.add_link(tgen.gears["r1"])
-        switch.add_link(tgen.gears["r3"])
+    switch = tgen.add_switch("s5")
+    switch.add_link(tgen.gears["r1"])
+    switch.add_link(tgen.gears["r3"])
 
-        switch = tgen.add_switch("s6")
-        switch.add_link(tgen.gears["r2"])
-        switch.add_link(tgen.gears["r3"])
+    switch = tgen.add_switch("s6")
+    switch.add_link(tgen.gears["r2"])
+    switch.add_link(tgen.gears["r3"])
 
 
 def setup_module(mod):
     "Sets up the pytest environment"
-    tgen = Topogen(TemplateTopo, mod.__name__)
+    tgen = Topogen(build_topo, mod.__name__)
     tgen.start_topology()
 
     router_list = tgen.routers()
@@ -466,20 +447,20 @@ def parse_show_isis_ldp_sync(lines, rname):
             interface = {}
             interface_name = None
 
-            line = it.next()
+            line = next(it)
 
             if line.startswith(rname + "-eth"):
                 interface_name = line
 
-            line = it.next()
+            line = next(it)
 
             if line.startswith(" LDP-IGP Synchronization enabled: "):
                 interface["ldpIgpSyncEnabled"] = line.endswith("yes")
-                line = it.next()
+                line = next(it)
 
                 if line.startswith(" holddown timer in seconds: "):
                     interface["holdDownTimeInSec"] = int(line.split(": ")[-1])
-                    line = it.next()
+                    line = next(it)
 
                 if line.startswith(" State: "):
                     interface["ldpIgpSyncState"] = line.split(": ")[-1]
@@ -539,7 +520,7 @@ def parse_show_isis_interface_detail(lines, rname):
 
     while True:
         try:
-            line = it.next()
+            line = next(it)
 
             area_match = re.match(r"Area (.+):", line)
             if not area_match:
@@ -548,7 +529,7 @@ def parse_show_isis_interface_detail(lines, rname):
             area_id = area_match.group(1)
             area = {}
 
-            line = it.next()
+            line = next(it)
 
             while line.startswith(" Interface: "):
                 interface_name = re.split(":|,", line)[1].lstrip()
@@ -557,7 +538,7 @@ def parse_show_isis_interface_detail(lines, rname):
 
                 # Look for keyword: Level-1 or Level-2
                 while not line.startswith(" Level-"):
-                    line = it.next()
+                    line = next(it)
 
                 while line.startswith(" Level-"):
 
@@ -566,7 +547,7 @@ def parse_show_isis_interface_detail(lines, rname):
                     level_name = line.split()[0]
                     level["level"] = level_name
 
-                    line = it.next()
+                    line = next(it)
 
                     if line.startswith(" Metric:"):
                         level["metric"] = re.split(":|,", line)[1].lstrip()
@@ -577,7 +558,7 @@ def parse_show_isis_interface_detail(lines, rname):
                     while not line.startswith(" Level-") and not line.startswith(
                         " Interface: "
                     ):
-                        line = it.next()
+                        line = next(it)
 
                     if line.startswith(" Level-"):
                         continue