Open bnavigator opened 3 years ago
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)
I see you reverted the minimum python requirement to 3.6 in 1ea5653
But unit tests fail with python 3.6: