summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Shepelev <temotor@gmail.com>2022-12-06 15:56:21 +0300
committerSergey Shepelev <temotor@gmail.com>2022-12-06 17:22:32 +0300
commitcb80c0ab81373f079ae5a139adc2521519c8f95c (patch)
tree27c02922e308a6b56a4130bed791a74cb82ceb22
parent650db31c11502c07629ae48f15cae68177069f38 (diff)
downloadeventlet-457-test.tar.gz
green urlopen was blocking on https457-test
fixes https://github.com/eventlet/eventlet/issues/457
-rw-r--r--eventlet/green/http/client.py2
-rw-r--r--tests/green_http_test.py28
2 files changed, 28 insertions, 2 deletions
diff --git a/eventlet/green/http/client.py b/eventlet/green/http/client.py
index e4bd2ad..744a074 100644
--- a/eventlet/green/http/client.py
+++ b/eventlet/green/http/client.py
@@ -1443,7 +1443,7 @@ class HTTPConnection:
raise
try:
- import ssl
+ from eventlet.green import ssl
except ImportError:
pass
else:
diff --git a/tests/green_http_test.py b/tests/green_http_test.py
index 0b80f34..268c138 100644
--- a/tests/green_http_test.py
+++ b/tests/green_http_test.py
@@ -1,6 +1,14 @@
-import eventlet
+import sys
+
import six
+from nose.plugins.skip import SkipTest
+
+import eventlet
+import eventlet.debug
import tests
+if sys.version_info >= (3,):
+ from eventlet.green.urllib.request import urlopen
+from tests import tool_server
__test__ = six.PY3
@@ -22,3 +30,21 @@ def test_http_request_encode_chunked_kwarg():
addr = server_sock.getsockname()
h = client.HTTPConnection(host=addr[0], port=addr[1])
h.request('GET', '/', encode_chunked=True)
+
+
+@tests.skip_if(sys.version_info < (3,))
+def test_urlopen_http_concurrent():
+ eventlet.debug.hub_blocking_detection(True)
+ with tool_server.http_server_const() as url:
+ r = urlopen(url, timeout=1)
+ assert r.status == 200
+ eventlet.debug.hub_blocking_detection(False)
+
+
+@tests.skip_if(sys.version_info < (3,))
+def test_urlopen_https_concurrent():
+ eventlet.debug.hub_blocking_detection(True)
+ with tool_server.http_server_const(tls=True) as url:
+ r = urlopen(url, timeout=1, cafile=tool_server.CA_CERTS)
+ assert r.status == 200
+ eventlet.debug.hub_blocking_detection(False)