curio
curio copied to clipboard
Python 3.6 pytest failures
I see you reverted the minimum python requirement to 3.6 in 1ea5653
But unit tests fail with python 3.6:
[ 23s] + PYTHONPATH=/home/abuild/rpmbuild/BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages
[ 23s] + PYTHONDONTWRITEBYTECODE=1
[ 23s] + pytest-3.6 --ignore=_build.python36 --ignore=_build.python38 -v -k 'not (test_ssl_outgoing or test_socket_funcs)'
[ 24s] ============================= test session starts ==============================
[ 24s] platform linux -- Python 3.6.12, pytest-6.1.2, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3.6
[ 24s] cachedir: .pytest_cache
[ 24s] rootdir: /home/abuild/rpmbuild/BUILD/curio-1.4, configfile: setup.cfg, testpaths: tests
[ 25s] collecting ... collected 259 items / 2 deselected / 257 selected
...
[ 124s] =================================== FAILURES ===================================
[ 124s] _________________________ test_uqueue_asyncio_consumer _________________________
[ 124s]
[ 124s] kernel = <curio.kernel.Kernel object at 0x7fab5ad17550>
[ 124s]
[ 124s] def test_uqueue_asyncio_consumer(kernel):
[ 124s] results = []
[ 124s] async def consumer(queue):
[ 124s] while True:
[ 124s] item = await queue.get()
[ 124s] await queue.task_done()
[ 124s] if item is None:
[ 124s] break
[ 124s] results.append(item)
[ 124s]
[ 124s] async def producer(queue):
[ 124s] for n in range(10):
[ 124s] await queue.put(n)
[ 124s] await queue.put(None)
[ 124s] await queue.join()
[ 124s]
[ 124s] queue = UniversalQueue(maxsize=2)
[ 124s] > t1 = threading.Thread(target=asyncio.run, args=[consumer(queue)])
[ 124s] E AttributeError: module 'asyncio' has no attribute 'run'
[ 124s]
[ 124s] tests/test_queue.py:543: AttributeError
[ 124s] ________________ TestUniversalEvent.test_uevent_get_asyncio_set ________________
[ 124s]
[ 124s] self = <test_sync.TestUniversalEvent object at 0x7fab5aee79e8>
[ 124s] kernel = <curio.kernel.Kernel object at 0x7fab5ad17550>
[ 124s]
[ 124s] def test_uevent_get_asyncio_set(self, kernel):
[ 124s] results = []
[ 124s] async def event_setter(evt, seconds):
[ 124s] await asyncio.sleep(seconds)
[ 124s] results.append('event_set')
[ 124s] await evt.set()
[ 124s]
[ 124s] async def event_waiter(evt):
[ 124s] results.append('wait_start')
[ 124s] results.append(evt.is_set())
[ 124s] await evt.wait()
[ 124s] results.append('wait_done')
[ 124s] results.append(evt.is_set())
[ 124s] evt.clear()
[ 124s] results.append(evt.is_set())
[ 124s]
[ 124s] async def main():
[ 124s] evt = UniversalEvent()
[ 124s] t1 = await spawn(event_waiter, evt)
[ 124s] await sleep(0.05)
[ 124s] t2 = threading.Thread(target=asyncio.run, args=[event_setter(evt, 1)])
[ 124s] t2.start()
[ 124s] await t1.join()
[ 124s] await run_in_thread(t2.join)
[ 124s]
[ 124s] > kernel.run(main())
[ 124s]
[ 124s] tests/test_sync.py:792:
[ 124s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/kernel.py:173: in run
[ 124s] raise ret_exc
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/kernel.py:737: in kernel_run
[ 124s] trap = current.send(current._trap_result)
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py:167: in send
[ 124s] return self._send(value)
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py:171: in _task_runner
[ 124s] return await coro
[ 124s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 124s]
[ 124s] async def main():
[ 124s] evt = UniversalEvent()
[ 124s] t1 = await spawn(event_waiter, evt)
[ 124s] await sleep(0.05)
[ 124s] > t2 = threading.Thread(target=asyncio.run, args=[event_setter(evt, 1)])
[ 124s] E AttributeError: module 'asyncio' has no attribute 'run'
[ 124s]
[ 124s] tests/test_sync.py:787: AttributeError
[ 124s] ------------------------------ Captured log call -------------------------------
[ 124s] ERROR curio.debug:debug.py:55 Task(id=489, name='TestUniversalEvent.test_uevent_get_asyncio_set.<locals>.main', state='TERMINATED') crashed
[ 124s] Traceback (most recent call last):
[ 124s] File "/home/abuild/rpmbuild/BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/kernel.py", line 737, in kernel_run
[ 124s] trap = current.send(current._trap_result)
[ 124s] File "/home/abuild/rpmbuild/BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py", line 167, in send
[ 124s] return self._send(value)
[ 124s] File "/home/abuild/rpmbuild/BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py", line 171, in _task_runner
[ 124s] return await coro
[ 124s] File "/home/abuild/rpmbuild/BUILD/curio-1.4/tests/test_sync.py", line 787, in main
[ 124s] t2 = threading.Thread(target=asyncio.run, args=[event_setter(evt, 1)])
[ 124s] AttributeError: module 'asyncio' has no attribute 'run'
[ 124s] _______________ TestUniversalEvent.test_uevent_get_asyncio_wait ________________
[ 124s]
[ 124s] self = <test_sync.TestUniversalEvent object at 0x7fab5ae53f28>
[ 124s] kernel = <curio.kernel.Kernel object at 0x7fab5ad17550>
[ 124s]
[ 124s] def test_uevent_get_asyncio_wait(self, kernel):
[ 124s] results = []
[ 124s] async def event_setter(evt, seconds):
[ 124s] results.append('sleep')
[ 124s] await sleep(seconds)
[ 124s] results.append('event_set')
[ 124s] await evt.set()
[ 124s]
[ 124s] async def event_waiter(evt):
[ 124s] results.append('wait_start')
[ 124s] results.append(evt.is_set())
[ 124s] await evt.wait()
[ 124s] results.append('wait_done')
[ 124s] results.append(evt.is_set())
[ 124s] evt.clear()
[ 124s] results.append(evt.is_set())
[ 124s]
[ 124s] async def main():
[ 124s] evt = UniversalEvent()
[ 124s] t1 = threading.Thread(target=asyncio.run, args=[event_waiter(evt)])
[ 124s] t1.start()
[ 124s] await sleep(0.1)
[ 124s] t2 = await spawn(event_setter, evt, 1)
[ 124s] await run_in_thread(t1.join)
[ 124s] await t2.join()
[ 124s]
[ 124s] > kernel.run(main())
[ 124s]
[ 124s] tests/test_sync.py:829:
[ 124s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/kernel.py:173: in run
[ 124s] raise ret_exc
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/kernel.py:737: in kernel_run
[ 124s] trap = current.send(current._trap_result)
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py:167: in send
[ 124s] return self._send(value)
[ 124s] ../../BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py:171: in _task_runner
[ 124s] return await coro
[ 124s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[ 124s]
[ 124s] async def main():
[ 124s] evt = UniversalEvent()
[ 124s] > t1 = threading.Thread(target=asyncio.run, args=[event_waiter(evt)])
[ 124s] E AttributeError: module 'asyncio' has no attribute 'run'
[ 124s]
[ 124s] tests/test_sync.py:822: AttributeError
[ 124s] ------------------------------ Captured log call -------------------------------
[ 124s] ERROR curio.debug:debug.py:55 Task(id=491, name='TestUniversalEvent.test_uevent_get_asyncio_wait.<locals>.main', state='TERMINATED') crashed
[ 124s] Traceback (most recent call last):
[ 124s] File "/home/abuild/rpmbuild/BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/kernel.py", line 737, in kernel_run
[ 124s] trap = current.send(current._trap_result)
[ 124s] File "/home/abuild/rpmbuild/BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py", line 167, in send
[ 124s] return self._send(value)
[ 124s] File "/home/abuild/rpmbuild/BUILDROOT/python-curio-1.4-21.1.x86_64/usr/lib/python3.6/site-packages/curio/task.py", line 171, in _task_runner
[ 124s] return await coro
[ 124s] File "/home/abuild/rpmbuild/BUILD/curio-1.4/tests/test_sync.py", line 822, in main
[ 124s] t1 = threading.Thread(target=asyncio.run, args=[event_waiter(evt)])
[ 124s] AttributeError: module 'asyncio' has no attribute 'run'
[ 124s] ___________________ TestUniversalResult.test_universal_value ___________________
[ 124s]
[ 124s] self = <test_sync.TestUniversalResult object at 0x7fab589e98d0>
[ 124s] kernel = <curio.kernel.Kernel object at 0x7fab5ad17550>
[ 124s]
[ 124s] def test_universal_value(self, kernel):
[ 124s]
[ 124s] def work(x, y, r):
[ 124s] r.set_value(x+y)
[ 124s]
[ 124s] async def main(r1, r2):
[ 124s] value = await r1.unwrap()
[ 124s] await r2.set_value(value)
[ 124s]
[ 124s] r1 = UniversalResult()
[ 124s] r2 = UniversalResult()
[ 124s] r3 = UniversalResult()
[ 124s] threading.Thread(target=work, args=[2,3,r1]).start()
[ 124s] > threading.Thread(target=asyncio.run, args=[main(r1, r2)]).start()
[ 124s] E AttributeError: module 'asyncio' has no attribute 'run'
[ 124s]
[ 124s] tests/test_sync.py:883: AttributeError
[ 124s] ___________________ TestUniversalResult.test_universal_error ___________________
[ 124s]
[ 124s] self = <test_sync.TestUniversalResult object at 0x7fab5af3be80>
[ 124s] kernel = <curio.kernel.Kernel object at 0x7fab5ad17550>
[ 124s]
[ 124s] def test_universal_error(self, kernel):
[ 124s]
[ 124s] def work(x, y, r):
[ 124s] try:
[ 124s] r.set_value(x+y)
[ 124s] except Exception as err:
[ 124s] r.set_exception(err)
[ 124s]
[ 124s] async def main(r1, r2):
[ 124s] try:
[ 124s] value = await r1.unwrap()
[ 124s] await r2.set_value(value)
[ 124s] except Exception as err:
[ 124s] await r2.set_exception(err)
[ 124s]
[ 124s] r1 = UniversalResult()
[ 124s] r2 = UniversalResult()
[ 124s] r3 = UniversalResult()
[ 124s] threading.Thread(target=work, args=[2,"3",r1]).start()
[ 124s] > threading.Thread(target=asyncio.run, args=[main(r1, r2)]).start()
[ 124s] E AttributeError: module 'asyncio' has no attribute 'run'
[ 124s]
[ 124s] tests/test_sync.py:906: AttributeError
[ 124s] _______________________________ test_contextvars _______________________________
[ 124s]
[ 124s] def test_contextvars():
[ 124s] > import contextvars
[ 124s] E ModuleNotFoundError: No module named 'contextvars'
[ 124s]
[ 124s] tests/test_task.py:573: ModuleNotFoundError
[ 124s] =============================== warnings summary ===============================
[ 124s] tests/test_file.py::test_sync_with
[ 124s] /home/abuild/rpmbuild/BUILD/curio-1.4/tests/test_file.py:224: RuntimeWarning: coroutine 'AsyncFile.__aenter__' was never awaited
[ 124s] assert True
[ 124s]
[ 124s] tests/test_io.py::test_stream_bad_context
[ 124s] /home/abuild/rpmbuild/BUILD/curio-1.4/tests/test_io.py:849: RuntimeWarning: coroutine 'StreamBase.__aenter__' was never awaited
[ 124s] results.append(True)
[ 124s]
[ 124s] tests/test_io.py::test_stream_bad_iter
[ 124s] /home/abuild/rpmbuild/BUILD/curio-1.4/tests/test_io.py:882: RuntimeWarning: coroutine 'StreamBase.__anext__' was never awaited
[ 124s] results.append(True)
[ 124s]
[ 124s] tests/test_kernel.py::test_reentrant_kernel
[ 124s] /home/abuild/rpmbuild/BUILD/curio-1.4/tests/test_kernel.py:727: RuntimeWarning: coroutine 'child' was never awaited
[ 124s] kernel.run(child)
[ 124s]
[ 124s] tests/test_meta.py::test_instantiate_coroutine
[ 124s] /usr/lib/python3.6/site-packages/_pytest/python.py:184: RuntimeWarning: coroutine 'test_instantiate_coroutine.<locals>.coro' was never awaited
[ 124s] result = testfunction(**testargs)
[ 124s]
[ 124s] tests/test_meta.py::test_instantiate_coroutine
[ 124s] /usr/lib/python3.6/site-packages/_pytest/python.py:184: RuntimeWarning: coroutine 'coro' was never awaited
[ 124s] result = testfunction(**testargs)
[ 124s]
[ 124s] tests/test_thread.py::test_errors
[ 124s] /home/abuild/rpmbuild/BUILD/curio-1.4/tests/test_thread.py:267: RuntimeWarning: coroutine 'simple_coro' was never awaited
[ 124s] AWAIT(simple_coro(2,3))
[ 124s]
[ 124s] -- Docs: https://docs.pytest.org/en/stable/warnings.html
[ 124s] =========================== short test summary info ============================
[ 124s] FAILED tests/test_queue.py::test_uqueue_asyncio_consumer - AttributeError: mo...
[ 124s] FAILED tests/test_sync.py::TestUniversalEvent::test_uevent_get_asyncio_set - ...
[ 124s] FAILED tests/test_sync.py::TestUniversalEvent::test_uevent_get_asyncio_wait
[ 124s] FAILED tests/test_sync.py::TestUniversalResult::test_universal_value - Attrib...
[ 124s] FAILED tests/test_sync.py::TestUniversalResult::test_universal_error - Attrib...
[ 124s] FAILED tests/test_task.py::test_contextvars - ModuleNotFoundError: No module ...
[ 124s] = 6 failed, 248 passed, 3 skipped, 2 deselected, 7 warnings in 100.30s (0:01:40) =
[ 124s] error: Bad exit status from /var/tmp/rpm-tmp.nwjOMr (%check)