]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-network: use wait-online in NetworkdBridgeTests
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 17 Jun 2019 02:06:01 +0000 (11:06 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Tue, 18 Jun 2019 04:10:23 +0000 (13:10 +0900)
test/test-network/conf/bridge99-ignore-carrier-loss.network
test/test-network/systemd-networkd-tests.py

index d4741d687dd2b92186672844ddf34ddaa4444916..9797e2edb613c5b5123455627918e49cb4aa3eb7 100644 (file)
@@ -6,6 +6,7 @@ Address=192.168.0.15/24
 Gateway=192.168.0.1
 IPv6AcceptRA=no
 IgnoreCarrierLoss=true
+ConfigureWithoutCarrier=true
 
 [RoutingPolicyRule]
 To=8.8.8.8
index 76481d45e9fda53c72a2d26b13de07e39e37e1d2..3f50b7239ed7aaf763475a2b69d8e11af1d16be7 100755 (executable)
@@ -1799,11 +1799,8 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
         copy_unit_to_networkd_unit_path('11-dummy.netdev', '12-dummy.netdev', '26-bridge.netdev',
                                         '26-bridge-slave-interface-1.network', '26-bridge-slave-interface-2.network',
                                         'bridge99.network')
-        start_networkd()
-
-        self.check_link_exists('dummy98')
-        self.check_link_exists('test1')
-        self.check_link_exists('bridge99')
+        start_networkd(0)
+        wait_online(['dummy98:enslaved', 'test1:enslaved', 'bridge99:routable'])
 
         output = check_output('ip -d link show test1')
         print(output)
@@ -1834,10 +1831,6 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
         if (os.path.exists('/sys/devices/virtual/net/bridge00/lower_dummy98/brport/multicast_to_unicast')):
             self.assertEqual(read_bridge_port_attr('bridge99', 'dummy98', 'multicast_to_unicast'), '1')
 
-        self.check_operstate('test1', 'enslaved')
-        self.check_operstate('dummy98', 'enslaved')
-        self.check_operstate('bridge99', 'routable')
-
         check_output('ip address add 192.168.0.16/24 dev bridge99')
         time.sleep(1)
 
@@ -1845,8 +1838,6 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
         print(output)
         self.assertRegex(output, '192.168.0.16/24')
 
-        self.check_operstate('bridge99', 'routable')
-
         self.assertEqual(call('ip link del test1'), 0)
         time.sleep(3)
 
@@ -1867,11 +1858,8 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
         copy_unit_to_networkd_unit_path('11-dummy.netdev', '12-dummy.netdev', '26-bridge.netdev',
                                         '26-bridge-slave-interface-1.network', '26-bridge-slave-interface-2.network',
                                         'bridge99-ignore-carrier-loss.network')
-        start_networkd()
-
-        self.check_link_exists('dummy98')
-        self.check_link_exists('test1')
-        self.check_link_exists('bridge99')
+        start_networkd(0)
+        wait_online(['dummy98:enslaved', 'test1:enslaved', 'bridge99:routable'])
 
         check_output('ip address add 192.168.0.16/24 dev bridge99')
         time.sleep(1)
@@ -1889,32 +1877,16 @@ class NetworkdBridgeTests(unittest.TestCase, Utilities):
     def test_bridge_ignore_carrier_loss_frequent_loss_and_gain(self):
         copy_unit_to_networkd_unit_path('26-bridge.netdev', '26-bridge-slave-interface-1.network',
                                         'bridge99-ignore-carrier-loss.network')
-        start_networkd()
-
-        self.check_link_exists('bridge99')
-
-        check_output('ip link add dummy98 type dummy')
-        check_output('ip link set dummy98 up')
-        check_output('ip link del dummy98')
-
-        check_output('ip link add dummy98 type dummy')
-        check_output('ip link set dummy98 up')
-        check_output('ip link del dummy98')
-
-        check_output('ip link add dummy98 type dummy')
-        check_output('ip link set dummy98 up')
-        check_output('ip link del dummy98')
+        start_networkd(0)
+        wait_online(['bridge99:no-carrier'])
 
-        check_output('ip link add dummy98 type dummy')
-        check_output('ip link set dummy98 up')
+        for trial in range(4):
+            check_output('ip link add dummy98 type dummy')
+            check_output('ip link set dummy98 up')
+            if trial < 3:
+                check_output('ip link del dummy98')
 
-        for trial in range(30):
-            if trial > 0:
-                time.sleep(1)
-            if get_operstate('bridge99') == 'routable' and get_operstate('dummy98') == 'enslaved':
-                break
-        else:
-            self.assertTrue(False)
+        wait_online(['bridge99:routable', 'dummy98:enslaved'])
 
         output = check_output('ip address show bridge99')
         print(output)