gabrielfalcao / HTTPretty

Intercept HTTP requests at the Python socket level. Fakes the whole socket module

Home Page:https://httpretty.readthedocs.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tests fail with dnspython 2

sebix opened this issue · comments

With dnspython 2.0, this test fails:

[   51s] ======================================================================
[   51s] 1) ERROR: Failure: NoResolverConfiguration (Resolver configuration could not be read or specified no nameservers.)
[   51s] ----------------------------------------------------------------------
[   51s]    Traceback (most recent call last):
[   51s]     /usr/lib/python3.8/site-packages/nose/failure.py line 39 in runTest
[   51s]       raise self.exc_val.with_traceback(self.tb)
[   51s]     /usr/lib/python3.8/site-packages/nose/loader.py line 416 in loadTestsFromName
[   51s]       module = self.importer.importFromPath(
[   51s]     /usr/lib/python3.8/site-packages/nose/importer.py line 47 in importFromPath
[   51s]       return self.importFromDir(dir_path, fqname)
[   51s]     /usr/lib/python3.8/site-packages/nose/importer.py line 94 in importFromDir
[   51s]       mod = load_module(part_fqname, fh, filename, desc)
[   51s]     /usr/lib64/python3.8/imp.py line 244 in load_module
[   51s]       return load_package(name, filename)
[   51s]     /usr/lib64/python3.8/imp.py line 216 in load_package
[   51s]       return _load(spec)
[   51s]     <frozen importlib._bootstrap> line 702 in _load
[   51s]       
[   51s]     <frozen importlib._bootstrap> line 671 in _load_unlocked
[   51s]       
[   51s]     <frozen importlib._bootstrap_external> line 783 in exec_module
[   51s]       
[   51s]     <frozen importlib._bootstrap> line 219 in _call_with_frames_removed
[   51s]       
[   51s]     httpretty/__init__.py line 29 in <module>
[   51s]       from . import core
[   51s]     httpretty/core.py line 133 in <module>
[   51s]       import eventlet
[   51s]     /usr/lib/python3.8/site-packages/eventlet/__init__.py line 10 in <module>
[   51s]       from eventlet import convenience
[   51s]     /usr/lib/python3.8/site-packages/eventlet/convenience.py line 7 in <module>
[   51s]       from eventlet.green import socket
[   51s]     /usr/lib/python3.8/site-packages/eventlet/green/socket.py line 21 in <module>
[   51s]       from eventlet.support import greendns
[   51s]     /usr/lib/python3.8/site-packages/eventlet/support/greendns.py line 399 in <module>
[   51s]       resolver = ResolverProxy(hosts_resolver=HostsResolver())
[   51s]     /usr/lib/python3.8/site-packages/eventlet/support/greendns.py line 313 in __init__
[   51s]       self.clear()
[   51s]     /usr/lib/python3.8/site-packages/eventlet/support/greendns.py line 316 in clear
[   51s]       self._resolver = dns.resolver.Resolver(filename=self._filename)
[   51s]     /usr/lib/python3.8/site-packages/dns/resolver.py line 695 in __init__
[   51s]       self.read_resolv_conf(filename)
[   51s]     /usr/lib/python3.8/site-packages/dns/resolver.py line 746 in read_resolv_conf
[   51s]       raise NoResolverConfiguration
[   51s]    NoResolverConfiguration: Resolver configuration could not be read or specified no nameservers.

Because OBS has no valid resolver configuration. It is offline. Tell eventlet not to read the dns configuration at import time eventlet/eventlet#462:

export EVENTLET_NO_GREENDNS=yes