misc: address sanitizer: do not instrument dlmalloc internals
[vpp.git] / test / test_l2bd_multi_instance.py
index 0bb9e59..cb00a4e 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 """L2BD Multi-instance Test Case HLD:
 
 **NOTES:**
@@ -69,7 +69,7 @@ from scapy.packet import Raw
 from scapy.layers.l2 import Ether
 from scapy.layers.inet import IP, UDP
 
-from framework import VppTestCase, VppTestRunner
+from framework import VppTestCase, VppTestRunner, running_extended_tests
 from util import Host, ppp
 
 
@@ -128,6 +128,10 @@ class TestL2bdMultiInst(VppTestCase):
             super(TestL2bdMultiInst, cls).tearDownClass()
             raise
 
+    @classmethod
+    def tearDownClass(cls):
+        super(TestL2bdMultiInst, cls).tearDownClass()
+
     def setUp(self):
         """
         Clear trace and packet infos before running each test.
@@ -187,8 +191,8 @@ class TestL2bdMultiInst(VppTestCase):
                 self.bd_deleted_list.remove(b)
             for j in self.bd_if_range(b):
                 pg_if = self.pg_interfaces[j]
-                self.vapi.sw_interface_set_l2_bridge(pg_if.sw_if_index,
-                                                     bd_id=b)
+                self.vapi.sw_interface_set_l2_bridge(
+                    rx_sw_if_index=pg_if.sw_if_index, bd_id=b)
                 self.logger.info("pg-interface %s added to bridge domain ID %d"
                                  % (pg_if.name, b))
                 self.pg_in_bd.append(pg_if)
@@ -212,8 +216,8 @@ class TestL2bdMultiInst(VppTestCase):
         for b in range(start, start + count):
             for j in self.bd_if_range(b):
                 pg_if = self.pg_interfaces[j]
-                self.vapi.sw_interface_set_l2_bridge(pg_if.sw_if_index,
-                                                     bd_id=b, enable=0)
+                self.vapi.sw_interface_set_l2_bridge(
+                    rx_sw_if_index=pg_if.sw_if_index, bd_id=b, enable=0)
                 self.pg_in_bd.remove(pg_if)
             self.vapi.bridge_domain_add_del(bd_id=b, is_add=0)
             self.bd_list.remove(b)
@@ -263,7 +267,7 @@ class TestL2bdMultiInst(VppTestCase):
             try:
                 ip = packet[IP]
                 udp = packet[UDP]
-                info = self.payload_to_info(str(packet[Raw]))
+                info = self.payload_to_info(packet[Raw])
                 self.assertEqual(info.dst, dst)
                 self.logger.debug("Got packet on port %s: src=%u (id=%u)" %
                                   (dst_if.name, info.src, info.index))
@@ -316,7 +320,8 @@ class TestL2bdMultiInst(VppTestCase):
             else:
                 raise ValueError("Unknown feature used: %s" % flag)
             is_set = 1 if args[flag] else 0
-            self.vapi.bridge_flags(bd_id, is_set, feature_bitmap)
+            self.vapi.bridge_flags(bd_id=bd_id, is_set=is_set,
+                                   flags=feature_bitmap)
         self.logger.info("Bridge domain ID %d updated" % bd_id)
 
     def verify_bd(self, bd_id, **args):
@@ -403,7 +408,33 @@ class TestL2bdMultiInst(VppTestCase):
         self.run_verify_test()
 
     def test_l2bd_inst_02(self):
-        """ L2BD Multi-instance test 2 - delete 2 BDs
+        """ L2BD Multi-instance test 2 - update data of 5 BDs
+        """
+        # Config 2
+        # Update data of 5 BDs (disable learn, forward, flood, uu-flood)
+        self.set_bd_flags(self.bd_list[0], learn=False, forward=False,
+                          flood=False, uu_flood=False)
+        self.set_bd_flags(self.bd_list[1], forward=False)
+        self.set_bd_flags(self.bd_list[2], flood=False)
+        self.set_bd_flags(self.bd_list[3], uu_flood=False)
+        self.set_bd_flags(self.bd_list[4], learn=False)
+
+        # Verify 2
+        # Skipping check of uu_flood as it is not returned by
+        # bridge_domain_dump api command
+        self.verify_bd(self.bd_list[0], learn=False, forward=False,
+                       flood=False, uu_flood=False)
+        self.verify_bd(self.bd_list[1], learn=True, forward=False,
+                       flood=True, uu_flood=True)
+        self.verify_bd(self.bd_list[2], learn=True, forward=True,
+                       flood=False, uu_flood=True)
+        self.verify_bd(self.bd_list[3], learn=True, forward=True,
+                       flood=True, uu_flood=False)
+        self.verify_bd(self.bd_list[4], learn=False, forward=True,
+                       flood=True, uu_flood=True)
+
+    def test_l2bd_inst_03(self):
+        """ L2BD Multi-instance test 3 - delete 2 BDs
         """
         # Config 3
         # Delete 2 BDs
@@ -418,8 +449,8 @@ class TestL2bdMultiInst(VppTestCase):
         # Test 3
         self.run_verify_test()
 
-    def test_l2bd_inst_03(self):
-        """ L2BD Multi-instance test 3 - add 2 BDs
+    def test_l2bd_inst_04(self):
+        """ L2BD Multi-instance test 4 - add 2 BDs
         """
         # Config 4
         # Create 5 BDs, put interfaces to these BDs and send MAC learning
@@ -434,32 +465,7 @@ class TestL2bdMultiInst(VppTestCase):
         # self.vapi.cli("clear trace")
         self.run_verify_test()
 
-    def test_l2bd_inst_04(self):
-        """ L2BD Multi-instance test 4 - update data of 5 BDs
-        """
-        # Config 2
-        # Update data of 5 BDs (disable learn, forward, flood, uu-flood)
-        self.set_bd_flags(self.bd_list[0], learn=False, forward=False,
-                          flood=False, uu_flood=False)
-        self.set_bd_flags(self.bd_list[1], forward=False)
-        self.set_bd_flags(self.bd_list[2], flood=False)
-        self.set_bd_flags(self.bd_list[3], uu_flood=False)
-        self.set_bd_flags(self.bd_list[4], learn=False)
-
-        # Verify 2
-        # Skipping check of uu_flood as it is not returned by
-        # bridge_domain_dump api command
-        self.verify_bd(self.bd_list[0], learn=False, forward=False,
-                       flood=False, uu_flood=False)
-        self.verify_bd(self.bd_list[1], learn=True, forward=False,
-                       flood=True, uu_flood=True)
-        self.verify_bd(self.bd_list[2], learn=True, forward=True,
-                       flood=False, uu_flood=True)
-        self.verify_bd(self.bd_list[3], learn=True, forward=True,
-                       flood=True, uu_flood=False)
-        self.verify_bd(self.bd_list[4], learn=False, forward=True,
-                       flood=True, uu_flood=True)
-
+    @unittest.skipUnless(running_extended_tests, "part of extended tests")
     def test_l2bd_inst_05(self):
         """ L2BD Multi-instance test 5 - delete 5 BDs
         """