summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorPaul Vinciguerra <pvinci@vinciconsulting.com>2019-03-12 19:23:27 -0700
committerDave Wallace <dwallacelf@gmail.com>2019-04-10 14:37:40 +0000
commit7f9b7f9f492d1748d8ba025b3a713058fdb1943d (patch)
tree8f12656075439b4434d666be85ae34112cc37371 /test
parent2e1c8967faf4e9f7b45471df02e4e5b07fbb520a (diff)
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 <pvinci@vinciconsulting.com>
Diffstat (limited to 'test')
-rw-r--r--test/remote_test.py4
-rw-r--r--test/template_ipsec.py11
-rw-r--r--test/test_abf.py8
-rw-r--r--test/test_acl_plugin.py4
-rw-r--r--test/test_acl_plugin_l2l3.py4
-rw-r--r--test/test_acl_plugin_macip.py60
-rw-r--r--test/test_bihash.py4
-rw-r--r--test/test_bond.py4
-rw-r--r--test/test_classifier.py52
-rw-r--r--test/test_classifier_ip6.py44
-rw-r--r--test/test_classify_l2_acl.py4
-rw-r--r--test/test_dhcp.py8
-rw-r--r--test/test_dhcp6.py12
-rw-r--r--test/test_dvr.py8
-rw-r--r--test/test_fib.py8
-rw-r--r--test/test_gbp.py10
-rw-r--r--test/test_gre.py4
-rw-r--r--test/test_gtpu.py4
-rw-r--r--test/test_igmp.py8
-rw-r--r--test/test_interface_crud.py4
-rw-r--r--test/test_ip4.py104
-rw-r--r--test/test_ip4_irb.py4
-rw-r--r--test/test_ip4_vrf_multi_instance.py4
-rw-r--r--test/test_ip6.py76
-rw-r--r--test/test_ip6_vrf_multi_instance.py4
-rw-r--r--test/test_ip_mcast.py16
-rw-r--r--test/test_ipip.py8
-rw-r--r--test/test_ipsec_ah.py8
-rw-r--r--test/test_ipsec_api.py8
-rw-r--r--test/test_ipsec_esp.py17
-rw-r--r--test/test_ipsec_nat.py8
-rw-r--r--test/test_ipsec_tun_if_esp.py8
-rw-r--r--test/test_l2_fib.py4
-rw-r--r--test/test_l2_flood.py8
-rw-r--r--test/test_l2bd.py4
-rw-r--r--test/test_l2bd_arp_term.py4
-rw-r--r--test/test_l2bd_multi_instance.py4
-rw-r--r--test/test_l2xc.py4
-rw-r--r--test/test_l2xc_multi_instance.py4
-rw-r--r--test/test_lb.py4
-rw-r--r--test/test_lisp.py4
-rw-r--r--test/test_map.py8
-rw-r--r--test/test_mpls.py32
-rw-r--r--test/test_mtu.py4
-rw-r--r--test/test_nat.py32
-rw-r--r--test/test_neighbor.py16
-rw-r--r--test/test_p2p_ethernet.py12
-rw-r--r--test/test_ping.py4
-rw-r--r--test/test_pipe.py8
-rw-r--r--test/test_pppoe.py4
-rw-r--r--test/test_qos.py8
-rw-r--r--test/test_reassembly.py16
-rw-r--r--test/test_sctp.py4
-rw-r--r--test/test_session.py12
-rw-r--r--test/test_sixrd.py4
-rw-r--r--test/test_srmpls.py8
-rw-r--r--test/test_srv6.py8
-rw-r--r--test/test_srv6_ad.py4
-rwxr-xr-xtest/test_srv6_as.py4
-rw-r--r--test/test_string.py4
-rw-r--r--test/test_svs.py8
-rw-r--r--test/test_syslog.py4
-rw-r--r--test/test_tcp.py12
-rw-r--r--test/test_udp.py12
-rw-r--r--test/test_vhost.py7
-rw-r--r--test/test_vtr.py4
-rw-r--r--test/test_vxlan.py4
-rw-r--r--test/test_vxlan_gbp.py4
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 <bd_id> 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 <bd_id> 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