]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
dnsdist: Gracefully handle missing v6 in backend discovery test
authorRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 7 May 2025 14:18:25 +0000 (16:18 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Wed, 7 May 2025 14:18:25 +0000 (16:18 +0200)
This test has been randomly failing on GH actions lately, and it looks
like it is because we sometimes do not get the IPv6 addresses when
resolving `dns.quad9.net` via the system resolver.

regression-tests.dnsdist/test_BackendDiscovery.py

index 645bc59be8e047794cbb6a98da40a1fff5dade34..49dd50d26eb60db1baf63e212d256ffc7934af30 100644 (file)
@@ -439,13 +439,19 @@ class TestBackendDiscoveryByHostname(DNSDistTest):
             self.assertTrue(len(tokens) == 13 or len(tokens) == 14)
             backends[tokens[1]] = tokens[2]
 
-        if len(backends) != 4:
+        if len(backends) == 4:
+            for expected in ['9.9.9.9:53', '149.112.112.112:53', '[2620:fe::9]:53', '[2620:fe::fe]:53']:
+                self.assertIn(expected, backends)
+        elif len(backends) == 2:
+            # looks like we are not getting the IPv6 addresses, thanks GitHub!
+            for expected in ['9.9.9.9:53', '149.112.112.112:53']:
+                self.assertIn(expected, backends)
+        else:
             return False
 
-        for expected in ['9.9.9.9:53', '149.112.112.112:53', '[2620:fe::9]:53', '[2620:fe::fe]:53']:
-            self.assertIn(expected, backends)
         for backend in backends:
-            self.assertTrue(backends[backend])
+            self.assertEqual(backends[backend], 'up')
+
         return True
 
     def testBackendFromHostname(self):