]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - test/test-network/systemd-networkd-tests.py
test-network: add a test case for netdev altname
[thirdparty/systemd.git] / test / test-network / systemd-networkd-tests.py
index 30e2de8b0d996283f3ad9e190465a2d68c25aa59..10b408e44922dd4026de6c130c8505eb0d9c6fd3 100755 (executable)
@@ -127,6 +127,17 @@ def expectedFailureIfNexthopIsNotAvailable():
 
     return f
 
+def expectedFailureIfAlternativeNameIsNotAvailable():
+    def f(func):
+        call('ip link add dummy98 type dummy', stderr=subprocess.DEVNULL)
+        rc = call('ip link prop add dev dummy98 altname hogehogehogehogehoge', stderr=subprocess.DEVNULL)
+        if rc == 0:
+            return func
+        else:
+            return unittest.expectedFailure(func)
+
+    return f
+
 def setUpModule():
     global running_units
 
@@ -425,6 +436,7 @@ class NetworkctlTests(unittest.TestCase, Utilities):
         '11-dummy-mtu.netdev',
         '11-dummy.network',
         '12-dummy.netdev',
+        '12-dummy.link',
         '25-address-static.network',
         '25-veth.netdev',
         'netdev-link-local-addressing-yes.network',
@@ -439,6 +451,16 @@ class NetworkctlTests(unittest.TestCase, Utilities):
         remove_unit_from_networkd_path(self.units)
         stop_networkd(show_logs=True)
 
+    @expectedFailureIfAlternativeNameIsNotAvailable()
+    def test_altname(self):
+        copy_unit_to_networkd_unit_path('netdev-link-local-addressing-yes.network', '12-dummy.netdev', '12-dummy.link')
+        check_output('udevadm control --reload')
+        start_networkd()
+        self.wait_online(['dummy98:degraded'])
+
+        output = check_output(*networkctl_cmd, 'status', 'dummy98', env=env)
+        self.assertRegex(output, 'hogehogehogehogehogehoge')
+
     def test_reconfigure(self):
         copy_unit_to_networkd_unit_path('25-address-static.network', '12-dummy.netdev')
         start_networkd()