diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-04-01 10:28:32 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2019-04-02 03:38:22 +0900 |
commit | 03db80b2d1edde5451fc396c846339b5e4fd8ef7 (patch) | |
tree | 5fa474ea24e8fe875dc24cdb1e6237176a4223e9 | |
parent | c7f070bd4aa897ee9d278b2c6fed8a47fe761d40 (diff) | |
download | systemd-03db80b2d1edde5451fc396c846339b5e4fd8ef7.tar.gz |
test-network: add tests for --any option of wait-online
-rw-r--r-- | test/test-network/conf/11-dummy.network | 5 | ||||
-rw-r--r-- | test/test-network/conf/25-bridge.network | 5 | ||||
-rwxr-xr-x | test/test-network/systemd-networkd-tests.py | 22 |
3 files changed, 31 insertions, 1 deletions
diff --git a/test/test-network/conf/11-dummy.network b/test/test-network/conf/11-dummy.network new file mode 100644 index 0000000000..b117028a84 --- /dev/null +++ b/test/test-network/conf/11-dummy.network @@ -0,0 +1,5 @@ +[Match] +Name=test1 + +[Network] +IPv6AcceptRA=no diff --git a/test/test-network/conf/25-bridge.network b/test/test-network/conf/25-bridge.network new file mode 100644 index 0000000000..d2f346388d --- /dev/null +++ b/test/test-network/conf/25-bridge.network @@ -0,0 +1,5 @@ +[Match] +Name=bridge99 + +[Network] +IPv6AcceptRA=no diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 34cf388b0c..bd79ff737e 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -185,8 +185,10 @@ class Utilities(): if sleep_sec > 0: time.sleep(sleep_sec) - def wait_online(self, links_with_operstate, timeout='20s'): + def wait_online(self, links_with_operstate, timeout='20s', bool_any=False): args = [wait_online_bin, f'--timeout={timeout}'] + [f'--interface={link}' for link in links_with_operstate] + if bool_any: + args += ['--any'] subprocess.check_call(args) class NetworkdNetDevTests(unittest.TestCase, Utilities): @@ -243,6 +245,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): units = [ '10-dropin-test.netdev', '11-dummy.netdev', + '11-dummy.network', '12-dummy.netdev', '21-macvlan.netdev', '21-macvtap.netdev', @@ -253,6 +256,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): '25-bond.netdev', '25-bond-balanced-tlb.netdev', '25-bridge.netdev', + '25-bridge.network', '25-erspan-tunnel-local-any.netdev', '25-erspan-tunnel.netdev', '25-geneve.netdev', @@ -352,6 +356,22 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): else: print('ethtool does not support driver field at least for dummy interfaces, skipping test for Driver field of networkctl.') + def test_wait_online_any(self): + self.copy_unit_to_networkd_unit_path('25-bridge.netdev', '25-bridge.network', '11-dummy.netdev', '11-dummy.network') + self.start_networkd(0) + + self.wait_online(['bridge99', 'test1:degraded'], bool_any=True) + self.assertTrue(self.link_exits('bridge99')) + self.assertTrue(self.link_exits('test1')) + + output = subprocess.check_output(['networkctl', 'status', 'bridge99']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, 'State: (?:off|no-carrier) \(configuring\)') + + output = subprocess.check_output(['networkctl', 'status', 'test1']).rstrip().decode('utf-8') + print(output) + self.assertRegex(output, 'State: degraded \(configured\)') + def test_bridge(self): self.copy_unit_to_networkd_unit_path('25-bridge.netdev') self.start_networkd() |