]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
Merge pull request #12796 from yuwata/test-network-use-wait-online
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 15 Jun 2019 12:53:04 +0000 (14:53 +0200)
committerGitHub <noreply@github.com>
Sat, 15 Jun 2019 12:53:04 +0000 (14:53 +0200)
test-network: several cleanups

test/test-network/conf/25-neighbor-section.network
test/test-network/systemd-networkd-tests.py

index d90802f44f22e00f0502f78fdfee1ac1c92d8baf..02dbd3843bf4732b8d2eff8b9ea28fdd8589be1d 100644 (file)
@@ -1,6 +1,9 @@
 [Match]
 Name=dummy98
 
+[Network]
+IPv6AcceptRA=no
+
 [Neighbor]
 Address=192.168.10.1
 MACAddress=00:00:5e:00:02:65
index eb9cf8375dca8658af6539be085dbf60e79ed145..5e948623677cee2b4dbcd2da4eba68a6df3ed279 100755 (executable)
@@ -184,15 +184,15 @@ 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)
+        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):
     output = check_output('ip l2tp show tunnel')
@@ -879,7 +879,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 +1143,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'])
 
@@ -1311,10 +1311,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 +1323,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 +1334,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 +1352,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 +1367,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 +1382,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 +1395,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 +1435,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 +1446,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 +1455,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 +1472,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 +1486,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 +1495,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 +1589,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 +2391,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')