From: Yu Watanabe Date: Tue, 2 Jan 2024 19:40:54 +0000 (+0900) Subject: test-network: merge three tests for neighbor X-Git-Tag: v256-rc1~1269^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9362f7d5b56e5d27d42e5367bc10426319a3447c;p=thirdparty%2Fsystemd.git test-network: merge three tests for neighbor To speed up tests. --- diff --git a/test/test-network/conf/25-neighbor-ip-dummy.network b/test/test-network/conf/25-neighbor-dummy.network similarity index 100% rename from test/test-network/conf/25-neighbor-ip-dummy.network rename to test/test-network/conf/25-neighbor-dummy.network diff --git a/test/test-network/conf/25-neighbor-section.network b/test/test-network/conf/25-neighbor-dummy.network.d/10-step1.conf similarity index 90% rename from test/test-network/conf/25-neighbor-section.network rename to test/test-network/conf/25-neighbor-dummy.network.d/10-step1.conf index 59e21ebf1ba..727089e8244 100644 --- a/test/test-network/conf/25-neighbor-section.network +++ b/test/test-network/conf/25-neighbor-dummy.network.d/10-step1.conf @@ -1,10 +1,4 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -[Match] -Name=dummy98 - -[Network] -IPv6AcceptRA=no - [Neighbor] Address=192.168.10.1 LinkLayerAddress=00:00:5e:00:02:65 diff --git a/test/test-network/conf/25-neighbor-section.network.d/override.conf b/test/test-network/conf/25-neighbor-dummy.network.d/10-step2.conf similarity index 99% rename from test/test-network/conf/25-neighbor-section.network.d/override.conf rename to test/test-network/conf/25-neighbor-dummy.network.d/10-step2.conf index 01027e35c32..e28e3fcc53f 100644 --- a/test/test-network/conf/25-neighbor-section.network.d/override.conf +++ b/test/test-network/conf/25-neighbor-dummy.network.d/10-step2.conf @@ -1,5 +1,4 @@ # SPDX-License-Identifier: LGPL-2.1-or-later - [Neighbor] Address=192.168.10.1 LinkLayerAddress=00:00:5e:00:03:65 diff --git a/test/test-network/conf/25-neighbor-dummy.network.d/10-step3.conf b/test/test-network/conf/25-neighbor-dummy.network.d/10-step3.conf new file mode 100644 index 00000000000..9262b74d81b --- /dev/null +++ b/test/test-network/conf/25-neighbor-dummy.network.d/10-step3.conf @@ -0,0 +1,4 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later +[Neighbor] +Address=192.168.10.1 +LinkLayerAddress=00:00:5e:00:03:66 diff --git a/test/test-network/conf/25-neighbor-next.network b/test/test-network/conf/25-neighbor-next.network deleted file mode 100644 index 6911f4810d4..00000000000 --- a/test/test-network/conf/25-neighbor-next.network +++ /dev/null @@ -1,10 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1-or-later -[Match] -Name=dummy98 - -[Network] -IPv6AcceptRA=no - -[Neighbor] -Address=192.168.10.1 -LinkLayerAddress=00:00:5e:00:02:66 diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py index 24757d68fa1..a0ec8f1fbc4 100755 --- a/test/test-network/systemd-networkd-tests.py +++ b/test/test-network/systemd-networkd-tests.py @@ -3450,10 +3450,25 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): for i in range(1, 5): self.assertRegex(output, f'2607:5300:203:5215:{i}::1 *proxy') - def test_neighbor_section(self): - copy_network_unit('25-neighbor-section.network', '12-dummy.netdev', copy_dropins=False) + def test_neighbor(self): + copy_network_unit('12-dummy.netdev', '25-neighbor-dummy.network', '25-neighbor-dummy.network.d/10-step1.conf', + '25-gre-tunnel-remote-any.netdev', '25-neighbor-ip.network', + '25-ip6gre-tunnel-remote-any.netdev', '25-neighbor-ipv6.network', + copy_dropins=False) start_networkd() - self.wait_online(['dummy98:degraded']) + self.wait_online(['dummy98:degraded', 'gretun97:routable', 'ip6gretun97:routable']) + + print('### ip neigh list dev gretun97') + output = check_output('ip neigh list dev gretun97') + print(output) + self.assertIn('10.0.0.22 lladdr 10.65.223.239 PERMANENT', output) + self.assertNotIn('10.0.0.23', output) + + print('### ip neigh list dev ip6gretun97') + output = check_output('ip neigh list dev ip6gretun97') + print(output) + self.assertRegex(output, '2001:db8:0:f102::17 lladdr 2a:?00:ff:?de:45:?67:ed:?de:[0:]*:49:?88 PERMANENT') + self.assertNotIn('2001:db8:0:f102::18', output) print('### ip neigh list dev dummy98') output = check_output('ip neigh list dev dummy98') @@ -3467,60 +3482,39 @@ class NetworkdNetworkTests(unittest.TestCase, Utilities): output = check_output(*networkctl_cmd, '--json=short', 'status', env=env) check_json(output) - copy_network_unit('25-neighbor-section.network.d/override.conf') + # Here, 10-step1.conf is intendedly kept, to verify that 10-step2.conf overrides + # the valid configurations in 10-step1.conf. + copy_network_unit('25-neighbor-dummy.network.d/10-step2.conf') networkctl_reload() self.wait_online(['dummy98:degraded']) - print('### ip neigh list dev dummy98 (after reloading)') + print('### ip neigh list dev dummy98') output = check_output('ip neigh list dev dummy98') print(output) self.assertIn('192.168.10.1 lladdr 00:00:5e:00:03:65 PERMANENT', output) self.assertIn('2004:da8:1::1 lladdr 00:00:5e:00:03:66 PERMANENT', output) self.assertNotIn('2004:da8:1:0::2', output) self.assertNotIn('192.168.10.2', output) - self.assertNotIn('00:00:5e:00:02', output) - - def test_neighbor_reconfigure(self): - copy_network_unit('25-neighbor-section.network', '12-dummy.netdev', copy_dropins=False) - start_networkd() - self.wait_online(['dummy98:degraded']) + self.assertNotIn('00:00:5e:00:02:67', output) - print('### ip neigh list dev dummy98') - output = check_output('ip neigh list dev dummy98') - print(output) - self.assertIn('192.168.10.1 lladdr 00:00:5e:00:02:65 PERMANENT', output) - self.assertIn('2004:da8:1::1 lladdr 00:00:5e:00:02:66 PERMANENT', output) + output = check_output(*networkctl_cmd, '--json=short', 'status', env=env) + check_json(output) - remove_network_unit('25-neighbor-section.network') - copy_network_unit('25-neighbor-next.network') + remove_network_unit('25-neighbor-dummy.network.d/10-step1.conf', + '25-neighbor-dummy.network.d/10-step2.conf') + copy_network_unit('25-neighbor-dummy.network.d/10-step3.conf') networkctl_reload() self.wait_online(['dummy98:degraded']) + print('### ip neigh list dev dummy98') output = check_output('ip neigh list dev dummy98') print(output) + self.assertIn('192.168.10.1 lladdr 00:00:5e:00:03:66 PERMANENT', output) self.assertNotIn('00:00:5e:00:02:65', output) - self.assertIn('192.168.10.1 lladdr 00:00:5e:00:02:66 PERMANENT', output) + self.assertNotIn('00:00:5e:00:02:66', output) + self.assertNotIn('00:00:5e:00:03:65', output) self.assertNotIn('2004:da8:1::1', output) - def test_neighbor_gre(self): - copy_network_unit('25-neighbor-ip.network', '25-neighbor-ipv6.network', '25-neighbor-ip-dummy.network', - '12-dummy.netdev', '25-gre-tunnel-remote-any.netdev', '25-ip6gre-tunnel-remote-any.netdev') - start_networkd() - self.wait_online(['dummy98:degraded', 'gretun97:routable', 'ip6gretun97:routable'], timeout='40s') - - output = check_output('ip neigh list dev gretun97') - print(output) - self.assertIn('10.0.0.22 lladdr 10.65.223.239 PERMANENT', output) - self.assertNotIn('10.0.0.23', output) - - output = check_output('ip neigh list dev ip6gretun97') - print(output) - self.assertRegex(output, '2001:db8:0:f102::17 lladdr 2a:?00:ff:?de:45:?67:ed:?de:[0:]*:49:?88 PERMANENT') - self.assertNotIn('2001:db8:0:f102::18', output) - - output = check_output(*networkctl_cmd, '--json=short', 'status', env=env) - check_json(output) - def test_link_local_addressing(self): copy_network_unit('25-link-local-addressing-yes.network', '11-dummy.netdev', '25-link-local-addressing-no.network', '12-dummy.netdev')