diff options
| author | Scott Kitterman <scott@kitterman.com> | 2016-05-28 12:46:20 -0400 |
|---|---|---|
| committer | Scott Kitterman <scott@kitterman.com> | 2016-05-28 12:46:20 -0400 |
| commit | 1146da0f67e1e027def00c3fce74d329b2cd46d9 (patch) | |
| tree | 6020533e5b72e6ccb2e80127abbb3f3548f8d6bb /tests/test_resolver.py | |
| parent | f0abd8f23aeb9a588e43e5f845d58fb585eac8c3 (diff) | |
| download | dnspython-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.py | 12 |
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.') |
