diff options
author | Sergey Shepelev <temotor@gmail.com> | 2016-12-22 02:41:32 +0300 |
---|---|---|
committer | Sergey Shepelev <temotor@gmail.com> | 2016-12-22 02:41:32 +0300 |
commit | 3a8115c560e831a7f5442312529e18b41dc85b32 (patch) | |
tree | a6366f5bd1fbef8ec930bdce23e357b7d00f184e | |
parent | f190122026463b28c587760c04b4d306ba61430e (diff) | |
download | eventlet-3a8115c560e831a7f5442312529e18b41dc85b32.tar.gz |
tests: patcher_import_patched_defaults was failing in presence of pyopenssl package
https://github.com/eventlet/eventlet/issues/362
-rw-r--r-- | tests/isolated/patcher_import_patched_defaults.py | 15 | ||||
-rw-r--r-- | tests/patcher_test.py | 31 |
2 files changed, 27 insertions, 19 deletions
diff --git a/tests/isolated/patcher_import_patched_defaults.py b/tests/isolated/patcher_import_patched_defaults.py new file mode 100644 index 0000000..62b0807 --- /dev/null +++ b/tests/isolated/patcher_import_patched_defaults.py @@ -0,0 +1,15 @@ +import os +__test__ = False + + +if os.environ.get('eventlet_test_import_patched_defaults') == '1': + try: + import urllib.request as target + except ImportError: + import urllib as target + t = target.socket.socket + import eventlet.green.socket + if issubclass(t, eventlet.green.socket.socket): + print('pass') + else: + print('Fail. Target socket not green: {0} bases {1}'.format(t, t.__bases__)) diff --git a/tests/patcher_test.py b/tests/patcher_test.py index fb9c19b..933644f 100644 --- a/tests/patcher_test.py +++ b/tests/patcher_test.py @@ -82,26 +82,19 @@ class ImportPatched(ProcessBase): assert 'eventlet.green.urllib' in lines[2], repr(output) assert 'eventlet.green.httplib' not in lines[2], repr(output) - def test_import_patched_defaults(self): - self.write_to_tempfile("base", """ -import socket -try: - import urllib.request as urllib -except ImportError: - import urllib -print("base {0} {1}".format(socket, urllib))""") - new_mod = """ -from eventlet import patcher -base = patcher.import_patched('base') -print("newmod {0} {1} {2}".format(base, base.socket, base.urllib.socket.socket)) -""" - self.write_to_tempfile("newmod", new_mod) - output, lines = self.launch_subprocess('newmod.py') - assert lines[0].startswith('base'), repr(output) - assert lines[1].startswith('newmod'), repr(output) - assert 'eventlet.green.socket' in lines[1], repr(output) - assert 'GreenSocket' in lines[1], repr(output) +def test_import_patched_defaults(): + code = '''\ +import eventlet +eventlet.import_patched('patcher_import_patched_defaults') +''' + isolated_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + '/tests/isolated' + env = { + 'eventlet_test_import_patched_defaults': '1', + 'PYTHONPATH': os.pathsep.join(sys.path + [isolated_path]), + } + output = tests.run_python(path=None, env=env, args=['-c', code]) + assert output.rstrip() == b'pass', repr(output) class MonkeyPatch(ProcessBase): |