]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-network: verify DHCP server PoolSize and PoolOffset DBus properties 41137/head
authorJonathan Davies <jpds@protonmail.com>
Sun, 15 Mar 2026 22:48:24 +0000 (22:48 +0000)
committerJonathan Davies <jpds@protonmail.com>
Wed, 15 Apr 2026 14:20:40 +0000 (14:20 +0000)
Add integration test coverage for the PoolSize and PoolOffset properties
exposed on the org.freedesktop.network1.DHCPServer DBus interface.

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

index 03404e6cbeb41f611e3b3612aa8e2313b43128af..91d97383e79bb0fdef546ba5f77468c4bd74788a 100755 (executable)
@@ -931,6 +931,13 @@ def get_dbus_link_path(link):
     out = out.decode()
     return out[:-1].split('"')[1]
 
+def get_dhcp_server_property(link, prop):
+    link_path = get_dbus_link_path(link)
+
+    out = subprocess.check_output(['busctl', 'get-property', 'org.freedesktop.network1',
+                                   link_path, 'org.freedesktop.network1.DHCPServer', prop])
+    return out.strip().decode()
+
 def get_dhcp_client_state(link, family):
     link_path = get_dbus_link_path(link)
 
@@ -7293,6 +7300,9 @@ class NetworkdDHCPServerTests(unittest.TestCase, Utilities):
         print(output)
         self.assertRegex(output, "Offered DHCP leases: 192.168.5.[0-9]*")
 
+        self.assertEqual(get_dhcp_server_property('veth-peer', 'PoolSize'), 'u 50')
+        self.assertEqual(get_dhcp_server_property('veth-peer', 'PoolOffset'), 'u 10')
+
         if persist_leases == 'yes':
             path = '/var/lib/systemd/network/dhcp-server-lease/veth-peer'
         elif persist_leases == 'runtime':