]> git.proxmox.com Git - mirror_frr.git/blobdiff - tests/topotests/bgp_prefix_sid/test_bgp_prefix_sid.py
Merge pull request #12798 from donaldsharp/rib_match_multicast
[mirror_frr.git] / tests / topotests / bgp_prefix_sid / test_bgp_prefix_sid.py
index fffe135b77dc6bb3b16012ebb4340bfd6505510c..bfc083b5064036fe9b180132d1c25021f8c73bc3 100644 (file)
@@ -1,4 +1,5 @@
 #!/usr/bin/env python
+# SPDX-License-Identifier: ISC
 
 #
 # test_bgp_prefix_sid.py
@@ -7,20 +8,6 @@
 # Copyright (c) 2020 by LINE Corporation
 # Copyright (c) 2020 by Hiroki Shirokura <slank.dev@gmail.com>
 #
-# 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_bgp_prefix_sid.py: Test BGP topology with EBGP on prefix-sid
@@ -39,31 +26,24 @@ sys.path.append(os.path.join(CWD, "../"))
 from lib import topotest
 from lib.topogen import Topogen, TopoRouter, get_topogen
 from lib.topolog import logger
-from mininet.topo import Topo
 
 pytestmark = [pytest.mark.bgpd]
 
 
-class TemplateTopo(Topo):
-    def build(self, **_opts):
-        tgen = get_topogen(self)
-        router = tgen.add_router("r1")
-        switch = tgen.add_switch("s1")
-        switch.add_link(router)
+def build_topo(tgen):
+    router = tgen.add_router("r1")
+    switch = tgen.add_switch("s1")
+    switch.add_link(router)
 
-        switch = tgen.gears["s1"]
-        peer1 = tgen.add_exabgp_peer(
-            "peer1", ip="10.0.0.101", defaultRoute="via 10.0.0.1"
-        )
-        peer2 = tgen.add_exabgp_peer(
-            "peer2", ip="10.0.0.102", defaultRoute="via 10.0.0.1"
-        )
-        switch.add_link(peer1)
-        switch.add_link(peer2)
+    switch = tgen.gears["s1"]
+    peer1 = tgen.add_exabgp_peer("peer1", ip="10.0.0.101", defaultRoute="via 10.0.0.1")
+    peer2 = tgen.add_exabgp_peer("peer2", ip="10.0.0.102", defaultRoute="via 10.0.0.1")
+    switch.add_link(peer1)
+    switch.add_link(peer2)
 
 
 def setup_module(module):
-    tgen = Topogen(TemplateTopo, module.__name__)
+    tgen = Topogen(build_topo, module.__name__)
     tgen.start_topology()
 
     router = tgen.gears["r1"]
@@ -122,7 +102,7 @@ def test_r1_receive_and_advertise_prefix_sid_type1():
 
 
 def exabgp_get_update_prefix(filename, afi, nexthop, prefix):
-    with open("/tmp/peer2-received.log") as f:
+    with open(filename) as f:
         for line in f.readlines():
             output = json.loads(line)
             ret = output.get("neighbor")
@@ -153,10 +133,11 @@ def exabgp_get_update_prefix(filename, afi, nexthop, prefix):
 def test_peer2_receive_prefix_sid_type1():
     tgen = get_topogen()
     peer2 = tgen.gears["peer2"]
+    logfile = "{}/{}-received.log".format(peer2.gearlogdir, peer2.name)
 
     def _check_type1_peer2(prefix, labelindex):
         output = exabgp_get_update_prefix(
-            "/tmp/peer2-received.log", "ipv4 nlri-mpls", "10.0.0.101", prefix
+            logfile, "ipv4 nlri-mpls", "10.0.0.101", prefix
         )
         expected = {
             "type": "update",