Tests: Refactor tearDown show command logging, add lifecycle markers.
[vpp.git] / test / test_classifier_ip6.py
index f6d12c7..ea6adcb 100644 (file)
@@ -26,6 +26,10 @@ class TestClassifier(VppTestCase):
         super(TestClassifier, cls).setUpClass()
         cls.acl_active_table = ''
 
+    @classmethod
+    def tearDownClass(cls):
+        super(TestClassifier, cls).tearDownClass()
+
     def setUp(self):
         """
         Perform test setup before test case.
@@ -69,10 +73,6 @@ class TestClassifier(VppTestCase):
     def tearDown(self):
         """Run standard test teardown and acl related log."""
         if not self.vpp_dead:
-            self.logger.info(self.vapi.ppcli("show inacl type ip6"))
-            self.logger.info(self.vapi.ppcli("show outacl type ip6"))
-            self.logger.info(self.vapi.cli("show classify table verbose"))
-            self.logger.info(self.vapi.cli("show ip fib"))
             if self.acl_active_table == 'ip6_out':
                 self.output_acl_set_interface(
                     self.pg0, self.acl_tbl_idx.get(self.acl_active_table), 0)
@@ -87,6 +87,12 @@ class TestClassifier(VppTestCase):
 
         super(TestClassifier, self).tearDown()
 
+    def show_commands_at_teardown(self):
+        self.logger.info(self.vapi.ppcli("show inacl type ip6"))
+        self.logger.info(self.vapi.ppcli("show outacl type ip6"))
+        self.logger.info(self.vapi.cli("show classify table verbose"))
+        self.logger.info(self.vapi.cli("show ip fib"))
+
     def create_stream(self, src_if, dst_if, packet_sizes,
                       proto_l=UDP(sport=1234, dport=5678)):
         """Create input packet stream for defined interfaces.
@@ -126,7 +132,7 @@ class TestClassifier(VppTestCase):
             try:
                 ip6_received = packet[IPv6]
                 proto_received = packet[proto_l]
-                payload_info = self.payload_to_info(str(packet[Raw]))
+                payload_info = self.payload_to_info(packet[Raw])
                 packet_index = payload_info.index
                 self.assertEqual(payload_info.dst, dst_sw_if_index)
                 self.logger.debug(
@@ -168,7 +174,7 @@ class TestClassifier(VppTestCase):
         :param str dst_port: destination port number <0-ffff>
         """
 
-        return ('{:0>14}{:0>34}{:0>32}{:0>4}{:0>4}'.format(
+        return ('{!s:0>14}{!s:0>34}{!s:0>32}{!s:0>4}{!s:0>4}'.format(
             nh, src_ip, dst_ip, src_port, dst_port)).rstrip('0')
 
     @staticmethod
@@ -190,7 +196,7 @@ class TestClassifier(VppTestCase):
             dst_ip = binascii.hexlify(socket.inet_pton(
                 socket.AF_INET6, dst_ip))
 
-        return ('{:0>14}{:0>34}{:0>32}{:0>4}{:0>4}'.format(
+        return ('{!s:0>14}{!s:0>34}{!s:0>32}{!s:0>4}{!s:0>4}'.format(
             hex(nh)[2:], src_ip, dst_ip, hex(src_port)[2:],
             hex(dst_port)[2:])).rstrip('0')
 
@@ -203,8 +209,8 @@ class TestClassifier(VppTestCase):
         :param str ether_type: ethernet type <0-ffff>
         """
 
-        return ('{:0>12}{:0>12}{:0>4}'.format(dst_mac, src_mac,
-                                              ether_type)).rstrip('0')
+        return ('{!s:0>12}{!s:0>12}{!s:0>4}'.format(
+            dst_mac, src_mac, ether_type)).rstrip('0')
 
     @staticmethod
     def build_mac_match(dst_mac='', src_mac='', ether_type=''):
@@ -219,8 +225,8 @@ class TestClassifier(VppTestCase):
         if src_mac:
             src_mac = src_mac.replace(':', '')
 
-        return ('{:0>12}{:0>12}{:0>4}'.format(dst_mac, src_mac,
-                                              ether_type)).rstrip('0')
+        return ('{!s:0>12}{!s:0>12}{!s:0>4}'.format(
+            dst_mac, src_mac, ether_type)).rstrip('0')
 
     def create_classify_table(self, key, mask, data_offset=0):
         """Create Classify Table
@@ -288,6 +294,14 @@ class TestClassifier(VppTestCase):
 class TestClassifierIP6(TestClassifier):
     """ Classifier IP6 Test Case """
 
+    @classmethod
+    def setUpClass(cls):
+        super(TestClassifierIP6, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestClassifierIP6, cls).tearDownClass()
+
     def test_iacl_src_ip(self):
         """ Source IP6 iACL test
 
@@ -389,6 +403,14 @@ class TestClassifierIP6(TestClassifier):
 class TestClassifierIP6UDP(TestClassifier):
     """ Classifier IP6 UDP proto Test Case """
 
+    @classmethod
+    def setUpClass(cls):
+        super(TestClassifierIP6UDP, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestClassifierIP6UDP, cls).tearDownClass()
+
     def test_iacl_proto_udp(self):
         """ IP6 UDP protocol iACL test
 
@@ -524,6 +546,14 @@ class TestClassifierIP6UDP(TestClassifier):
 class TestClassifierIP6TCP(TestClassifier):
     """ Classifier IP6 TCP proto Test Case """
 
+    @classmethod
+    def setUpClass(cls):
+        super(TestClassifierIP6TCP, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestClassifierIP6TCP, cls).tearDownClass()
+
     def test_iacl_proto_tcp(self):
         """ IP6 TCP protocol iACL test
 
@@ -661,6 +691,14 @@ class TestClassifierIP6TCP(TestClassifier):
 class TestClassifierIP6Out(TestClassifier):
     """ Classifier output IP6 Test Case """
 
+    @classmethod
+    def setUpClass(cls):
+        super(TestClassifierIP6Out, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestClassifierIP6Out, cls).tearDownClass()
+
     def test_acl_ip_out(self):
         """ Output IP6 ACL test
 
@@ -698,6 +736,14 @@ class TestClassifierIP6Out(TestClassifier):
 class TestClassifierIP6MAC(TestClassifier):
     """ Classifier IP6 MAC Test Case """
 
+    @classmethod
+    def setUpClass(cls):
+        super(TestClassifierIP6MAC, cls).setUpClass()
+
+    @classmethod
+    def tearDownClass(cls):
+        super(TestClassifierIP6MAC, cls).tearDownClass()
+
     def test_acl_mac(self):
         """ IP6 MAC iACL test