summaryrefslogtreecommitdiff
path: root/tests/test_resolver.py
diff options
context:
space:
mode:
authorBob Halley <halley@dnspython.org>2021-06-11 10:26:04 -0700
committerBob Halley <halley@dnspython.org>2021-06-11 10:26:04 -0700
commit2c6088cadb4baed119d501c92adc02fa2ad97815 (patch)
tree0dcc26e9000772422fa504a838de9cf00b91d691 /tests/test_resolver.py
parentb11a0e52c990afac1c815fdfadb274b41c35f4c9 (diff)
downloaddnspython-2c6088cadb4baed119d501c92adc02fa2ad97815.tar.gz
Try to skip dangling CNAME tests if systemd-resolved is running. [Issue #658]
Diffstat (limited to 'tests/test_resolver.py')
-rw-r--r--tests/test_resolver.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/test_resolver.py b/tests/test_resolver.py
index dce250b..f264d2e 100644
--- a/tests/test_resolver.py
+++ b/tests/test_resolver.py
@@ -52,6 +52,18 @@ except ImportError:
class Server(object):
pass
+# Look for systemd-resolved, as it does dangling CNAME responses incorrectly.
+#
+# Currently we simply check if the nameserver is 127.0.0.53.
+_systemd_resolved_present = False
+try:
+ _resolver = dns.resolver.Resolver()
+ if _resolver.nameservers == ['127.0.0.53']:
+ _systemd_resolved_present = True
+except Exception:
+ pass
+
+
resolv_conf = u"""
/t/t
# comment 1
@@ -682,6 +694,7 @@ class LiveResolverTests(unittest.TestCase):
cname = dns.name.from_text('dmfrjf4ips8xa.cloudfront.net')
self.assertEqual(dns.resolver.canonical_name(name), cname)
+ @unittest.skipIf(_systemd_resolved_present, "systemd-resolved in use")
def testCanonicalNameDangling(self):
name = dns.name.from_text('dangling-cname.dnspython.org')
cname = dns.name.from_text('dangling-target.dnspython.org')