]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-network: add tests for Flags= in [IPVTAP]
authorYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 20 May 2019 03:48:05 +0000 (12:48 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Wed, 22 May 2019 08:58:46 +0000 (17:58 +0900)
test/test-network/conf/25-ipvtap.netdev
test/test-network/systemd-networkd-tests.py

index cd6aec21ab2947e53d7276a10da450d3308a5ff8..2e40adb7ce10c9ab22341fe2887bdb17d7897e8b 100644 (file)
@@ -1,6 +1,3 @@
 [NetDev]
 Name=ipvtap99
 Kind=ipvtap
-
-[IPVLAN]
-Mode=L2
index c54fb3b83c33ef73820596eddc1fb753158947d9..89b3e2824f90745c7fa703ce7a57bb18db9d53ef 100755 (executable)
@@ -564,10 +564,20 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
     @expectedFailureIfModuleIsNotAvailable('ipvtap')
     def test_ipvtap(self):
-        self.copy_unit_to_networkd_unit_path('25-ipvtap.netdev', '11-dummy.netdev', 'ipvtap.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-ipvtap.netdev', '11-dummy.netdev', 'ipvtap.network')
+                with open(os.path.join(network_unit_file_path, '25-ipvtap.netdev'), mode='a') as f:
+                    f.write('[IPVTAP]\nMode=' + mode + '\nFlags=' + flag)
+
+                self.start_networkd(0)
+                self.wait_online(['ipvtap99:off', 'test1:degraded'])
 
-        self.wait_online(['ipvtap99:off', 'test1:degraded'])
+                output = subprocess.check_output(['ip', '-d', 'link', 'show', 'ipvtap99'], universal_newlines=True).rstrip()
+                print(output)
+                self.assertRegex(output, 'ipvtap  *mode ' + mode.lower() + ' ' + flag)
 
     def test_veth(self):
         self.copy_unit_to_networkd_unit_path('25-veth.netdev')