test: verify RoutesToDNS= is independent of UseGateway=
authorDan Streetman <ddstreet@canonical.com>
Wed, 15 Apr 2020 22:30:33 +0000 (18:30 -0400)
committerMichael Biebl <biebl@debian.org>
Sun, 17 May 2020 17:28:49 +0000 (18:28 +0100)
(cherry picked from commit 06c2b0c76bf7e2756f8e9ef18765c85dee99ae14)

Gbp-Pq: Name test-verify-RoutesToDNS-is-independent-of-UseGateway.patch

test/test-network/conf/dhcp-client-ipv4-use-routes-use-gateway.network
test/test-network/conf/dhcp-client-ipv4-use-routes-use-gateway.network.d/use-dns-routes-False.conf [new file with mode: 0644]
test/test-network/conf/dhcp-client-ipv4-use-routes-use-gateway.network.d/use-dns-routes-True.conf [new file with mode: 0644]
test/test-network/systemd-networkd-tests.py

index b0d0d8605e3bb549c1e30d814f381786911202a7..c980bf9fca5ccce1c4897edb1af8dfbbb47bee16 100644 (file)
@@ -4,6 +4,3 @@ Name=veth99
 [Network]
 DHCP=ipv4
 IPv6AcceptRA=false
-
-[DHCPv4]
-RoutesToDNS=yes
diff --git a/test/test-network/conf/dhcp-client-ipv4-use-routes-use-gateway.network.d/use-dns-routes-False.conf b/test/test-network/conf/dhcp-client-ipv4-use-routes-use-gateway.network.d/use-dns-routes-False.conf
new file mode 100644 (file)
index 0000000..9c561fb
--- /dev/null
@@ -0,0 +1,2 @@
+[DHCPv4]
+RoutesToDNS=no
diff --git a/test/test-network/conf/dhcp-client-ipv4-use-routes-use-gateway.network.d/use-dns-routes-True.conf b/test/test-network/conf/dhcp-client-ipv4-use-routes-use-gateway.network.d/use-dns-routes-True.conf
new file mode 100644 (file)
index 0000000..2504c20
--- /dev/null
@@ -0,0 +1,2 @@
+[DHCPv4]
+RoutesToDNS=yes
index 798e155f6cd8e7766202e1f7c8e20c7aa16e22f1..3c805cae1409296a136abb4e6d53e28c114534ee 100755 (executable)
@@ -2931,19 +2931,21 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities):
         self.assertRegex(output, r'192.168.5.8 proto dhcp scope link src 192.168.5.181 metric 1024')
 
     def test_dhcp_client_ipv4_use_routes_gateway(self):
-        for (routes, gateway) in itertools.product([True, False, None], repeat=2):
+        for (routes, gateway, dnsroutes) in itertools.product([True, False, None], repeat=3):
             self.setUp()
-            with self.subTest(routes=routes, gateway=gateway):
-                self._test_dhcp_client_ipv4_use_routes_gateway(routes, gateway)
+            with self.subTest(routes=routes, gateway=gateway, dnsroutes=dnsroutes):
+                self._test_dhcp_client_ipv4_use_routes_gateway(routes, gateway, dnsroutes)
             self.tearDown()
 
-    def _test_dhcp_client_ipv4_use_routes_gateway(self, routes, gateway):
+    def _test_dhcp_client_ipv4_use_routes_gateway(self, routes, gateway, dnsroutes):
         testunit = 'dhcp-client-ipv4-use-routes-use-gateway.network'
         testunits = ['25-veth.netdev', 'dhcp-server-veth-peer.network', testunit]
         if routes != None:
             testunits.append(f'{testunit}.d/use-routes-{routes}.conf');
         if gateway != None:
             testunits.append(f'{testunit}.d/use-gateway-{gateway}.conf');
+        if dnsroutes != None:
+            testunits.append(f'{testunit}.d/use-dns-routes-{dnsroutes}.conf');
         copy_unit_to_networkd_unit_path(*testunits, dropins=False)
 
         start_networkd()
@@ -2971,8 +2973,8 @@ class NetworkdDHCPClientTests(unittest.TestCase, Utilities):
         else:
             self.assertNotRegex(output, r'default via 192.168.5.1')
 
-        # check for routes to DNS server, only if using gateway
-        if usegateway:
+        # Check RoutesToDNS=, which defaults to false
+        if dnsroutes:
             self.assertRegex(output, r'192.168.5.6 proto dhcp scope link src 192.168.5.181 metric 1024')
             self.assertRegex(output, r'192.168.5.7 proto dhcp scope link src 192.168.5.181 metric 1024')
         else: