]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - test/test-network/systemd-networkd-tests.py
test-network: rename l2tp_tunnel_remove -> remove_l2tp_tunnels
[thirdparty/systemd.git] / test / test-network / systemd-networkd-tests.py
index eb9cf8375dca8658af6539be085dbf60e79ed145..97a75fba372dd5f494f4352417eedfffb6c309c1 100755 (executable)
@@ -184,17 +184,19 @@ def remove_links(links):
 
 def remove_fou_ports(ports):
     for port in ports:
-        call('ip fou del port', port)
+        call('ip fou del port', port, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
 
 def remove_routing_policy_rule_tables(tables):
     for table in tables:
-        call('ip rule del table', table)
+        rc = 0
+        while rc == 0:
+            rc = call('ip rule del table', table, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
 
 def remove_routes(routes):
     for route_type, addr in routes:
-        call('ip route del', route_type, addr)
+        call('ip route del', route_type, addr, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
 
-def l2tp_tunnel_remove(tunnel_ids):
+def remove_l2tp_tunnels(tunnel_ids):
     output = check_output('ip l2tp show tunnel')
     for tid in tunnel_ids:
         words='Tunnel ' + tid + ', encap'
@@ -879,7 +881,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
                                         '25-ip6gre-tunnel.netdev', '25-tunnel.network',
                                         '25-ip6gre-tunnel-local-any.netdev', '25-tunnel-local-any.network',
                                         '25-ip6gre-tunnel-remote-any.netdev', '25-tunnel-remote-any.network')
-        start_networkd()
+        start_networkd(5)
 
         # Old kernels seem not to support IPv6LL address on ip6gre tunnel, So please do not use wait_online() here.
 
@@ -1143,7 +1145,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
     def test_nlmon(self):
         copy_unit_to_networkd_unit_path('25-nlmon.netdev', 'netdev-link-local-addressing-yes.network')
-        start_networkd()
+        start_networkd(0)
 
         wait_online(['nlmon99:carrier'])
 
@@ -1165,11 +1167,11 @@ class NetworkdL2TPTests(unittest.TestCase, Utilities):
     l2tp_tunnel_ids = [ '10' ]
 
     def setUp(self):
-        l2tp_tunnel_remove(self.l2tp_tunnel_ids)
+        remove_l2tp_tunnels(self.l2tp_tunnel_ids)
         remove_links(self.links)
 
     def tearDown(self):
-        l2tp_tunnel_remove(self.l2tp_tunnel_ids)
+        remove_l2tp_tunnels(self.l2tp_tunnel_ids)
         remove_links(self.links)
         remove_unit_from_networkd_path(self.units)
 
@@ -1311,10 +1313,9 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
     def test_address_preferred_lifetime_zero_ipv6(self):
         copy_unit_to_networkd_unit_path('25-address-preferred-lifetime-zero-ipv6.network', '12-dummy.netdev')
-        start_networkd()
+        start_networkd(5)
 
         self.check_link_exists('dummy98')
-
         self.check_operstate('dummy98', 'routable', setup_state='configuring')
 
         output = check_output('ip address show dummy98')
@@ -1324,9 +1325,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
     def test_configure_without_carrier(self):
         copy_unit_to_networkd_unit_path('configure-without-carrier.network', '11-dummy.netdev')
-        start_networkd()
-
-        self.check_link_exists('test1')
+        start_networkd(0)
+        wait_online(['test1:routable'])
 
         output = check_output(*networkctl_cmd, 'status', 'test1')
         print(output)
@@ -1336,10 +1336,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
     def test_routing_policy_rule(self):
         copy_unit_to_networkd_unit_path('routing-policy-rule-test1.network', '11-dummy.netdev')
-
-        start_networkd()
-
-        self.check_link_exists('test1')
+        start_networkd(0)
+        wait_online(['test1:degraded'])
 
         output = check_output('ip rule')
         print(output)
@@ -1356,10 +1354,9 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
         for trial in range(3):
             # Remove state files only first time
-            start_networkd(remove_state_files=(trial == 0))
-
-            self.check_link_exists('test1')
-            self.check_link_exists('dummy98')
+            start_networkd(0, remove_state_files=(trial == 0))
+            wait_online(['test1:degraded', 'dummy98:degraded'])
+            time.sleep(1)
 
             output = check_output('ip rule list table 7')
             print(output)
@@ -1372,10 +1369,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
     @expectedFailureIfRoutingPolicyPortRangeIsNotAvailable()
     def test_routing_policy_rule_port_range(self):
         copy_unit_to_networkd_unit_path('25-fibrule-port-range.network', '11-dummy.netdev')
-
-        start_networkd()
-
-        self.check_link_exists('test1')
+        start_networkd(0)
+        wait_online(['test1:degraded'])
 
         output = check_output('ip rule')
         print(output)
@@ -1389,10 +1384,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
     @expectedFailureIfRoutingPolicyIPProtoIsNotAvailable()
     def test_routing_policy_rule_invert(self):
         copy_unit_to_networkd_unit_path('25-fibrule-invert.network', '11-dummy.netdev')
-
-        start_networkd()
-
-        self.check_link_exists('test1')
+        start_networkd(0)
+        wait_online(['test1:degraded'])
 
         output = check_output('ip rule')
         print(output)
@@ -1404,7 +1397,6 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
     def test_route_static(self):
         copy_unit_to_networkd_unit_path('25-route-static.network', '12-dummy.netdev')
         start_networkd(0)
-
         wait_online(['dummy98:routable'])
 
         output = check_output('ip -6 route show dev dummy98')
@@ -1445,10 +1437,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         # reuse a bond from an earlier test, which does make the addresses go through
         # tentative state, and do our test on that
         copy_unit_to_networkd_unit_path('23-active-slave.network', '25-route-ipv6-src.network', '25-bond-active-backup-slave.netdev', '12-dummy.netdev')
-        start_networkd()
-
-        self.check_link_exists('dummy98')
-        self.check_link_exists('bond199')
+        start_networkd(0)
+        wait_online(['dummy98:enslaved', 'bond199:routable'])
 
         output = check_output('ip -6 route list dev bond199')
         print(output)
@@ -1458,9 +1448,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
     def test_ip_link_mac_address(self):
         copy_unit_to_networkd_unit_path('25-address-link-section.network', '12-dummy.netdev')
-        start_networkd()
-
-        self.check_link_exists('dummy98')
+        start_networkd(0)
+        wait_online(['dummy98:degraded'])
 
         output = check_output('ip link show dummy98')
         print(output)
@@ -1468,19 +1457,16 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
     def test_ip_link_unmanaged(self):
         copy_unit_to_networkd_unit_path('25-link-section-unmanaged.network', '12-dummy.netdev')
-        start_networkd()
+        start_networkd(5)
 
         self.check_link_exists('dummy98')
 
-        output = check_output(*networkctl_cmd, 'status', 'dummy98')
-        print(output)
-        self.assertRegex(output, 'unmanaged')
+        self.check_operstate('dummy98', 'off', setup_state='unmanaged')
 
     def test_ipv6_address_label(self):
         copy_unit_to_networkd_unit_path('25-ipv6-address-label-section.network', '12-dummy.netdev')
-        start_networkd()
-
-        self.check_link_exists('dummy98')
+        start_networkd(0)
+        wait_online(['dummy98:degraded'])
 
         output = check_output('ip addrlabel list')
         print(output)
@@ -1488,11 +1474,10 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
     def test_ipv6_neighbor(self):
         copy_unit_to_networkd_unit_path('25-neighbor-section.network', '12-dummy.netdev')
-        start_networkd()
-
-        self.check_link_exists('dummy98')
+        start_networkd(0)
+        wait_online(['dummy98:degraded'], timeout='40s')
 
-        output = check_output('ip neigh list')
+        output = check_output('ip neigh list dev dummy98')
         print(output)
         self.assertRegex(output, '192.168.10.1.*00:00:5e:00:02:65.*PERMANENT')
         self.assertRegex(output, '2004:da8:1::1.*00:00:5e:00:02:66.*PERMANENT')
@@ -1503,9 +1488,6 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         start_networkd(0)
         wait_online(['test1:degraded', 'dummy98:carrier'])
 
-        self.check_link_exists('test1')
-        self.check_link_exists('dummy98')
-
         output = check_output('ip address show dev test1')
         print(output)
         self.assertRegex(output, 'inet .* scope link')
@@ -1515,9 +1497,6 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
         print(output)
         self.assertNotRegex(output, 'inet6* .* scope link')
 
-        self.check_operstate('test1', 'degraded')
-        self.check_operstate('dummy98', 'carrier')
-
         '''
         Documentation/networking/ip-sysctl.txt
 
@@ -1612,9 +1591,8 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities):
 
     def test_bind_carrier(self):
         copy_unit_to_networkd_unit_path('25-bind-carrier.network', '11-dummy.netdev')
-        start_networkd()
-
-        self.check_link_exists('test1')
+        start_networkd(0)
+        wait_online(['test1:routable'])
 
         check_output('ip link add dummy98 type dummy')
         check_output('ip link set dummy98 up')
@@ -2415,9 +2393,6 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities):
         print(output)
         self.assertEqual(output, '')
 
-        self.check_operstate('vrf99', 'carrier')
-        self.check_operstate('veth99', 'routable')
-
     def test_dhcp_client_gateway_onlink_implicit(self):
         copy_unit_to_networkd_unit_path('25-veth.netdev', 'dhcp-server-veth-peer.network',
                                         'dhcp-client-gateway-onlink-implicit.network')