From 7f9b7f9f492d1748d8ba025b3a713058fdb1943d Mon Sep 17 00:00:00 2001 From: Paul Vinciguerra Date: Tue, 12 Mar 2019 19:23:27 -0700 Subject: [PATCH] Tests Cleanup: Fix missing calls to setUpClass/tearDownClass. Continuation/Part 2 of https://gerrit.fd.io/r/#/c/17092/ Change-Id: Id0122d84eaf2c05d29e5be63a594d5e528ee7c9a Signed-off-by: Paul Vinciguerra --- test/remote_test.py | 4 ++ test/template_ipsec.py | 11 ++++ test/test_abf.py | 8 +++ test/test_acl_plugin.py | 4 ++ test/test_acl_plugin_l2l3.py | 4 ++ test/test_acl_plugin_macip.py | 60 +++++++++++++++++++++ test/test_bihash.py | 4 ++ test/test_bond.py | 4 ++ test/test_classifier.py | 52 ++++++++++++++++++ test/test_classifier_ip6.py | 44 +++++++++++++++ test/test_classify_l2_acl.py | 4 ++ test/test_dhcp.py | 8 +++ test/test_dhcp6.py | 12 +++++ test/test_dvr.py | 8 +++ test/test_fib.py | 8 +++ test/test_gbp.py | 10 +++- test/test_gre.py | 4 ++ test/test_gtpu.py | 4 ++ test/test_igmp.py | 8 +++ test/test_interface_crud.py | 4 ++ test/test_ip4.py | 104 ++++++++++++++++++++++++++++++++++++ test/test_ip4_irb.py | 4 ++ test/test_ip4_vrf_multi_instance.py | 4 ++ test/test_ip6.py | 76 ++++++++++++++++++++++++++ test/test_ip6_vrf_multi_instance.py | 4 ++ test/test_ip_mcast.py | 16 ++++++ test/test_ipip.py | 8 +++ test/test_ipsec_ah.py | 8 +++ test/test_ipsec_api.py | 8 +++ test/test_ipsec_esp.py | 17 ++++++ test/test_ipsec_nat.py | 8 +++ test/test_ipsec_tun_if_esp.py | 8 +++ test/test_l2_fib.py | 4 ++ test/test_l2_flood.py | 8 +++ test/test_l2bd.py | 4 ++ test/test_l2bd_arp_term.py | 4 ++ test/test_l2bd_multi_instance.py | 4 ++ test/test_l2xc.py | 4 ++ test/test_l2xc_multi_instance.py | 4 ++ test/test_lb.py | 4 ++ test/test_lisp.py | 4 ++ test/test_map.py | 8 +++ test/test_mpls.py | 32 +++++++++++ test/test_mtu.py | 4 ++ test/test_nat.py | 32 +++++++++++ test/test_neighbor.py | 16 ++++++ test/test_p2p_ethernet.py | 12 +++++ test/test_ping.py | 4 ++ test/test_pipe.py | 8 +++ test/test_pppoe.py | 4 ++ test/test_qos.py | 8 +++ test/test_reassembly.py | 16 ++++++ test/test_sctp.py | 4 ++ test/test_session.py | 12 +++++ test/test_sixrd.py | 4 ++ test/test_srmpls.py | 8 +++ test/test_srv6.py | 8 ++- test/test_srv6_ad.py | 4 ++ test/test_srv6_as.py | 4 ++ test/test_string.py | 4 ++ test/test_svs.py | 8 +++ test/test_syslog.py | 4 ++ test/test_tcp.py | 12 +++++ test/test_udp.py | 12 +++++ test/test_vhost.py | 7 +++ test/test_vtr.py | 4 ++ test/test_vxlan.py | 4 ++ test/test_vxlan_gbp.py | 4 ++ 68 files changed, 814 insertions(+), 3 deletions(-) diff --git a/test/remote_test.py b/test/remote_test.py index 0a6c3208ca8..21913b6c959 100644 --- a/test/remote_test.py +++ b/test/remote_test.py @@ -401,6 +401,10 @@ class RemoteVppTestCase(VppTestCase): super(RemoteVppTestCase, cls).setUpClass() os.environ = orig_env + @classmethod + def tearDownClass(cls): + super(RemoteVppTestCase, cls).tearDownClass() + @unittest.skip("Empty test") def emptyTest(self): """ Do nothing """ diff --git a/test/template_ipsec.py b/test/template_ipsec.py index 36e8da6635c..e6f1d248824 100644 --- a/test/template_ipsec.py +++ b/test/template_ipsec.py @@ -151,6 +151,17 @@ class TemplateIpsec(VppTestCase): """ empty method to be overloaded when necessary """ pass + @classmethod + def setUpClass(cls): + super(TemplateIpsec, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TemplateIpsec, cls).tearDownClass() + + def setUp(self): + super(TemplateIpsec, self).setUp() + def setup_params(self): self.ipv4_params = IPsecIPv4Params() self.ipv6_params = IPsecIPv6Params() diff --git a/test/test_abf.py b/test/test_abf.py index e2f97452642..1de36c92221 100644 --- a/test/test_abf.py +++ b/test/test_abf.py @@ -135,6 +135,14 @@ class VppAbfAttach(VppObject): class TestAbf(VppTestCase): """ ABF Test Case """ + @classmethod + def setUpClass(cls): + super(TestAbf, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestAbf, cls).tearDownClass() + def setUp(self): super(TestAbf, self).setUp() diff --git a/test/test_acl_plugin.py b/test/test_acl_plugin.py index 38c8d2c5580..772b5bbb415 100644 --- a/test/test_acl_plugin.py +++ b/test/test_acl_plugin.py @@ -144,6 +144,10 @@ class TestACLplugin(VppTestCase): super(TestACLplugin, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestACLplugin, cls).tearDownClass() + def setUp(self): super(TestACLplugin, self).setUp() self.reset_packet_infos() diff --git a/test/test_acl_plugin_l2l3.py b/test/test_acl_plugin_l2l3.py index 0c846e7329c..7f54b0594b2 100644 --- a/test/test_acl_plugin_l2l3.py +++ b/test/test_acl_plugin_l2l3.py @@ -104,6 +104,10 @@ class TestACLpluginL2L3(VppTestCase): cls.pg0.remote_hosts = cls.loop0.remote_hosts[:half] cls.pg1.remote_hosts = cls.loop0.remote_hosts[half:] + @classmethod + def tearDownClass(cls): + super(TestACLpluginL2L3, cls).tearDownClass() + def tearDown(self): """Run standard test teardown and log ``show l2patch``, ``show l2fib verbose``,``show bridge-domain detail``, diff --git a/test/test_acl_plugin_macip.py b/test/test_acl_plugin_macip.py index 22914625297..fe34cd06312 100644 --- a/test/test_acl_plugin_macip.py +++ b/test/test_acl_plugin_macip.py @@ -151,6 +151,10 @@ class MethodHolder(VppTestCase): super(MethodHolder, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(MethodHolder, cls).tearDownClass() + def setUp(self): super(MethodHolder, self).setUp() self.reset_packet_infos() @@ -708,6 +712,14 @@ class MethodHolder(VppTestCase): class TestMACIP_IP4(MethodHolder): """MACIP with IP4 traffic""" + @classmethod + def setUpClass(cls): + super(TestMACIP_IP4, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMACIP_IP4, cls).tearDownClass() + def test_acl_bridged_ip4_exactMAC_exactIP(self): """ IP4 MACIP exactMAC|exactIP ACL bridged traffic """ @@ -842,6 +854,14 @@ class TestMACIP_IP4(MethodHolder): class TestMACIP_IP6(MethodHolder): """MACIP with IP6 traffic""" + @classmethod + def setUpClass(cls): + super(TestMACIP_IP6, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMACIP_IP6, cls).tearDownClass() + def test_acl_bridged_ip6_exactMAC_exactIP(self): """ IP6 MACIP exactMAC|exactIP ACL bridged traffic """ @@ -980,6 +1000,14 @@ class TestMACIP_IP6(MethodHolder): class TestMACIP(MethodHolder): """MACIP Tests""" + @classmethod + def setUpClass(cls): + super(TestMACIP, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMACIP, cls).tearDownClass() + def test_acl_1_2(self): """ MACIP ACL with 2 entries """ @@ -1156,6 +1184,14 @@ class TestMACIP(MethodHolder): class TestACL_dot1q_bridged(MethodHolder): """ACL on dot1q bridged subinterfaces Tests""" + @classmethod + def setUpClass(cls): + super(TestACL_dot1q_bridged, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestACL_dot1q_bridged, cls).tearDownClass() + def test_acl_bridged_ip4_subif_dot1q(self): """ IP4 ACL SubIf Dot1Q bridged traffic""" self.run_traffic(self.EXACT_MAC, self.EXACT_IP, self.BRIDGED, @@ -1170,6 +1206,14 @@ class TestACL_dot1q_bridged(MethodHolder): class TestACL_dot1ad_bridged(MethodHolder): """ACL on dot1ad bridged subinterfaces Tests""" + @classmethod + def setUpClass(cls): + super(TestACL_dot1ad_bridged, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestACL_dot1ad_bridged, cls).tearDownClass() + def test_acl_bridged_ip4_subif_dot1ad(self): """ IP4 ACL SubIf Dot1AD bridged traffic""" self.run_traffic(self.EXACT_MAC, self.EXACT_IP, self.BRIDGED, @@ -1184,6 +1228,14 @@ class TestACL_dot1ad_bridged(MethodHolder): class TestACL_dot1q_routed(MethodHolder): """ACL on dot1q routed subinterfaces Tests""" + @classmethod + def setUpClass(cls): + super(TestACL_dot1q_routed, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestACL_dot1q_routed, cls).tearDownClass() + def test_acl_routed_ip4_subif_dot1q(self): """ IP4 ACL SubIf Dot1Q routed traffic""" self.run_traffic(self.EXACT_MAC, self.EXACT_IP, self.ROUTED, @@ -1210,6 +1262,14 @@ class TestACL_dot1q_routed(MethodHolder): class TestACL_dot1ad_routed(MethodHolder): """ACL on dot1ad routed subinterfaces Tests""" + @classmethod + def setUpClass(cls): + super(TestACL_dot1ad_routed, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestACL_dot1ad_routed, cls).tearDownClass() + def test_acl_routed_ip6_subif_dot1ad(self): """ IP6 ACL SubIf Dot1AD routed traffic""" self.run_traffic(self.EXACT_MAC, self.EXACT_IP, self.ROUTED, diff --git a/test/test_bihash.py b/test/test_bihash.py index 6ccf6c25123..e2256042e60 100644 --- a/test/test_bihash.py +++ b/test/test_bihash.py @@ -13,6 +13,10 @@ class TestBihash(VppTestCase): def setUpClass(cls): super(TestBihash, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestBihash, cls).tearDownClass() + def setUp(self): super(TestBihash, self).setUp() diff --git a/test/test_bond.py b/test/test_bond.py index 533038e658a..a888993584b 100644 --- a/test/test_bond.py +++ b/test/test_bond.py @@ -31,6 +31,10 @@ class TestBondInterface(VppTestCase): for i in cls.pg_interfaces: i.admin_up() + @classmethod + def tearDownClass(cls): + super(TestBondInterface, cls).tearDownClass() + def setUp(self): super(TestBondInterface, self).setUp() diff --git a/test/test_classifier.py b/test/test_classifier.py index 5585ac02da4..51449016ffb 100644 --- a/test/test_classifier.py +++ b/test/test_classifier.py @@ -25,6 +25,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. @@ -323,6 +327,14 @@ class TestClassifier(VppTestCase): class TestClassifierIP(TestClassifier): """ Classifier IP Test Case """ + @classmethod + def setUpClass(cls): + super(TestClassifierIP, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestClassifierIP, cls).tearDownClass() + def test_iacl_src_ip(self): """ Source IP iACL test @@ -419,6 +431,14 @@ class TestClassifierIP(TestClassifier): class TestClassifierUDP(TestClassifier): """ Classifier UDP proto Test Case """ + @classmethod + def setUpClass(cls): + super(TestClassifierUDP, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestClassifierUDP, cls).tearDownClass() + def test_iacl_proto_udp(self): """ UDP protocol iACL test @@ -559,6 +579,14 @@ class TestClassifierUDP(TestClassifier): class TestClassifierTCP(TestClassifier): """ Classifier TCP proto Test Case """ + @classmethod + def setUpClass(cls): + super(TestClassifierTCP, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestClassifierTCP, cls).tearDownClass() + def test_iacl_proto_tcp(self): """ TCP protocol iACL test @@ -700,6 +728,14 @@ class TestClassifierTCP(TestClassifier): class TestClassifierIPOut(TestClassifier): """ Classifier output IP Test Case """ + @classmethod + def setUpClass(cls): + super(TestClassifierIPOut, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestClassifierIPOut, cls).tearDownClass() + def test_acl_ip_out(self): """ Output IP ACL test @@ -735,6 +771,14 @@ class TestClassifierIPOut(TestClassifier): class TestClassifierMAC(TestClassifier): """ Classifier MAC Test Case """ + @classmethod + def setUpClass(cls): + super(TestClassifierMAC, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestClassifierMAC, cls).tearDownClass() + def test_acl_mac(self): """ MAC ACL test @@ -770,6 +814,14 @@ class TestClassifierMAC(TestClassifier): class TestClassifierPBR(TestClassifier): """ Classifier PBR Test Case """ + @classmethod + def setUpClass(cls): + super(TestClassifierPBR, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestClassifierPBR, cls).tearDownClass() + def test_acl_pbr(self): """ IP PBR test diff --git a/test/test_classifier_ip6.py b/test/test_classifier_ip6.py index 2b9b142afb2..6725f6123e5 100644 --- a/test/test_classifier_ip6.py +++ b/test/test_classifier_ip6.py @@ -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. @@ -288,6 +292,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 +401,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 +544,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 +689,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 +734,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 diff --git a/test/test_classify_l2_acl.py b/test/test_classify_l2_acl.py index fddaa0f07a4..fb9e03ba3d4 100644 --- a/test/test_classify_l2_acl.py +++ b/test/test_classify_l2_acl.py @@ -132,6 +132,10 @@ class TestClassifyAcl(VppTestCase): super(TestClassifyAcl, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestClassifyAcl, cls).tearDownClass() + def setUp(self): super(TestClassifyAcl, self).setUp() diff --git a/test/test_dhcp.py b/test/test_dhcp.py index 62db66282b6..bdc5df7a267 100644 --- a/test/test_dhcp.py +++ b/test/test_dhcp.py @@ -31,6 +31,14 @@ DHCP6_SERVER_PORT = 546 class TestDHCP(VppTestCase): """ DHCP Test Case """ + @classmethod + def setUpClass(cls): + super(TestDHCP, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestDHCP, cls).tearDownClass() + def setUp(self): super(TestDHCP, self).setUp() diff --git a/test/test_dhcp6.py b/test/test_dhcp6.py index dcf02fae4af..e017feebffe 100644 --- a/test/test_dhcp6.py +++ b/test/test_dhcp6.py @@ -24,6 +24,10 @@ class TestDHCPv6DataPlane(VppTestCase): def setUpClass(cls): super(TestDHCPv6DataPlane, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestDHCPv6DataPlane, cls).tearDownClass() + def setUp(self): super(TestDHCPv6DataPlane, self).setUp() @@ -205,6 +209,10 @@ class TestDHCPv6IANAControlPlane(VppTestCase): def setUpClass(cls): super(TestDHCPv6IANAControlPlane, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestDHCPv6IANAControlPlane, cls).tearDownClass() + def setUp(self): super(TestDHCPv6IANAControlPlane, self).setUp() @@ -452,6 +460,10 @@ class TestDHCPv6PDControlPlane(VppTestCase): def setUpClass(cls): super(TestDHCPv6PDControlPlane, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestDHCPv6PDControlPlane, cls).tearDownClass() + def setUp(self): super(TestDHCPv6PDControlPlane, self).setUp() diff --git a/test/test_dvr.py b/test/test_dvr.py index 9760f2f98a2..f6ce8e80720 100644 --- a/test/test_dvr.py +++ b/test/test_dvr.py @@ -15,6 +15,14 @@ from socket import AF_INET, inet_pton class TestDVR(VppTestCase): """ Distributed Virtual Router """ + @classmethod + def setUpClass(cls): + super(TestDVR, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestDVR, cls).tearDownClass() + def setUp(self): super(TestDVR, self).setUp() diff --git a/test/test_fib.py b/test/test_fib.py index 2f4d7265cf4..6acde0a6363 100644 --- a/test/test_fib.py +++ b/test/test_fib.py @@ -8,6 +8,14 @@ from framework import VppTestCase, VppTestRunner class TestFIB(VppTestCase): """ FIB Test Case """ + @classmethod + def setUpClass(cls): + super(TestFIB, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestFIB, cls).tearDownClass() + def test_fib(self): """ FIB Unit Tests """ error = self.vapi.cli("test fib") diff --git a/test/test_gbp.py b/test/test_gbp.py index df529c6c880..73acfdf5346 100644 --- a/test/test_gbp.py +++ b/test/test_gbp.py @@ -575,6 +575,14 @@ class VppGbpAcl(VppObject): class TestGBP(VppTestCase): """ GBP Test Case """ + @classmethod + def setUpClass(cls): + super(TestGBP, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestGBP, cls).tearDownClass() + def setUp(self): super(TestGBP, self).setUp() @@ -1563,7 +1571,7 @@ class TestGBP(VppTestCase): self.pg2.remote_hosts[0].ip4, 99)) - # epg is not learnt, because the EPG is unknwon + # epg is not learnt, because the EPG is unknown self.assertEqual(len(self.vapi.gbp_endpoint_dump()), 1) # diff --git a/test/test_gre.py b/test/test_gre.py index 85ef88fb25e..6b3c23f273a 100644 --- a/test/test_gre.py +++ b/test/test_gre.py @@ -30,6 +30,10 @@ class TestGRE(VppTestCase): def setUpClass(cls): super(TestGRE, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestGRE, cls).tearDownClass() + def setUp(self): super(TestGRE, self).setUp() diff --git a/test/test_gtpu.py b/test/test_gtpu.py index 26c292af868..0d764f55edb 100644 --- a/test/test_gtpu.py +++ b/test/test_gtpu.py @@ -278,6 +278,10 @@ class TestGtpu(BridgeDomain, VppTestCase): super(TestGtpu, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestGtpu, cls).tearDownClass() + # Method to define VPP actions before tear down of the test case. # Overrides tearDown method in VppTestCase class. # @param self The object pointer. diff --git a/test/test_igmp.py b/test/test_igmp.py index e94d29bb7c5..017382d3b5b 100644 --- a/test/test_igmp.py +++ b/test/test_igmp.py @@ -20,6 +20,14 @@ class IgmpMode: class TestIgmp(VppTestCase): """ IGMP Test Case """ + @classmethod + def setUpClass(cls): + super(TestIgmp, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIgmp, cls).tearDownClass() + def setUp(self): super(TestIgmp, self).setUp() diff --git a/test/test_interface_crud.py b/test/test_interface_crud.py index d78cb58be0b..e19f770c155 100644 --- a/test/test_interface_crud.py +++ b/test/test_interface_crud.py @@ -36,6 +36,10 @@ class TestLoopbackInterfaceCRUD(VppTestCase): cls.tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestLoopbackInterfaceCRUD, cls).tearDownClass() + @staticmethod def create_icmp_stream(src_if, dst_ifs): """ diff --git a/test/test_ip4.py b/test/test_ip4.py index 8a9841cb4f3..7ed6580315e 100644 --- a/test/test_ip4.py +++ b/test/test_ip4.py @@ -22,6 +22,14 @@ from vpp_sub_interface import VppSubInterface, VppDot1QSubint, VppDot1ADSubint class TestIPv4(VppTestCase): """ IPv4 Test Case """ + @classmethod + def setUpClass(cls): + super(TestIPv4, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPv4, cls).tearDownClass() + def setUp(self): """ Perform test setup before test case. @@ -229,6 +237,14 @@ class TestIPv4(VppTestCase): class TestICMPEcho(VppTestCase): """ ICMP Echo Test Case """ + @classmethod + def setUpClass(cls): + super(TestICMPEcho, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestICMPEcho, cls).tearDownClass() + def setUp(self): super(TestICMPEcho, self).setUp() @@ -442,6 +458,10 @@ class TestIPv4FibCrud(VppTestCase): super(TestIPv4FibCrud, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestIPv4FibCrud, cls).tearDownClass() + def setUp(self): super(TestIPv4FibCrud, self).setUp() self.reset_packet_infos() @@ -568,6 +588,14 @@ class TestIPv4FibCrud(VppTestCase): class TestIPNull(VppTestCase): """ IPv4 routes via NULL """ + @classmethod + def setUpClass(cls): + super(TestIPNull, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPNull, cls).tearDownClass() + def setUp(self): super(TestIPNull, self).setUp() @@ -674,6 +702,14 @@ class TestIPNull(VppTestCase): class TestIPDisabled(VppTestCase): """ IPv4 disabled """ + @classmethod + def setUpClass(cls): + super(TestIPDisabled, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPDisabled, cls).tearDownClass() + def setUp(self): super(TestIPDisabled, self).setUp() @@ -762,6 +798,14 @@ class TestIPDisabled(VppTestCase): class TestIPSubNets(VppTestCase): """ IPv4 Subnets """ + @classmethod + def setUpClass(cls): + super(TestIPSubNets, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPSubNets, cls).tearDownClass() + def setUp(self): super(TestIPSubNets, self).setUp() @@ -875,6 +919,14 @@ class TestIPSubNets(VppTestCase): class TestIPLoadBalance(VppTestCase): """ IPv4 Load-Balancing """ + @classmethod + def setUpClass(cls): + super(TestIPLoadBalance, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPLoadBalance, cls).tearDownClass() + def setUp(self): super(TestIPLoadBalance, self).setUp() @@ -1150,6 +1202,14 @@ class TestIPLoadBalance(VppTestCase): class TestIPVlan0(VppTestCase): """ IPv4 VLAN-0 """ + @classmethod + def setUpClass(cls): + super(TestIPVlan0, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPVlan0, cls).tearDownClass() + def setUp(self): super(TestIPVlan0, self).setUp() @@ -1191,6 +1251,14 @@ class TestIPVlan0(VppTestCase): class TestIPPunt(VppTestCase): """ IPv4 Punt Police/Redirect """ + @classmethod + def setUpClass(cls): + super(TestIPPunt, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPPunt, cls).tearDownClass() + def setUp(self): super(TestIPPunt, self).setUp() @@ -1317,6 +1385,14 @@ class TestIPPunt(VppTestCase): class TestIPDeag(VppTestCase): """ IPv4 Deaggregate Routes """ + @classmethod + def setUpClass(cls): + super(TestIPDeag, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPDeag, cls).tearDownClass() + def setUp(self): super(TestIPDeag, self).setUp() @@ -1426,6 +1502,14 @@ class TestIPDeag(VppTestCase): class TestIPInput(VppTestCase): """ IPv4 Input Exceptions """ + @classmethod + def setUpClass(cls): + super(TestIPInput, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPInput, cls).tearDownClass() + def setUp(self): super(TestIPInput, self).setUp() @@ -1591,6 +1675,14 @@ class TestIPInput(VppTestCase): class TestIPDirectedBroadcast(VppTestCase): """ IPv4 Directed Broadcast """ + @classmethod + def setUpClass(cls): + super(TestIPDirectedBroadcast, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPDirectedBroadcast, cls).tearDownClass() + def setUp(self): super(TestIPDirectedBroadcast, self).setUp() @@ -1659,6 +1751,14 @@ class TestIPDirectedBroadcast(VppTestCase): class TestIPLPM(VppTestCase): """ IPv4 longest Prefix Match """ + @classmethod + def setUpClass(cls): + super(TestIPLPM, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPLPM, cls).tearDownClass() + def setUp(self): super(TestIPLPM, self).setUp() @@ -1722,6 +1822,10 @@ class TestIPv4Frag(VppTestCase): i.config_ip4() i.resolve_arp() + @classmethod + def tearDownClass(cls): + super(TestIPv4Frag, cls).tearDownClass() + def test_frag_large_packets(self): """ Fragmentation of large packets """ diff --git a/test/test_ip4_irb.py b/test/test_ip4_irb.py index 0894515576e..f4f2b610d1c 100644 --- a/test/test_ip4_irb.py +++ b/test/test_ip4_irb.py @@ -89,6 +89,10 @@ class TestIpIrb(VppTestCase): cls.pg0.remote_hosts = cls.bvi0.remote_hosts[:half] cls.pg1.remote_hosts = cls.bvi0.remote_hosts[half:] + @classmethod + def tearDownClass(cls): + super(TestIpIrb, cls).tearDownClass() + def tearDown(self): """Run standard test teardown and log ``show l2patch``, ``show l2fib verbose``,``show bridge-domain detail``, diff --git a/test/test_ip4_vrf_multi_instance.py b/test/test_ip4_vrf_multi_instance.py index 6d0f21d8bc9..ff6a7227b6f 100644 --- a/test/test_ip4_vrf_multi_instance.py +++ b/test/test_ip4_vrf_multi_instance.py @@ -148,6 +148,10 @@ class TestIp4VrfMultiInst(VppTestCase): super(TestIp4VrfMultiInst, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestIp4VrfMultiInst, cls).tearDownClass() + def setUp(self): """ Clear trace and packet infos before running each test. diff --git a/test/test_ip6.py b/test/test_ip6.py index 77ae63bfa39..6c959a2712c 100644 --- a/test/test_ip6.py +++ b/test/test_ip6.py @@ -161,6 +161,10 @@ class TestIPv6(TestIPv6ND): def setUpClass(cls): super(TestIPv6, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestIPv6, cls).tearDownClass() + def setUp(self): """ Perform test setup before test case. @@ -946,6 +950,14 @@ class TestIPv6(TestIPv6ND): class TestICMPv6Echo(VppTestCase): """ ICMPv6 Echo Test Case """ + @classmethod + def setUpClass(cls): + super(TestICMPv6Echo, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestICMPv6Echo, cls).tearDownClass() + def setUp(self): super(TestICMPv6Echo, self).setUp() @@ -1015,6 +1027,10 @@ class TestIPv6RD(TestIPv6ND): def setUpClass(cls): super(TestIPv6RD, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestIPv6RD, cls).tearDownClass() + def setUp(self): super(TestIPv6RD, self).setUp() @@ -1132,6 +1148,10 @@ class TestIPv6RDControlPlane(TestIPv6ND): def setUpClass(cls): super(TestIPv6RDControlPlane, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestIPv6RDControlPlane, cls).tearDownClass() + def setUp(self): super(TestIPv6RDControlPlane, self).setUp() @@ -1304,6 +1324,14 @@ class TestIPv6RDControlPlane(TestIPv6ND): class IPv6NDProxyTest(TestIPv6ND): """ IPv6 ND ProxyTest Case """ + @classmethod + def setUpClass(cls): + super(IPv6NDProxyTest, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(IPv6NDProxyTest, cls).tearDownClass() + def setUp(self): super(IPv6NDProxyTest, self).setUp() @@ -1493,6 +1521,14 @@ class IPv6NDProxyTest(TestIPv6ND): class TestIPNull(VppTestCase): """ IPv6 routes via NULL """ + @classmethod + def setUpClass(cls): + super(TestIPNull, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPNull, cls).tearDownClass() + def setUp(self): super(TestIPNull, self).setUp() @@ -1561,6 +1597,14 @@ class TestIPNull(VppTestCase): class TestIPDisabled(VppTestCase): """ IPv6 disabled """ + @classmethod + def setUpClass(cls): + super(TestIPDisabled, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPDisabled, cls).tearDownClass() + def setUp(self): super(TestIPDisabled, self).setUp() @@ -1650,6 +1694,14 @@ class TestIPDisabled(VppTestCase): class TestIP6LoadBalance(VppTestCase): """ IPv6 Load-Balancing """ + @classmethod + def setUpClass(cls): + super(TestIP6LoadBalance, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIP6LoadBalance, cls).tearDownClass() + def setUp(self): super(TestIP6LoadBalance, self).setUp() @@ -1915,6 +1967,14 @@ class TestIP6LoadBalance(VppTestCase): class TestIP6Punt(VppTestCase): """ IPv6 Punt Police/Redirect """ + @classmethod + def setUpClass(cls): + super(TestIP6Punt, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIP6Punt, cls).tearDownClass() + def setUp(self): super(TestIP6Punt, self).setUp() @@ -2043,6 +2103,14 @@ class TestIP6Punt(VppTestCase): class TestIPDeag(VppTestCase): """ IPv6 Deaggregate Routes """ + @classmethod + def setUpClass(cls): + super(TestIPDeag, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPDeag, cls).tearDownClass() + def setUp(self): super(TestIPDeag, self).setUp() @@ -2162,6 +2230,14 @@ class TestIPDeag(VppTestCase): class TestIP6Input(VppTestCase): """ IPv6 Input Exception Test Cases """ + @classmethod + def setUpClass(cls): + super(TestIP6Input, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIP6Input, cls).tearDownClass() + def setUp(self): super(TestIP6Input, self).setUp() diff --git a/test/test_ip6_vrf_multi_instance.py b/test/test_ip6_vrf_multi_instance.py index 4b4a9e47a7b..45c192de868 100644 --- a/test/test_ip6_vrf_multi_instance.py +++ b/test/test_ip6_vrf_multi_instance.py @@ -160,6 +160,10 @@ class TestIP6VrfMultiInst(VppTestCase): super(TestIP6VrfMultiInst, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestIP6VrfMultiInst, cls).tearDownClass() + def setUp(self): """ Clear trace and packet infos before running each test. diff --git a/test/test_ip_mcast.py b/test/test_ip_mcast.py index 81da693c516..21794d63c3e 100644 --- a/test/test_ip_mcast.py +++ b/test/test_ip_mcast.py @@ -25,6 +25,14 @@ N_PKTS_IN_STREAM = 91 class TestMFIB(VppTestCase): """ MFIB Test Case """ + @classmethod + def setUpClass(cls): + super(TestMFIB, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMFIB, cls).tearDownClass() + def setUp(self): super(TestMFIB, self).setUp() @@ -40,6 +48,14 @@ class TestMFIB(VppTestCase): class TestIPMcast(VppTestCase): """ IP Multicast Test Case """ + @classmethod + def setUpClass(cls): + super(TestIPMcast, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestIPMcast, cls).tearDownClass() + def setUp(self): super(TestIPMcast, self).setUp() diff --git a/test/test_ipip.py b/test/test_ipip.py index c01972a2413..16f83694b20 100644 --- a/test/test_ipip.py +++ b/test/test_ipip.py @@ -26,6 +26,10 @@ class TestIPIP(VppTestCase): cls.create_pg_interfaces(range(2)) cls.interfaces = list(cls.pg_interfaces) + @classmethod + def tearDownClass(cls): + super(TestIPIP, cls).tearDownClass() + def setUp(self): super(TestIPIP, self).setUp() for i in self.interfaces: @@ -248,6 +252,10 @@ class TestIPIP6(VppTestCase): cls.create_pg_interfaces(range(2)) cls.interfaces = list(cls.pg_interfaces) + @classmethod + def tearDownClass(cls): + super(TestIPIP6, cls).tearDownClass() + def setUp(self): super(TestIPIP6, self).setUp() for i in self.interfaces: diff --git a/test/test_ipsec_ah.py b/test/test_ipsec_ah.py index 6788876dad2..93e16468ca1 100644 --- a/test/test_ipsec_ah.py +++ b/test/test_ipsec_ah.py @@ -35,6 +35,14 @@ class TemplateIpsecAh(TemplateIpsec): --- --- --- """ + @classmethod + def setUpClass(cls): + super(TemplateIpsecAh, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TemplateIpsecAh, cls).tearDownClass() + def setUp(self): super(TemplateIpsecAh, self).setUp() diff --git a/test/test_ipsec_api.py b/test/test_ipsec_api.py index 8aea42ab3df..00885ae05b6 100644 --- a/test/test_ipsec_api.py +++ b/test/test_ipsec_api.py @@ -8,6 +8,14 @@ from vpp_papi import VppEnum class IpsecApiTestCase(VppTestCase): """ IPSec API tests """ + @classmethod + def setUpClass(cls): + super(IpsecApiTestCase, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(IpsecApiTestCase, cls).tearDownClass() + def setUp(self): super(IpsecApiTestCase, self).setUp() self.create_pg_interfaces([0]) diff --git a/test/test_ipsec_esp.py b/test/test_ipsec_esp.py index d254ee76762..c3a6b43996c 100644 --- a/test/test_ipsec_esp.py +++ b/test/test_ipsec_esp.py @@ -178,6 +178,14 @@ class TemplateIpsecEsp(TemplateIpsec): --- --- --- """ + @classmethod + def setUpClass(cls): + super(TemplateIpsecEsp, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TemplateIpsecEsp, cls).tearDownClass() + def setUp(self): super(TemplateIpsecEsp, self).setUp() self.encryption_type = ESP @@ -239,6 +247,15 @@ class TemplateIpsecEspUdp(TemplateIpsec): """ UDP encapped ESP """ + + @classmethod + def setUpClass(cls): + super(TemplateIpsecEspUdp, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TemplateIpsecEspUdp, cls).tearDownClass() + def setUp(self): super(TemplateIpsecEspUdp, self).setUp() self.encryption_type = ESP diff --git a/test/test_ipsec_nat.py b/test/test_ipsec_nat.py index e364f5ffe96..d97fb791cf5 100644 --- a/test/test_ipsec_nat.py +++ b/test/test_ipsec_nat.py @@ -38,6 +38,14 @@ class IPSecNATTestCase(TemplateIpsec): icmp_id_in = 6305 icmp_id_out = 6305 + @classmethod + def setUpClass(cls): + super(IPSecNATTestCase, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(IPSecNATTestCase, cls).tearDownClass() + def setUp(self): super(IPSecNATTestCase, self).setUp() self.tun_if = self.pg0 diff --git a/test/test_ipsec_tun_if_esp.py b/test/test_ipsec_tun_if_esp.py index 8d01185aa68..9c5a15377e6 100644 --- a/test/test_ipsec_tun_if_esp.py +++ b/test/test_ipsec_tun_if_esp.py @@ -20,6 +20,14 @@ class TemplateIpsec4TunIfEsp(TemplateIpsec): encryption_type = ESP + @classmethod + def setUpClass(cls): + super(TemplateIpsec4TunIfEsp, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TemplateIpsec4TunIfEsp, cls).tearDownClass() + def setUp(self): super(TemplateIpsec4TunIfEsp, self).setUp() diff --git a/test/test_l2_fib.py b/test/test_l2_fib.py index 97915a34e7a..a75672ab079 100644 --- a/test/test_l2_fib.py +++ b/test/test_l2_fib.py @@ -131,6 +131,10 @@ class TestL2fib(VppTestCase): super(TestL2fib, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestL2fib, cls).tearDownClass() + def setUp(self): super(TestL2fib, self).setUp() self.reset_packet_infos() diff --git a/test/test_l2_flood.py b/test/test_l2_flood.py index 35d325e1329..a5c6e192434 100644 --- a/test/test_l2_flood.py +++ b/test/test_l2_flood.py @@ -15,6 +15,14 @@ from scapy.layers.inet import IP, UDP class TestL2Flood(VppTestCase): """ L2-flood """ + @classmethod + def setUpClass(cls): + super(TestL2Flood, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestL2Flood, cls).tearDownClass() + def setUp(self): super(TestL2Flood, self).setUp() diff --git a/test/test_l2bd.py b/test/test_l2bd.py index a921bdfe0da..718d5126bd9 100644 --- a/test/test_l2bd.py +++ b/test/test_l2bd.py @@ -94,6 +94,10 @@ class TestL2bd(VppTestCase): super(TestL2bd, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestL2bd, cls).tearDownClass() + def setUp(self): """ Clear trace and packet infos before running each test. diff --git a/test/test_l2bd_arp_term.py b/test/test_l2bd_arp_term.py index de84eddcad9..9a14d1db55e 100644 --- a/test/test_l2bd_arp_term.py +++ b/test/test_l2bd_arp_term.py @@ -51,6 +51,10 @@ class TestL2bdArpTerm(VppTestCase): super(TestL2bdArpTerm, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestL2bdArpTerm, cls).tearDownClass() + def setUp(self): """ Clear trace and packet infos before running each test. diff --git a/test/test_l2bd_multi_instance.py b/test/test_l2bd_multi_instance.py index 67c208837c8..8ceec745787 100644 --- a/test/test_l2bd_multi_instance.py +++ b/test/test_l2bd_multi_instance.py @@ -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. diff --git a/test/test_l2xc.py b/test/test_l2xc.py index 8be93e44faa..845579b037b 100644 --- a/test/test_l2xc.py +++ b/test/test_l2xc.py @@ -76,6 +76,10 @@ class TestL2xc(VppTestCase): super(TestL2xc, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestL2xc, cls).tearDownClass() + def setUp(self): super(TestL2xc, self).setUp() self.reset_packet_infos() diff --git a/test/test_l2xc_multi_instance.py b/test/test_l2xc_multi_instance.py index 6192bd1ad57..0fb080aea2b 100644 --- a/test/test_l2xc_multi_instance.py +++ b/test/test_l2xc_multi_instance.py @@ -112,6 +112,10 @@ class TestL2xcMultiInst(VppTestCase): super(TestL2xcMultiInst, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestL2xcMultiInst, cls).tearDownClass() + def setUp(self): """ Clear trace and packet infos before running each test. diff --git a/test/test_lb.py b/test/test_lb.py index 01af0e56b5b..4c0bfadaccb 100644 --- a/test/test_lb.py +++ b/test/test_lb.py @@ -63,6 +63,10 @@ class TestLB(VppTestCase): super(TestLB, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestLB, cls).tearDownClass() + def tearDown(self): super(TestLB, self).tearDown() if not self.vpp_dead: diff --git a/test/test_lisp.py b/test/test_lisp.py index 561e589bc62..0b89b1f0d68 100644 --- a/test/test_lisp.py +++ b/test/test_lisp.py @@ -145,6 +145,10 @@ class TestLisp(VppTestCase): i.config_ip4() # configure IPv4 address on the interface i.resolve_arp() # resolve ARP, so that we know VPP MAC + @classmethod + def tearDownClass(cls): + super(TestLisp, cls).tearDownClass() + def setUp(self): super(TestLisp, self).setUp() self.vapi.lisp_enable_disable(is_enabled=1) diff --git a/test/test_map.py b/test/test_map.py index a8e8ab378a6..2f04db28b6e 100644 --- a/test/test_map.py +++ b/test/test_map.py @@ -15,6 +15,14 @@ from scapy.layers.inet6 import IPv6, ICMPv6TimeExceeded class TestMAP(VppTestCase): """ MAP Test Case """ + @classmethod + def setUpClass(cls): + super(TestMAP, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMAP, cls).tearDownClass() + def setUp(self): super(TestMAP, self).setUp() diff --git a/test/test_mpls.py b/test/test_mpls.py index 8d5d5abb48d..4a1c663c444 100644 --- a/test/test_mpls.py +++ b/test/test_mpls.py @@ -52,6 +52,14 @@ def verify_mpls_stack(tst, rx, mpls_labels): class TestMPLS(VppTestCase): """ MPLS Test Case """ + @classmethod + def setUpClass(cls): + super(TestMPLS, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMPLS, cls).tearDownClass() + def setUp(self): super(TestMPLS, self).setUp() @@ -1383,6 +1391,14 @@ class TestMPLS(VppTestCase): class TestMPLSDisabled(VppTestCase): """ MPLS disabled """ + @classmethod + def setUpClass(cls): + super(TestMPLSDisabled, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMPLSDisabled, cls).tearDownClass() + def setUp(self): super(TestMPLSDisabled, self).setUp() @@ -1462,6 +1478,14 @@ class TestMPLSDisabled(VppTestCase): class TestMPLSPIC(VppTestCase): """ MPLS PIC edge convergence """ + @classmethod + def setUpClass(cls): + super(TestMPLSPIC, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMPLSPIC, cls).tearDownClass() + def setUp(self): super(TestMPLSPIC, self).setUp() @@ -1830,6 +1854,14 @@ class TestMPLSPIC(VppTestCase): class TestMPLSL2(VppTestCase): """ MPLS-L2 """ + @classmethod + def setUpClass(cls): + super(TestMPLSL2, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestMPLSL2, cls).tearDownClass() + def setUp(self): super(TestMPLSL2, self).setUp() diff --git a/test/test_mtu.py b/test/test_mtu.py index 3203e40e114..14535b23e21 100644 --- a/test/test_mtu.py +++ b/test/test_mtu.py @@ -33,6 +33,10 @@ class TestMTU(VppTestCase): cls.create_pg_interfaces(range(2)) cls.interfaces = list(cls.pg_interfaces) + @classmethod + def tearDownClass(cls): + super(TestMTU, cls).tearDownClass() + def setUp(self): super(TestMTU, self).setUp() for i in self.interfaces: diff --git a/test/test_nat.py b/test/test_nat.py index b8d3a5457f6..5cd0ad9d8ab 100644 --- a/test/test_nat.py +++ b/test/test_nat.py @@ -1562,6 +1562,10 @@ class TestNAT44(MethodHolder): super(TestNAT44, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestNAT44, cls).tearDownClass() + def test_dynamic(self): """ NAT44 dynamic translation test """ self.nat44_add_address(self.nat_addr) @@ -4276,6 +4280,10 @@ class TestNAT44EndpointDependent(MethodHolder): super(TestNAT44EndpointDependent, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestNAT44EndpointDependent, cls).tearDownClass() + def test_frag_in_order(self): """ NAT44 translate fragments arriving in order """ self.nat44_add_address(self.nat_addr) @@ -6466,6 +6474,10 @@ class TestNAT44Out2InDPO(MethodHolder): super(TestNAT44Out2InDPO, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestNAT44Out2InDPO, cls).tearDownClass() + def configure_xlat(self): self.dst_ip6_pfx = '1:2:3::' self.dst_ip6_pfx_n = socket.inet_pton(socket.AF_INET6, @@ -6581,6 +6593,10 @@ class TestDeterministicNAT(MethodHolder): super(TestDeterministicNAT, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestDeterministicNAT, cls).tearDownClass() + def create_stream_in(self, in_if, out_if, ttl=64): """ Create packet stream for inside network @@ -7200,6 +7216,10 @@ class TestNAT64(MethodHolder): super(TestNAT64, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestNAT64, cls).tearDownClass() + def test_nat64_inside_interface_handles_neighbor_advertisement(self): """ NAT64 inside interface handles Neighbor Advertisement """ @@ -8533,6 +8553,10 @@ class TestDSlite(MethodHolder): super(TestDSlite, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestDSlite, cls).tearDownClass() + def verify_syslog_apmadd(self, data, isaddr, isport, xsaddr, xsport, sv6enc, proto): message = data.decode('utf-8') @@ -8727,6 +8751,10 @@ class TestDSliteCE(MethodHolder): super(TestDSliteCE, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestDSliteCE, cls).tearDownClass() + def test_dslite_ce(self): """ Test DS-Lite CE """ @@ -8830,6 +8858,10 @@ class TestNAT66(MethodHolder): super(TestNAT66, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestNAT66, cls).tearDownClass() + def test_static(self): """ 1:1 NAT66 test """ self.vapi.nat66_add_del_interface(self.pg0.sw_if_index) diff --git a/test/test_neighbor.py b/test/test_neighbor.py index c3005ccaf57..c6d9fc61815 100644 --- a/test/test_neighbor.py +++ b/test/test_neighbor.py @@ -24,6 +24,14 @@ arp_opts = {"who-has": 1, "is-at": 2} class ARPTestCase(VppTestCase): """ ARP Test Case """ + @classmethod + def setUpClass(cls): + super(ARPTestCase, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(ARPTestCase, cls).tearDownClass() + def setUp(self): super(ARPTestCase, self).setUp() @@ -1411,6 +1419,14 @@ class ARPTestCase(VppTestCase): class NeighborStatsTestCase(VppTestCase): """ ARP/ND Counters """ + @classmethod + def setUpClass(cls): + super(NeighborStatsTestCase, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(NeighborStatsTestCase, cls).tearDownClass() + def setUp(self): super(NeighborStatsTestCase, self).setUp() diff --git a/test/test_p2p_ethernet.py b/test/test_p2p_ethernet.py index 5200e482b04..6719400cb5c 100644 --- a/test/test_p2p_ethernet.py +++ b/test/test_p2p_ethernet.py @@ -32,6 +32,10 @@ class P2PEthernetAPI(VppTestCase): for i in cls.pg_interfaces: i.admin_up() + @classmethod + def tearDownClass(cls): + super(P2PEthernetAPI, cls).tearDownClass() + def create_p2p_ethernet(self, parent_if, sub_id, remote_mac): p2p = VppP2PSubint(self, parent_if, sub_id, mac_pton(remote_mac)) self.p2p_sub_ifs.append(p2p) @@ -125,6 +129,10 @@ class P2PEthernetIPV6(VppTestCase): cls.pg1.configure_ipv6_neighbors() cls.pg1.disable_ipv6_ra() + @classmethod + def tearDownClass(cls): + super(P2PEthernetIPV6, cls).tearDownClass() + def setUp(self): super(P2PEthernetIPV6, self).setUp() for p in self.packets: @@ -350,6 +358,10 @@ class P2PEthernetIPV4(VppTestCase): cls.pg1.generate_remote_hosts(5) cls.pg1.configure_ipv4_neighbors() + @classmethod + def tearDownClass(cls): + super(P2PEthernetIPV4, cls).tearDownClass() + def setUp(self): super(P2PEthernetIPV4, self).setUp() for p in self.packets: diff --git a/test/test_ping.py b/test/test_ping.py index 4f3921e992e..75c18d46c69 100644 --- a/test/test_ping.py +++ b/test/test_ping.py @@ -36,6 +36,10 @@ class TestPing(VppTestCase): super(TestPing, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestPing, cls).tearDownClass() + def tearDown(self): super(TestPing, self).tearDown() if not self.vpp_dead: diff --git a/test/test_pipe.py b/test/test_pipe.py index 2c23bd04748..2d3c1ecd24c 100644 --- a/test/test_pipe.py +++ b/test/test_pipe.py @@ -58,6 +58,14 @@ class VppPipe(VppInterface): class TestPipe(VppTestCase): """ Pipes """ + @classmethod + def setUpClass(cls): + super(TestPipe, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestPipe, cls).tearDownClass() + def setUp(self): super(TestPipe, self).setUp() diff --git a/test/test_pppoe.py b/test/test_pppoe.py index b6a1eef4b80..5c8495fed98 100644 --- a/test/test_pppoe.py +++ b/test/test_pppoe.py @@ -25,6 +25,10 @@ class TestPPPoE(VppTestCase): cls.dst_ip = "100.1.1.100" cls.dst_ipn = socket.inet_pton(socket.AF_INET, cls.dst_ip) + @classmethod + def tearDownClass(cls): + super(TestPPPoE, cls).tearDownClass() + def setUp(self): super(TestPPPoE, self).setUp() diff --git a/test/test_qos.py b/test/test_qos.py index c6de8498b33..bdae4989014 100644 --- a/test/test_qos.py +++ b/test/test_qos.py @@ -20,6 +20,14 @@ from scapy.contrib.mpls import MPLS class TestQOS(VppTestCase): """ QOS Test Case """ + @classmethod + def setUpClass(cls): + super(TestQOS, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestQOS, cls).tearDownClass() + def setUp(self): super(TestQOS, self).setUp() diff --git a/test/test_reassembly.py b/test/test_reassembly.py index f3d983dc303..5fa912b631e 100644 --- a/test/test_reassembly.py +++ b/test/test_reassembly.py @@ -219,6 +219,10 @@ class TestIPv4Reassembly(TestIPReassemblyMixin, VppTestCase): cls.create_stream(cls.packet_sizes) cls.create_fragments() + @classmethod + def tearDownClass(cls): + super(TestIPv4Reassembly, cls).tearDownClass() + def setUp(self): """ Test setup - force timeout on existing reassemblies """ super(TestIPv4Reassembly, self).setUp() @@ -549,6 +553,10 @@ class TestIPv6Reassembly(TestIPReassemblyMixin, VppTestCase): cls.create_stream(cls.packet_sizes) cls.create_fragments() + @classmethod + def tearDownClass(cls): + super(TestIPv6Reassembly, cls).tearDownClass() + def setUp(self): """ Test setup - force timeout on existing reassemblies """ super(TestIPv6Reassembly, self).setUp() @@ -845,6 +853,10 @@ class TestIPv4ReassemblyLocalNode(VppTestCase): cls.create_stream() cls.create_fragments() + @classmethod + def tearDownClass(cls): + super(TestIPv4ReassemblyLocalNode, cls).tearDownClass() + def setUp(self): """ Test setup - force timeout on existing reassemblies """ super(TestIPv4ReassemblyLocalNode, self).setUp() @@ -964,6 +976,10 @@ class TestFIFReassembly(VppTestCase): cls.packet_sizes = [64, 512, 1518, 9018] cls.padding = " abcdefghijklmn" + @classmethod + def tearDownClass(cls): + super(TestFIFReassembly, cls).tearDownClass() + def setUp(self): """ Test setup - force timeout on existing reassemblies """ super(TestFIFReassembly, self).setUp() diff --git a/test/test_sctp.py b/test/test_sctp.py index 9680774819a..e1faa9a0c1d 100644 --- a/test/test_sctp.py +++ b/test/test_sctp.py @@ -13,6 +13,10 @@ class TestSCTP(VppTestCase): def setUpClass(cls): super(TestSCTP, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestSCTP, cls).tearDownClass() + def setUp(self): super(TestSCTP, self).setUp() self.vapi.session_enable_disable(is_enabled=1) diff --git a/test/test_session.py b/test/test_session.py index b8ae07440d4..f1a3dcdbef3 100644 --- a/test/test_session.py +++ b/test/test_session.py @@ -13,6 +13,10 @@ class TestSession(VppTestCase): def setUpClass(cls): super(TestSession, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestSession, cls).tearDownClass() + def setUp(self): super(TestSession, self).setUp() @@ -88,6 +92,14 @@ class TestSession(VppTestCase): class TestSessionUnitTests(VppTestCase): """ Session Unit Tests Case """ + @classmethod + def setUpClass(cls): + super(TestSessionUnitTests, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestSessionUnitTests, cls).tearDownClass() + def setUp(self): super(TestSessionUnitTests, self).setUp() self.vapi.session_enable_disable(is_enabled=1) diff --git a/test/test_sixrd.py b/test/test_sixrd.py index ffd5864d5b3..910313d5fa7 100644 --- a/test/test_sixrd.py +++ b/test/test_sixrd.py @@ -26,6 +26,10 @@ class Test6RD(VppTestCase): cls.create_pg_interfaces(range(4)) cls.interfaces = list(cls.pg_interfaces) + @classmethod + def tearDownClass(cls): + super(Test6RD, cls).tearDownClass() + def setUp(self): super(Test6RD, self).setUp() t4 = VppIpTable(self, 10) diff --git a/test/test_srmpls.py b/test/test_srmpls.py index 756405ab6d7..7e729658b43 100644 --- a/test/test_srmpls.py +++ b/test/test_srmpls.py @@ -49,6 +49,14 @@ def verify_mpls_stack(tst, rx, mpls_labels): class TestSRMPLS(VppTestCase): """ SR-MPLS Test Case """ + @classmethod + def setUpClass(cls): + super(TestSRMPLS, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestSRMPLS, cls).tearDownClass() + def setUp(self): super(TestSRMPLS, self).setUp() diff --git a/test/test_srv6.py b/test/test_srv6.py index ed453b2ce96..de98ff28a03 100644 --- a/test/test_srv6.py +++ b/test/test_srv6.py @@ -24,8 +24,12 @@ class TestSRv6(VppTestCase): """ SRv6 Test Case """ @classmethod - def setUpClass(self): - super(TestSRv6, self).setUpClass() + def setUpClass(cls): + super(TestSRv6, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestSRv6, cls).tearDownClass() def setUp(self): """ Perform test setup before each test case. diff --git a/test/test_srv6_ad.py b/test/test_srv6_ad.py index 40cc1906612..a788f1e4974 100644 --- a/test/test_srv6_ad.py +++ b/test/test_srv6_ad.py @@ -28,6 +28,10 @@ class TestSRv6(VppTestCase): def setUpClass(self): super(TestSRv6, self).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestSRv6, cls).tearDownClass() + def setUp(self): """ Perform test setup before each test case. """ diff --git a/test/test_srv6_as.py b/test/test_srv6_as.py index 6b8e23c8520..108fcdb5d27 100755 --- a/test/test_srv6_as.py +++ b/test/test_srv6_as.py @@ -27,6 +27,10 @@ class TestSRv6(VppTestCase): def setUpClass(self): super(TestSRv6, self).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestSRv6, cls).tearDownClass() + def setUp(self): """ Perform test setup before each test case. """ diff --git a/test/test_string.py b/test/test_string.py index cfdec1fdbac..667bdf0ad4e 100644 --- a/test/test_string.py +++ b/test/test_string.py @@ -13,6 +13,10 @@ class TestString(VppTestCase): def setUpClass(cls): super(TestString, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestString, cls).tearDownClass() + def setUp(self): super(TestString, self).setUp() diff --git a/test/test_svs.py b/test/test_svs.py index 563ed1ad0cb..b4e6722baa8 100644 --- a/test/test_svs.py +++ b/test/test_svs.py @@ -16,6 +16,14 @@ from vpp_papi import VppEnum class TestSVS(VppTestCase): """ SVS Test Case """ + @classmethod + def setUpClass(cls): + super(TestSVS, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestSVS, cls).tearDownClass() + def setUp(self): super(TestSVS, self).setUp() diff --git a/test/test_syslog.py b/test/test_syslog.py index 67a7ef13ea7..90a0aef908f 100644 --- a/test/test_syslog.py +++ b/test/test_syslog.py @@ -27,6 +27,10 @@ class TestSyslog(VppTestCase): super(TestSyslog, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestSyslog, cls).tearDownClass() + def syslog_generate(self, facility, severity, appname, msgid, sd=None, msg=None): """ diff --git a/test/test_tcp.py b/test/test_tcp.py index c5366282838..393813c4dbb 100644 --- a/test/test_tcp.py +++ b/test/test_tcp.py @@ -13,6 +13,10 @@ class TestTCP(VppTestCase): def setUpClass(cls): super(TestTCP, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestTCP, cls).tearDownClass() + def setUp(self): super(TestTCP, self).setUp() self.vapi.session_enable_disable(is_enabled=1) @@ -83,6 +87,14 @@ class TestTCP(VppTestCase): class TestTCPUnitTests(VppTestCase): "TCP Unit Tests" + @classmethod + def setUpClass(cls): + super(TestTCPUnitTests, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestTCPUnitTests, cls).tearDownClass() + def setUp(self): super(TestTCPUnitTests, self).setUp() self.vapi.session_enable_disable(is_enabled=1) diff --git a/test/test_udp.py b/test/test_udp.py index 3010a1dd7e1..d69052bc939 100644 --- a/test/test_udp.py +++ b/test/test_udp.py @@ -14,6 +14,14 @@ from scapy.contrib.mpls import MPLS class TestUdpEncap(VppTestCase): """ UDP Encap Test Case """ + @classmethod + def setUpClass(cls): + super(TestUdpEncap, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TestUdpEncap, cls).tearDownClass() + def setUp(self): super(TestUdpEncap, self).setUp() @@ -240,6 +248,10 @@ class TestUDP(VppTestCase): def setUpClass(cls): super(TestUDP, cls).setUpClass() + @classmethod + def tearDownClass(cls): + super(TestUDP, cls).tearDownClass() + def setUp(self): super(TestUDP, self).setUp() self.vapi.session_enable_disable(is_enabled=1) diff --git a/test/test_vhost.py b/test/test_vhost.py index c657da7ba0c..4e5a62d4535 100644 --- a/test/test_vhost.py +++ b/test/test_vhost.py @@ -11,6 +11,13 @@ class TesVhostInterface(VppTestCase): """Vhost User Test Case """ + @classmethod + def setUpClass(cls): + super(TesVhostInterface, cls).setUpClass() + + @classmethod + def tearDownClass(cls): + super(TesVhostInterface, cls).tearDownClass() def tearDown(self): super(TesVhostInterface, self).tearDown() diff --git a/test/test_vtr.py b/test/test_vtr.py index 63e1cc7ae05..b7e131f005e 100644 --- a/test/test_vtr.py +++ b/test/test_vtr.py @@ -67,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. diff --git a/test/test_vxlan.py b/test/test_vxlan.py index 5ded725abf6..5ffb2fe371d 100644 --- a/test/test_vxlan.py +++ b/test/test_vxlan.py @@ -217,6 +217,10 @@ class TestVxlan(BridgeDomain, VppTestCase): super(TestVxlan, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestVxlan, cls).tearDownClass() + def test_encap_big_packet(self): """ Encapsulation test send big frame from pg1 Verify receipt of encapsulated frames on pg0 diff --git a/test/test_vxlan_gbp.py b/test/test_vxlan_gbp.py index 1e6edcfeda5..b4f86991ff9 100644 --- a/test/test_vxlan_gbp.py +++ b/test/test_vxlan_gbp.py @@ -156,6 +156,10 @@ class TestVxlanGbp(VppTestCase): super(TestVxlanGbp, cls).tearDownClass() raise + @classmethod + def tearDownClass(cls): + super(TestVxlanGbp, cls).tearDownClass() + def assert_eq_pkts(self, pkt1, pkt2): """ Verify the Ether, IP, UDP, payload are equal in both packets -- 2.16.6