summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorTim Burke <tim.burke@gmail.com>2021-10-08 03:18:04 -0700
committerGitHub <noreply@github.com>2021-10-08 13:18:04 +0300
commit15d3c2477510229e1b49c60fccfde5ffe94b2a76 (patch)
tree5b77b8bdc8518221e5bd043199b6d27ae3f72212 /tests
parent690464aee772b62a54eedf5275843dce30318597 (diff)
downloadeventlet-15d3c2477510229e1b49c60fccfde5ffe94b2a76.tar.gz
Python 3.10 partial support
Everything below is specific to changes in Python 3.10. https://github.com/eventlet/eventlet/pull/715 - Only wrap socket.timeout on Python < 3.10 socket.timeout is TimeoutError, which our is_timeout() helper func already knows. fixes https://github.com/eventlet/eventlet/issues/687 - Working greenio._open _pyio.open is now a staticmethod, so we've got to go down to _pyio.open.__wrapped__ to get to the python function object. - Test using eventlet.is_timeout rather than requiring an is_timeout attribute on errors. TimeoutErrors (which are covered by is_timeout) can't necessarily have attributes added to them. - Fix backdoor tests Skip build info line at interpreter startup. Also, start printing the banner as we read it to aid in future debugging. - Tolerate __builtins__ being a dict (rather than module) in is_timeout (@tipabu) still not sure how this happens, but somehow it does in socket_test.test_error_is_timeout.
Diffstat (limited to 'tests')
-rw-r--r--tests/__init__.py2
-rw-r--r--tests/backdoor_test.py5
2 files changed, 5 insertions, 2 deletions
diff --git a/tests/__init__.py b/tests/__init__.py
index c0b64fd..1883667 100644
--- a/tests/__init__.py
+++ b/tests/__init__.py
@@ -383,7 +383,7 @@ def run_isolated(path, prefix='tests/isolated/', **kwargs):
def check_is_timeout(obj):
value_text = getattr(obj, 'is_timeout', '(missing)')
- assert obj.is_timeout, 'type={0} str={1} .is_timeout={2}'.format(type(obj), str(obj), value_text)
+ assert eventlet.is_timeout(obj), 'type={0} str={1} .is_timeout={2}'.format(type(obj), str(obj), value_text)
@contextlib.contextmanager
diff --git a/tests/backdoor_test.py b/tests/backdoor_test.py
index 03a5692..1e09f09 100644
--- a/tests/backdoor_test.py
+++ b/tests/backdoor_test.py
@@ -1,5 +1,6 @@
import os
import os.path
+import sys
import eventlet
@@ -22,7 +23,9 @@ class BackdoorTest(tests.LimitedTestCase):
def _run_test_on_client_and_server(self, client, server_thread):
f = client.makefile('rw')
assert 'Python' in f.readline()
- f.readline() # build info
+ if sys.version_info < (3, 10):
+ # Starting in py310, build info is included in version line
+ f.readline() # build info
f.readline() # help info
assert 'InteractiveConsole' in f.readline()
self.assertEqual('>>> ', f.read(4))