Tests: Refactor tearDown show command logging, add lifecycle markers.
[vpp.git] / test / test_vtr.py
index 02df2ce..a224909 100644 (file)
@@ -9,8 +9,7 @@ from scapy.layers.inet import IP, UDP
 
 from util import Host
 from framework import VppTestCase, VppTestRunner
-from vpp_sub_interface import VppDot1QSubint, VppDot1ADSubint
-from vpp_papi_provider import L2_VTR_OP
+from vpp_sub_interface import L2_VTR_OP, VppDot1QSubint, VppDot1ADSubint
 from collections import namedtuple
 
 Tag = namedtuple('Tag', ['dot1', 'vlan'])
@@ -49,7 +48,7 @@ class TestVtr(VppTestCase):
             for pg_if in cls.pg_interfaces:
                 sw_if_index = pg_if.sub_if.sw_if_index \
                     if hasattr(pg_if, 'sub_if') else pg_if.sw_if_index
-                cls.vapi.sw_interface_set_l2_bridge(sw_if_index,
+                cls.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=sw_if_index,
                                                     bd_id=cls.bd_id)
 
             # setup all interfaces
@@ -68,6 +67,10 @@ class TestVtr(VppTestCase):
             super(TestVtr, cls).tearDownClass()
             raise
 
+    @classmethod
+    def tearDownClass(cls):
+        super(TestVtr, cls).tearDownClass()
+
     def setUp(self):
         """
         Clear trace and packet infos before running each test.
@@ -80,10 +83,11 @@ class TestVtr(VppTestCase):
         Show various debug prints after each test.
         """
         super(TestVtr, self).tearDown()
-        if not self.vpp_dead:
-            self.logger.info(self.vapi.ppcli("show l2fib verbose"))
-            self.logger.info(self.vapi.ppcli("show bridge-domain %s detail" %
-                                             self.bd_id))
+
+    def show_commands_at_teardown(self):
+        self.logger.info(self.vapi.ppcli("show l2fib verbose"))
+        self.logger.info(self.vapi.ppcli("show bridge-domain %s detail" %
+                                         self.bd_id))
 
     @classmethod
     def create_hosts_and_learn(cls, count):
@@ -168,8 +172,8 @@ class TestVtr(VppTestCase):
             return
 
         i = VppDot1QSubint(self, self.pg0, tags[0].vlan)
-        self.vapi.sw_interface_set_l2_bridge(
-            i.sw_if_index, bd_id=self.bd_id, enable=1)
+        self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index,
+                                             bd_id=self.bd_id, enable=1)
         i.admin_up()
 
         p = self.create_packet(self.pg0, swif, do_dot1=False)
@@ -181,8 +185,8 @@ class TestVtr(VppTestCase):
         swif.sub_if.remove_dot1_layer(rx[0])
         self.assertTrue(Dot1Q not in rx[0])
 
-        self.vapi.sw_interface_set_l2_bridge(
-            i.sw_if_index, bd_id=self.bd_id, enable=0)
+        self.vapi.sw_interface_set_l2_bridge(rx_sw_if_index=i.sw_if_index,
+                                             bd_id=self.bd_id, enable=0)
         i.remove_vpp_config()
 
     def test_1ad_vtr_pop_1(self):