summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2024-10-23 22:25:41 +0200
committerYu Watanabe <watanabe.yu+github@gmail.com>2024-10-30 16:34:48 +0100
commit58a011ba4865d083bffdebe33126637bc5bba511 (patch)
tree82f21903aa622221a0671f88946023433c2b4bf2 /test
parentnetwork: process queued remove requests before networkd is stopped (diff)
downloadsystemd-58a011ba4865d083bffdebe33126637bc5bba511.tar.xz
systemd-58a011ba4865d083bffdebe33126637bc5bba511.zip
test-network: add test for DHCPv4 address removal on stop
For issue #34837.
Diffstat (limited to 'test')
-rwxr-xr-xtest/test-network/systemd-networkd-tests.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/test-network/systemd-networkd-tests.py b/test/test-network/systemd-networkd-tests.py
index b193f86da9..6a14dff144 100755
--- a/test/test-network/systemd-networkd-tests.py
+++ b/test/test-network/systemd-networkd-tests.py
@@ -6820,6 +6820,25 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities):
self.check_nftset('network4', r'192\.168\.5\.0/24')
self.check_nftset('ifindex', 'veth99')
+ # Check if DHCPv4 address and routes are removed on stop. For issue #34837.
+ stop_networkd(show_logs=False)
+ self.wait_address_dropped('veth99', f'inet {address2}/24', ipv='-4', timeout_sec=120)
+
+ print('## ip address show dev veth99 scope global')
+ output = check_output('ip address show dev veth99 scope global')
+ print(output)
+ self.assertNotIn(f'{address2}', output)
+
+ print('## ip route show table main dev veth99')
+ output = check_output('ip route show table main dev veth99')
+ print(output)
+ self.assertNotIn(f'{address2}', output)
+
+ print('## ip route show table 211 dev veth99')
+ output = check_output('ip route show table 211 dev veth99')
+ print(output)
+ self.assertNotIn(f'{address2}', output)
+
self.teardown_nftset('addr4', 'network4', 'ifindex')
def test_dhcp_client_ipv4_dbus_status(self):