api: Cleanup APIs interface.api
[vpp.git] / test / test_bond.py
index b54a1f1..60ee33c 100644 (file)
@@ -7,8 +7,9 @@ from framework import VppTestCase, VppTestRunner
 from scapy.packet import Raw
 from scapy.layers.l2 import Ether
 from scapy.layers.inet import IP, UDP
-from util import mactobinary
 from vpp_bond_interface import VppBondInterface
+from vpp_papi import MACAddress
+from vpp_ip import VppIpPrefix
 
 
 class TestBondInterface(VppTestCase):
@@ -31,13 +32,18 @@ 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()
 
     def tearDown(self):
         super(TestBondInterface, self).tearDown()
-        if not self.vpp_dead:
-            self.logger.info(self.vapi.ppcli("show interface"))
+
+    def show_commands_at_teardown(self):
+        self.logger.info(self.vapi.ppcli("show interface"))
 
     def test_bond_traffic(self):
         """ Bond traffic test """
@@ -56,18 +62,18 @@ class TestBondInterface(VppTestCase):
         # create interface (BondEthernet0)
         #        self.logger.info("create bond")
         bond0_mac = "02:fe:38:30:59:3c"
-        mac = mactobinary(bond0_mac)
+        mac = MACAddress(bond0_mac).packed
         bond0 = VppBondInterface(self,
                                  mode=3,
                                  lb=1,
+                                 numa_only=0,
                                  use_custom_mac=1,
                                  mac_address=mac)
         bond0.add_vpp_config()
         bond0.admin_up()
-        bond0_addr = socket.inet_pton(socket.AF_INET, "10.10.10.1")
-        self.vapi.sw_interface_add_del_address(bond0.sw_if_index,
-                                               bond0_addr,
-                                               24)
+        self.vapi.sw_interface_add_del_address(
+            sw_if_index=bond0.sw_if_index,
+            prefix=VppIpPrefix("10.10.10.1", 24).encode())
 
         self.pg2.config_ip4()
         self.pg2.resolve_arp()
@@ -136,19 +142,11 @@ class TestBondInterface(VppTestCase):
                 found = 1
         self.assertEqual(found, 1)
 
-        # pg0 tx bytes = 142
-        intfs = self.vapi.cli("show interface pg0").split("\n")
-        found = 0
-        for intf in intfs:
-            if "tx bytes" in intf and "142" in intf:
-                found = 1
-        self.assertEqual(found, 1)
-
-        # pg0 tx bytes = 142
-        intfs = self.vapi.cli("show interface pg1").split("\n")
+        # BondEthernet0 tx bytes = 284
+        intfs = self.vapi.cli("show interface BondEthernet0").split("\n")
         found = 0
         for intf in intfs:
-            if "tx bytes" in intf and "142" in intf:
+            if "tx bytes" in intf and "284" in intf:
                 found = 1
         self.assertEqual(found, 1)
 
@@ -236,8 +234,8 @@ class TestBondInterface(VppTestCase):
 
         # verify both interfaces in the show
         ifs = self.vapi.cli("show interface")
-        self.assertNotEqual(ifs.find('BondEthernet0'), -1)
-        self.assertNotEqual(ifs.find('BondEthernet1'), -1)
+        self.assertIn('BondEthernet0', ifs)
+        self.assertIn('BondEthernet1', ifs)
 
         # verify they are in the dump also
         if_dump = self.vapi.sw_interface_bond_dump()
@@ -252,10 +250,10 @@ class TestBondInterface(VppTestCase):
 
         ifs = self.vapi.cli("show interface")
         # verify BondEthernet0 still in the show
-        self.assertNotEqual(ifs.find('BondEthernet0'), -1)
+        self.assertIn('BondEthernet0', ifs)
 
         # verify BondEthernet1 not in the show
-        self.assertEqual(ifs.find('BondEthernet1'), -1)
+        self.assertNotIn('BondEthernet1', ifs)
 
         # verify BondEthernet1 is not in the dump
         if_dump = self.vapi.sw_interface_bond_dump()
@@ -272,7 +270,7 @@ class TestBondInterface(VppTestCase):
 
         # verify BondEthernet0 not in the show
         ifs = self.vapi.cli("show interface")
-        self.assertEqual(ifs.find('BondEthernet0'), -1)
+        self.assertNotIn('BondEthernet0', ifs)
 
         # verify BondEthernet0 is not in the dump
         if_dump = self.vapi.sw_interface_bond_dump()