tests: Use errno value rather than a specific int
[vpp.git] / test / test_interface_crud.py
index b41b2fe..c88759d 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3
 """CRUD tests of APIs (Create, Read, Update, Delete) HLD:
 
 - interface up/down/add/delete - interface type:
@@ -16,13 +16,12 @@ import unittest
 from scapy.layers.inet import IP, ICMP
 from scapy.layers.l2 import Ether
 
-from framework import VppTestCase, VppTestRunner
+from framework import VppTestCase
+from asfframework import VppTestRunner
 
 
 class TestLoopbackInterfaceCRUD(VppTestCase):
-    """CRUD Loopback
-
-    """
+    """CRUD Loopback"""
 
     @classmethod
     def setUpClass(cls):
@@ -30,8 +29,7 @@ class TestLoopbackInterfaceCRUD(VppTestCase):
         try:
             cls.create_pg_interfaces(range(1))
             for i in cls.pg_interfaces:
-                i.config_ip4()
-                i.resolve_arp()
+                i.config_ip4().resolve_arp()
         except:
             cls.tearDownClass()
             raise
@@ -52,9 +50,11 @@ class TestLoopbackInterfaceCRUD(VppTestCase):
         """
         pkts = []
         for i in dst_ifs:
-            p = (Ether(dst=src_if.local_mac, src=src_if.remote_mac) /
-                 IP(src=src_if.remote_ip4, dst=i.local_ip4) /
-                 ICMP(id=i.sw_if_index, type='echo-request'))
+            p = (
+                Ether(dst=src_if.local_mac, src=src_if.remote_mac)
+                / IP(src=src_if.remote_ip4, dst=i.local_ip4)
+                / ICMP(id=i.sw_if_index, type="echo-request")
+            )
             pkts.append(p)
         return pkts
 
@@ -86,16 +86,22 @@ class TestLoopbackInterfaceCRUD(VppTestCase):
         loopbacks = self.create_loopback_interfaces(20)
         for i in loopbacks:
             i.local_ip4_prefix_len = 32
-            i.config_ip4()
-            i.admin_up()
+            i.config_ip4().admin_up()
 
         # read (check sw if dump, ip4 fib, ip6 fib)
-        if_dump = self.vapi.sw_interface_dump()
-        fib4_dump = self.vapi.ip_fib_dump()
+        if_dump = self.vapi.sw_interface_dump(
+            name_filter_valid=True, name_filter="loop"
+        )
+        fib4_dump = self.vapi.ip_route_dump(0)
         for i in loopbacks:
             self.assertTrue(i.is_interface_config_in_dump(if_dump))
             self.assertTrue(i.is_ip4_entry_in_fib_dump(fib4_dump))
 
+        if_dump = self.vapi.sw_interface_dump(
+            name_filter_valid=True, name_filter="loopXYZ"
+        )
+        self.assertEqual(len(if_dump), 0)
+
         # check ping
         stream = self.create_icmp_stream(self.pg0, loopbacks)
         self.pg0.add_stream(stream)
@@ -111,7 +117,7 @@ class TestLoopbackInterfaceCRUD(VppTestCase):
 
         # read (check not in sw if dump, ip4 fib, ip6 fib)
         if_dump = self.vapi.sw_interface_dump()
-        fib4_dump = self.vapi.ip_fib_dump()
+        fib4_dump = self.vapi.ip_route_dump(0)
         for i in loopbacks:
             self.assertFalse(i.is_interface_config_in_dump(if_dump))
             self.assertFalse(i.is_ip4_entry_in_fib_dump(fib4_dump))
@@ -128,17 +134,15 @@ class TestLoopbackInterfaceCRUD(VppTestCase):
         loopbacks = self.create_loopback_interfaces(20)
         for i in loopbacks:
             i.local_ip4_prefix_len = 32
-            i.config_ip4()
-            i.admin_up()
+            i.config_ip4().admin_up()
 
         # disable
         for i in loopbacks:
-            i.admin_down()
-            i.unconfig_ip4()
+            i.admin_down().unconfig_ip4()
 
         # read (check not in sw if dump, ip4 fib, ip6 fib)
         if_dump = self.vapi.sw_interface_dump()
-        fib4_dump = self.vapi.ip_fib_dump()
+        fib4_dump = self.vapi.ip_route_dump(0)
         for i in loopbacks:
             self.assertTrue(i.is_interface_config_in_dump(if_dump))
             self.assertFalse(i.is_ip4_entry_in_fib_dump(fib4_dump))
@@ -159,30 +163,29 @@ class TestInterfaceDumpApiLocalOnly(VppTestCase):
         self.assertEqual(rv[0].sw_if_index, 0)
 
     def test_sw_if_index_twiddle0(self):
-        rv = self.vapi.sw_interface_dump(sw_if_index=0xffffffff)
+        rv = self.vapi.sw_interface_dump(sw_if_index=0xFFFFFFFF)
         self.assertEqual(rv[0].sw_if_index, 0)
 
     def test_sw_if_index_1_not_existing(self):
         rv = self.vapi.sw_interface_dump(sw_if_index=1)
-        self.assertEqual(len(rv), 0, 'expected no records.')
+        self.assertEqual(len(rv), 0, "expected no records.")
 
 
 class TestInterfaceDumpApi(VppTestCase):
     """test_interface_crud.TestInterfaceDumpApi"""
 
     def test_sw_if_index_1(self):
-        self.vapi.create_loopback_instance(is_specified=1,
-                                           user_instance=10)
-        self.vapi.create_loopback_instance(is_specified=1,
-                                           user_instance=5)
+        self.vapi.create_loopback_instance(is_specified=1, user_instance=10)
+        self.vapi.create_loopback_instance(is_specified=1, user_instance=5)
 
         # Can I get back the specified record?
         rv = self.vapi.sw_interface_dump(sw_if_index=1)
         self.assertEqual(rv[0].sw_if_index, 1, rv)
 
         # verify 3 interfaces
-        rv = self.vapi.sw_interface_dump(sw_if_index=0xffffffff)
-        self.assertEqual(len(rv), 3, 'Expected 3 interfaces.')
+        rv = self.vapi.sw_interface_dump(sw_if_index=0xFFFFFFFF)
+        self.assertEqual(len(rv), 3, "Expected 3 interfaces.")
+
 
-if __name__ == '__main__':
+if __name__ == "__main__":
     unittest.main(testRunner=VppTestRunner)