From e28fd95ffb2067298c9495353a3673568fe30bfd Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 1 Jun 2019 10:31:09 +0900 Subject: test-network: add udev related tests for networkctl --- test/test-network/systemd-networkd-tests.py | 46 +++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'test/test-network/systemd-networkd-tests.py') diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 75863c3910..4e9160181c 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -91,6 +91,23 @@ def expectedFailureIfRoutingPolicyIPProtoIsNotAvailable(): return f +def expectedFailureIfLinkFileFieldIsNotSet(): + def f(func): + support = False + rc = call('ip link add name dummy99 type dummy') + if rc == 0: + ret = run('udevadm info -w10s /sys/class/net/dummy99', stdout=subprocess.PIPE, stderr=subprocess.STDOUT) + if ret.returncode == 0 and 'E: ID_NET_LINK_FILE=' in ret.stdout.rstrip(): + support = True + call('ip link del dummy99') + + if support: + return func + else: + return unittest.expectedFailure(func) + + return f + def expectedFailureIfEthtoolDoesNotSupportDriver(): def f(func): support = False @@ -371,6 +388,35 @@ class NetworkctlTests(unittest.TestCase, Utilities): output = check_output(*networkctl_cmd, 'status', 'test1', env=env) self.assertRegex(output, 'MTU: 1600') + def test_type(self): + copy_unit_to_networkd_unit_path('11-dummy.netdev', '11-dummy.network') + start_networkd() + wait_online(['test1:degraded']) + + output = check_output(*networkctl_cmd, 'status', 'test1') + print(output) + self.assertRegex(output, 'Type: ether') + + output = check_output(*networkctl_cmd, 'status', 'lo') + print(output) + self.assertRegex(output, 'Type: loopback') + + @expectedFailureIfLinkFileFieldIsNotSet() + def test_udev_link_file(self): + copy_unit_to_networkd_unit_path('11-dummy.netdev', '11-dummy.network') + start_networkd() + wait_online(['test1:degraded']) + + output = check_output(*networkctl_cmd, 'status', 'test1') + print(output) + self.assertRegex(output, r'Link File: (?:/usr)/lib/systemd/network/99-default.link') + self.assertRegex(output, r'Network File: /run/systemd/network/11-dummy.network') + + output = check_output(*networkctl_cmd, 'status', 'lo') + print(output) + self.assertRegex(output, r'Link File: (?:/usr)/lib/systemd/network/99-default.link') + self.assertRegex(output, r'Network File: n/a') + @expectedFailureIfEthtoolDoesNotSupportDriver() def test_udev_driver(self): copy_unit_to_networkd_unit_path('11-dummy.netdev', '11-dummy.network', -- cgit v1.2.1