blah()
-PY35 = sys.version_info[:2] >= (3, 5)
+ASYNCIO = sys.version_info[:2] >= (3, 5)
-PY35_TESTS = """
+ASYNCIO_TESTS = """
import asyncio
T_a = TypeVar('T')
raise StopAsyncIteration
"""
-if PY35:
- exec(PY35_TESTS)
+if ASYNCIO:
+ try:
+ exec(ASYNCIO_TESTS)
+ except ImportError:
+ ASYNCIO = False
PY36 = sys.version_info[:2] >= (3, 6)
self.assertIsInstance(it, typing.Iterator)
self.assertNotIsInstance(42, typing.Iterator)
- @skipUnless(PY35, 'Python 3.5 required')
+ @skipUnless(ASYNCIO, 'Python 3.5 and multithreading required')
def test_awaitable(self):
ns = {}
exec(
self.assertNotIsInstance(foo, typing.Awaitable)
g.send(None) # Run foo() till completion, to avoid warning.
- @skipUnless(PY35, 'Python 3.5 required')
+ @skipUnless(ASYNCIO, 'Python 3.5 and multithreading required')
def test_async_iterable(self):
base_it = range(10) # type: Iterator[int]
it = AsyncIteratorWrapper(base_it)
self.assertIsInstance(it, typing.AsyncIterable)
self.assertNotIsInstance(42, typing.AsyncIterable)
- @skipUnless(PY35, 'Python 3.5 required')
+ @skipUnless(ASYNCIO, 'Python 3.5 and multithreading required')
def test_async_iterator(self):
base_it = range(10) # type: Iterator[int]
it = AsyncIteratorWrapper(base_it)