]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
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 9921b787a13ef9f8cbc9fa45df653002dcfdf237..d0f0c9a87e0c03405e962baa143503bf9032c140 100644 (file)
@@ -1,6 +1,3 @@
 [NetDev]
 Name=ipvlan99
 Kind=ipvlan
-
-[IPVLAN]
-Mode=L2
index b53fbe651a8a19a690c9be10d9f6e0e8bc5031c5..c54fb3b83c33ef73820596eddc1fb753158947d9 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):