summaryrefslogtreecommitdiff
path: root/tests/test_resolver.py
diff options
context:
space:
mode:
authorScott Kitterman <scott@kitterman.com>2016-05-28 12:46:20 -0400
committerScott Kitterman <scott@kitterman.com>2016-05-28 12:46:20 -0400
commit1146da0f67e1e027def00c3fce74d329b2cd46d9 (patch)
tree6020533e5b72e6ccb2e80127abbb3f3548f8d6bb /tests/test_resolver.py
parentf0abd8f23aeb9a588e43e5f845d58fb585eac8c3 (diff)
downloaddnspython-1146da0f67e1e027def00c3fce74d329b2cd46d9.tar.gz
Automatically skip tests that require Internet access if it is not available
Add code in tests/test_resolver.py to check if dnspython.org can be looked up by socket.gethostbyname as a test of Internet reachability Skip tests requiring Internet access (testZoneForName1, testZoneForName2, and testZoneForName3) if it is not available
Diffstat (limited to 'tests/test_resolver.py')
-rw-r--r--tests/test_resolver.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/test_resolver.py b/tests/test_resolver.py
index 29c3959..eb4f23e 100644
--- a/tests/test_resolver.py
+++ b/tests/test_resolver.py
@@ -16,6 +16,7 @@
from io import StringIO
import select
import sys
+import socket
import time
try:
import unittest2 as unittest
@@ -30,6 +31,14 @@ import dns.rdatatype
import dns.resolver
from dns._compat import xrange
+# Some tests require the internet to be available to run, so let's
+# skip those if it's not there.
+_network_available = True
+try:
+ socket.gethostbyname('dnspython.org')
+except socket.gaierror:
+ _network_available = False
+
resolv_conf = u"""
/t/t
# comment 1
@@ -86,18 +95,21 @@ class BaseResolverTests(object):
self.failUnless(cache.get((name, dns.rdatatype.A, dns.rdataclass.IN))
is None)
+ @unittest.skipIf(not _network_available,"Internet not reachable")
def testZoneForName1(self):
name = dns.name.from_text('www.dnspython.org.')
ezname = dns.name.from_text('dnspython.org.')
zname = dns.resolver.zone_for_name(name)
self.failUnless(zname == ezname)
+ @unittest.skipIf(not _network_available,"Internet not reachable")
def testZoneForName2(self):
name = dns.name.from_text('a.b.www.dnspython.org.')
ezname = dns.name.from_text('dnspython.org.')
zname = dns.resolver.zone_for_name(name)
self.failUnless(zname == ezname)
+ @unittest.skipIf(not _network_available,"Internet not reachable")
def testZoneForName3(self):
name = dns.name.from_text('dnspython.org.')
ezname = dns.name.from_text('dnspython.org.')