From dff9792b159b15ef73c5eca8111437f1dafe4eaa Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Mon, 20 May 2019 11:39:05 +0900 Subject: [PATCH] test-network: add tests for Mode= setting in [MACVLAN] section --- test/test-network/systemd-networkd-tests.py | 29 +++++++++++++-------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index d257d92e1af..5f6e1c5e1dc 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -515,18 +515,25 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities): self.wait_online(['macvtap99:off', 'test1:degraded']) def test_macvlan(self): - self.copy_unit_to_networkd_unit_path('21-macvlan.netdev', '11-dummy.netdev', 'macvlan.network') - self.start_networkd(0) - - self.wait_online(['macvlan99:off', 'test1:degraded']) - - output = subprocess.check_output(['ip', '-d', 'link', 'show', 'test1'], universal_newlines=True).rstrip() - print(output) - self.assertRegex(output, ' mtu 2000 ') + for mode in ['private', 'vepa', 'bridge', 'passthru']: + with self.subTest(mode=mode): + if mode != 'private': + self.tearDown() + self.copy_unit_to_networkd_unit_path('21-macvlan.netdev', '11-dummy.netdev', 'macvlan.network') + with open(os.path.join(network_unit_file_path, '21-macvlan.netdev'), mode='a') as f: + f.write('[MACVLAN]\nMode=' + mode) + self.start_networkd(0) + + self.wait_online(['macvlan99:off', 'test1:degraded']) + + output = subprocess.check_output(['ip', '-d', 'link', 'show', 'test1'], universal_newlines=True).rstrip() + print(output) + self.assertRegex(output, ' mtu 2000 ') - output = subprocess.check_output(['ip', '-d', 'link', 'show', 'macvlan99'], universal_newlines=True).rstrip() - print(output) - self.assertRegex(output, ' mtu 2000 ') + output = subprocess.check_output(['ip', '-d', 'link', 'show', 'macvlan99'], universal_newlines=True).rstrip() + print(output) + self.assertRegex(output, ' mtu 2000 ') + self.assertRegex(output, 'macvlan mode ' + mode + ' ') @expectedFailureIfModuleIsNotAvailable('ipvlan') def test_ipvlan(self): -- 2.39.2