summaryrefslogtreecommitdiff
path: root/test/test-network
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2022-10-28 06:25:56 +0900
committerYu Watanabe <watanabe.yu+github@gmail.com>2022-10-31 09:35:05 +0900
commitfa4d3fed46a97ee45a4aeba4d9540015bf5cab7b (patch)
treee3df4c394df545ee9dbfd61ee084d42558bc06b8 /test/test-network
parent40695457271dbc92b8556f017c30170a078fbae0 (diff)
downloadsystemd-fa4d3fed46a97ee45a4aeba4d9540015bf5cab7b.tar.gz
test-network: add testcase for reconfiguring interface
Diffstat (limited to 'test/test-network')
-rw-r--r--test/test-network/conf/12-dummy-altname.link7
-rw-r--r--test/test-network/conf/12-dummy-mac.netdev5
-rw-r--r--test/test-network/conf/12-dummy-match-altname.network9
-rw-r--r--test/test-network/conf/12-dummy-match-mac-01.network9
-rw-r--r--test/test-network/conf/12-dummy-match-mac-02.network9
-rw-r--r--test/test-network/conf/12-dummy-match-renamed.network9
-rwxr-xr-xtest/test-network/systemd-networkd-tests.py48
7 files changed, 96 insertions, 0 deletions
diff --git a/test/test-network/conf/12-dummy-altname.link b/test/test-network/conf/12-dummy-altname.link
new file mode 100644
index 0000000000..ff47fec7d4
--- /dev/null
+++ b/test/test-network/conf/12-dummy-altname.link
@@ -0,0 +1,7 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[Match]
+OriginalName=dummy98-2
+Driver=dummy
+
+[Link]
+AlternativeName=dummy98-2-altname
diff --git a/test/test-network/conf/12-dummy-mac.netdev b/test/test-network/conf/12-dummy-mac.netdev
new file mode 100644
index 0000000000..254ec94293
--- /dev/null
+++ b/test/test-network/conf/12-dummy-mac.netdev
@@ -0,0 +1,5 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[NetDev]
+Name=dummy98
+Kind=dummy
+MACAddress=12:34:56:78:9a:01
diff --git a/test/test-network/conf/12-dummy-match-altname.network b/test/test-network/conf/12-dummy-match-altname.network
new file mode 100644
index 0000000000..28d98c8edb
--- /dev/null
+++ b/test/test-network/conf/12-dummy-match-altname.network
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[Match]
+Name=dummy98-2-altname
+Driver=dummy
+MACAddress=12:34:56:78:9a:02
+
+[Network]
+IPv6AcceptRA=no
+Address=10.0.2.2/16
diff --git a/test/test-network/conf/12-dummy-match-mac-01.network b/test/test-network/conf/12-dummy-match-mac-01.network
new file mode 100644
index 0000000000..300bad6f9d
--- /dev/null
+++ b/test/test-network/conf/12-dummy-match-mac-01.network
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[Match]
+Name=dummy98
+Driver=dummy
+MACAddress=12:34:56:78:9a:01
+
+[Network]
+IPv6AcceptRA=no
+Address=10.0.0.1/16
diff --git a/test/test-network/conf/12-dummy-match-mac-02.network b/test/test-network/conf/12-dummy-match-mac-02.network
new file mode 100644
index 0000000000..328469193a
--- /dev/null
+++ b/test/test-network/conf/12-dummy-match-mac-02.network
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[Match]
+Name=dummy98
+Driver=dummy
+MACAddress=12:34:56:78:9a:02
+
+[Network]
+IPv6AcceptRA=no
+Address=10.0.0.2/16
diff --git a/test/test-network/conf/12-dummy-match-renamed.network b/test/test-network/conf/12-dummy-match-renamed.network
new file mode 100644
index 0000000000..bdac469bc3
--- /dev/null
+++ b/test/test-network/conf/12-dummy-match-renamed.network
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+[Match]
+Name=dummy98-1
+Driver=dummy
+MACAddress=12:34:56:78:9a:02
+
+[Network]
+IPv6AcceptRA=no
+Address=10.0.1.2/16
diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py
index 2f7614428c..7059711f1d 100755
--- a/test/test-network/systemd-networkd-tests.py
+++ b/test/test-network/systemd-networkd-tests.py
@@ -1062,6 +1062,54 @@ class NetworkctlTests(unittest.TestCase, Utilities):
self.check_link_exists('veth99', expected=False)
self.check_link_exists('veth-peer', expected=False)
+class NetworkdMatchTests(unittest.TestCase, Utilities):
+
+ def setUp(self):
+ setup_common()
+
+ def tearDown(self):
+ tear_down_common()
+
+ def test_match(self):
+ copy_network_unit('12-dummy-mac.netdev',
+ '12-dummy-match-mac-01.network',
+ '12-dummy-match-mac-02.network',
+ '12-dummy-match-renamed.network',
+ '12-dummy-match-altname.network',
+ '12-dummy-altname.link')
+ start_networkd()
+
+ self.wait_online(['dummy98:routable'])
+ output = check_output(*networkctl_cmd, '-n', '0', 'status', 'dummy98', env=env)
+ self.assertIn('Network File: /run/systemd/network/12-dummy-match-mac-01.network', output)
+ output = check_output('ip -4 address show dev dummy98')
+ self.assertIn('10.0.0.1/16', output)
+
+ check_output('ip link set dev dummy98 down')
+ check_output('ip link set dev dummy98 address 12:34:56:78:9a:02')
+
+ self.wait_address('dummy98', '10.0.0.2/16', ipv='-4', timeout_sec=10)
+ self.wait_online(['dummy98:routable'])
+ output = check_output(*networkctl_cmd, '-n', '0', 'status', 'dummy98', env=env)
+ self.assertIn('Network File: /run/systemd/network/12-dummy-match-mac-02.network', output)
+
+ check_output('ip link set dev dummy98 down')
+ check_output('ip link set dev dummy98 name dummy98-1')
+
+ self.wait_address('dummy98-1', '10.0.1.2/16', ipv='-4', timeout_sec=10)
+ self.wait_online(['dummy98-1:routable'])
+ output = check_output(*networkctl_cmd, '-n', '0', 'status', 'dummy98-1', env=env)
+ self.assertIn('Network File: /run/systemd/network/12-dummy-match-renamed.network', output)
+
+ check_output('ip link set dev dummy98-1 down')
+ check_output('ip link set dev dummy98-1 name dummy98-2')
+ check_output(*udevadm_cmd, 'trigger', '--action=add', '/sys/class/net/dummy98-2')
+
+ self.wait_address('dummy98-2', '10.0.2.2/16', ipv='-4', timeout_sec=10)
+ self.wait_online(['dummy98-2:routable'])
+ output = check_output(*networkctl_cmd, '-n', '0', 'status', 'dummy98-2', env=env)
+ self.assertIn('Network File: /run/systemd/network/12-dummy-match-altname.network', output)
+
class NetworkdNetDevTests(unittest.TestCase, Utilities):
def setUp(self):