X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Ftest_container.py;h=d79e5c3c67dda661ad9f796f23d2f1f2427010da;hb=37157dad514b85d008cf8e01a889889d8869f02b;hp=66357a7389a3d8b412e83d01f1cef2ba634d2312;hpb=b9ef2739dd1e681143e78ada1ffc342ae2fb89b0;p=vpp.git diff --git a/test/test_container.py b/test/test_container.py index 66357a7389a..d79e5c3c67d 100644 --- a/test/test_container.py +++ b/test/test_container.py @@ -1,8 +1,9 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 """ Container integration tests """ import unittest -from framework import VppTestCase, VppTestRunner, running_extended_tests +from config import config +from framework import VppTestCase, VppTestRunner from scapy.layers.l2 import Ether from scapy.packet import Raw from scapy.layers.inet import IP, UDP, TCP @@ -21,39 +22,42 @@ class Conn(L4_Conn): pass -@unittest.skipUnless(running_extended_tests(), "part of extended tests") +@unittest.skipUnless(config.extended, "part of extended tests") class ContainerIntegrationTestCase(VppTestCase): - """ Container integration extended testcases """ + """Container integration extended testcases""" @classmethod - def setUpClass(self): - super(ContainerIntegrationTestCase, self).setUpClass() + def setUpClass(cls): + super(ContainerIntegrationTestCase, cls).setUpClass() # create pg0 and pg1 - self.create_pg_interfaces(range(2)) - for i in self.pg_interfaces: + cls.create_pg_interfaces(range(2)) + for i in cls.pg_interfaces: i.admin_up() i.config_ip4() i.config_ip6() i.resolve_arp() i.resolve_ndp() + @classmethod + def tearDownClass(cls): + super(ContainerIntegrationTestCase, cls).tearDownClass() + def tearDown(self): - """Run standard test teardown and log various show commands - """ + """Run standard test teardown and log various show commands""" super(ContainerIntegrationTestCase, self).tearDown() - if not self.vpp_dead: - self.logger.info(self.vapi.cli("show ip arp")) - self.logger.info(self.vapi.cli("show ip6 neighbors")) + + def show_commands_at_teardown(self): + self.logger.info(self.vapi.cli("show ip neighbors")) def run_basic_conn_test(self, af, acl_side): - """ Basic connectivity test """ + """Basic connectivity test""" conn1 = Conn(self, self.pg0, self.pg1, af, UDP, 42001, 4242) conn1.send_through(0) # the return packets should pass conn1.send_through(1) def run_negative_conn_test(self, af, acl_side): - """ Packets with local spoofed address """ + """Packets with local spoofed address""" conn1 = Conn(self, self.pg0, self.pg1, af, UDP, 42001, 4242) try: p2 = conn1.send_through(0).command() @@ -64,68 +68,81 @@ class ContainerIntegrationTestCase(VppTestCase): self.assert_equal(p2, None, ": packet should have been dropped") def test_0010_basic_conn_test(self): - """ IPv4 basic connectivity test """ + """IPv4 basic connectivity test""" self.run_basic_conn_test(AF_INET, 0) def test_0011_basic_conn_test(self): - """ IPv6 basic connectivity test """ + """IPv6 basic connectivity test""" self.run_basic_conn_test(AF_INET6, 0) def test_0050_loopback_prepare_test(self): - """ Create loopbacks overlapping with remote addresses """ + """Create loopbacks overlapping with remote addresses""" self.create_loopback_interfaces(2) for i in range(2): intf = self.lo_interfaces[i] intf.admin_up() - intf._local_ip4 = self.pg_interfaces[i].remote_ip4 - intf._local_ip4_prefix_len = 32 + intf.local_ip4 = self.pg_interfaces[i].remote_ip4 + intf.local_ip4_prefix_len = 32 intf.config_ip4() - intf._local_ip6 = self.pg_interfaces[i].remote_ip6 - intf._local_ip6_prefix_len = 128 + intf.local_ip6 = self.pg_interfaces[i].remote_ip6 + intf.local_ip6_prefix_len = 128 intf.config_ip6() def test_0110_basic_conn_test(self): - """ IPv4 local-spoof connectivity test """ + """IPv4 local-spoof connectivity test""" self.run_negative_conn_test(AF_INET, 0) def test_0111_basic_conn_test(self): - """ IPv6 local-spoof connectivity test """ + """IPv6 local-spoof connectivity test""" self.run_negative_conn_test(AF_INET, 1) def test_0200_basic_conn_test(self): - """ Configure container commands """ + """Configure container commands""" for i in range(2): - for addr in [self.pg_interfaces[i].remote_ip4, - self.pg_interfaces[i].remote_ip6]: - self.vapi.ppcli("ip container " + addr + " " + - self.pg_interfaces[i].name) - self.vapi.ppcli("stn rule address " + addr + - " interface " + self.pg_interfaces[i].name) + for addr in [ + self.pg_interfaces[i].remote_ip4, + self.pg_interfaces[i].remote_ip6, + ]: + self.vapi.ppcli( + "ip container " + addr + " " + self.pg_interfaces[i].name + ) + self.vapi.ppcli( + "stn rule address " + + addr + + " interface " + + self.pg_interfaces[i].name + ) def test_0210_basic_conn_test(self): - """ IPv4 test after configuring container """ + """IPv4 test after configuring container""" self.run_basic_conn_test(AF_INET, 0) def test_0211_basic_conn_test(self): - """ IPv6 test after configuring container """ + """IPv6 test after configuring container""" self.run_basic_conn_test(AF_INET, 1) def test_0300_unconfigure_commands(self): - """ Unconfigure container commands """ + """Unconfigure container commands""" for i in range(2): - for addr in [self.pg_interfaces[i].remote_ip4, - self.pg_interfaces[i].remote_ip6]: - self.vapi.ppcli("ip container " + addr + " " + - self.pg_interfaces[i].name + - " del") - self.vapi.ppcli("stn rule address " + addr + - " interface " + self.pg_interfaces[i].name + - " del") + for addr in [ + self.pg_interfaces[i].remote_ip4, + self.pg_interfaces[i].remote_ip6, + ]: + self.vapi.ppcli( + "ip container " + addr + " " + self.pg_interfaces[i].name + " del" + ) + self.vapi.ppcli( + "stn rule address " + + addr + + " interface " + + self.pg_interfaces[i].name + + " del" + ) def test_0410_spoof_test(self): - """ IPv4 local-spoof after unconfig test """ + """IPv4 local-spoof after unconfig test""" self.run_negative_conn_test(AF_INET, 0) def test_0411_spoof_test(self): - """ IPv6 local-spoof after unconfig test """ + """IPv6 local-spoof after unconfig test""" self.run_negative_conn_test(AF_INET, 1)