test-network: add tests for Flags= in [IPVLAN]
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 20 May 2019 03:47:31 +0000 (12:47 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 22 May 2019 08:58:46 +0000 (17:58 +0900)
test/test-network/conf/25-ipvlan.netdev
test/test-network/systemd-networkd-tests.py

index b53fbe6..c54fb3b 100755 (executable)
@@ -547,10 +547,20 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
     @expectedFailureIfModuleIsNotAvailable('ipvlan')
     def test_ipvlan(self):
-        self.copy_unit_to_networkd_unit_path('25-ipvlan.netdev', '11-dummy.netdev', 'ipvlan.network')
-        self.start_networkd(0)
+        for mode, flag in [['L2', 'private'], ['L3', 'vepa'], ['L3S', 'bridge']]:
+            with self.subTest(mode=mode, flag=flag):
+                if mode != 'L2':
+                    self.tearDown()
+                self.copy_unit_to_networkd_unit_path('25-ipvlan.netdev', '11-dummy.netdev', 'ipvlan.network')
+                with open(os.path.join(network_unit_file_path, '25-ipvlan.netdev'), mode='a') as f:
+                    f.write('[IPVLAN]\nMode=' + mode + '\nFlags=' + flag)
 
-        self.wait_online(['ipvlan99:off', 'test1:degraded'])
+                self.start_networkd(0)
+                self.wait_online(['ipvlan99:off', 'test1:degraded'])
+
+                output = subprocess.check_output(['ip', '-d', 'link', 'show', 'ipvlan99'], universal_newlines=True).rstrip()
+                print(output)
+                self.assertRegex(output, 'ipvlan  *mode ' + mode.lower() + ' ' + flag)
 
     @expectedFailureIfModuleIsNotAvailable('ipvtap')
     def test_ipvtap(self):