]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
tests: mark a few tests as expected failures when the required modules aren't available 10625/head
authorEvgeny Vereshchagin <evvers@ya.ru>
Fri, 2 Nov 2018 21:08:30 +0000 (22:08 +0100)
committerEvgeny Vereshchagin <evvers@ya.ru>
Fri, 2 Nov 2018 23:12:01 +0000 (00:12 +0100)
Closes https://github.com/systemd/systemd/issues/10617.

test/test-network/systemd-networkd-tests.py

index 82d10ddc43d955a4afd704810b4c53d5fbdd58e1..ff632740fc289669f275b00327995659ca2fe3f9 100755 (executable)
@@ -22,6 +22,17 @@ dnsmasq_config_file='/var/run/networkd-ci/test-dnsmasq.conf'
 dnsmasq_pid_file='/var/run/networkd-ci/test-test-dnsmasq.pid'
 dnsmasq_log_file='/var/run/networkd-ci/test-dnsmasq-log-file'
 
+def is_module_available(module_name):
+    return not subprocess.call(["modprobe", module_name])
+
+def expectedFailureIfModuleIsNotAvailable(module_name):
+    def f(func):
+        if not is_module_available(module_name):
+            return unittest.expectedFailure(func)
+        return func
+
+    return f
+
 def setUpModule():
 
     os.makedirs(network_unit_file_path, exist_ok=True)
@@ -213,6 +224,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
         self.assertTrue(self.link_exits('macvlan99'))
 
+    @expectedFailureIfModuleIsNotAvailable('ipvlan')
     def test_ipvlan(self):
         self.copy_unit_to_networkd_unit_path('25-ipvlan.netdev', '11-dummy.netdev', 'ipvlan.network')
 
@@ -248,6 +260,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
         self.assertTrue(self.link_exits('tap99'))
 
+    @expectedFailureIfModuleIsNotAvailable('vrf')
     def test_vrf(self):
         self.copy_unit_to_networkd_unit_path('25-vrf.netdev')
 
@@ -255,6 +268,7 @@ class NetworkdNetDevTests(unittest.TestCase, Utilities):
 
         self.assertTrue(self.link_exits('vrf99'))
 
+    @expectedFailureIfModuleIsNotAvailable('vcan')
     def test_vcan(self):
         self.copy_unit_to_networkd_unit_path('25-vcan.netdev')