Skip to content

bpo-32273: Move asyncio.test_utils to test.test_asyncio#4785

Merged
1st1 merged 2 commits into
python:masterfrom
1st1:kill_testutils
Dec 11, 2017
Merged

bpo-32273: Move asyncio.test_utils to test.test_asyncio#4785
1st1 merged 2 commits into
python:masterfrom
1st1:kill_testutils

Conversation

@1st1

@1st1 1st1 commented Dec 11, 2017

Copy link
Copy Markdown
Member

@asvetlov

Copy link
Copy Markdown
Contributor

It is a backward incompatible change but I support it.
We had to do it couple years ago :)
People may import code from asyncio.test_utils but we are all informed adults, if somebody want to shoot own leg -- we cannot prevent it.

@1st1 1st1 merged commit 3e97518 into python:master Dec 11, 2017
@1st1 1st1 deleted the kill_testutils branch December 11, 2017 15:04
bitglue pushed a commit to home-assistant/core that referenced this pull request Feb 2, 2018
The module `asyncio.test_utils` has been removed from Python in the 3.7 branch, because it was intended to be a private module for internal testing of asyncio. For more information, see the upstream bug report at https://bugs.python.org/issue32273 and the upstream PR at python/cpython#4785.

For this commit, I have migrated the small amount of functionality that was being used from the `asyncio.test_utils` directly into the `RunThreadsafeTests` Class. To see the original `asyncio.test_utils.TestCase` class, which I pulled some functionality from, please see: https://github.com/python/cpython/blob/3.6/Lib/asyncio/test_utils.py#L440

Note: In addition to being broken in 3.7, this test case also seems to be broken in Python 3.6.4 when using Docker. This PR fixes the test when run in docker.

To reproduce: `./script/test_docker -- tests/util/test_async.py`
failing output (prior to this commit):

```
... trimmed ...
py36 runtests: PYTHONHASHSEED='3262989550'
py36 runtests: commands[0] | py.test --timeout=9 --duration=10 --cov --cov-report= tests/util/test_async.py
Test session starts (platform: linux, Python 3.6.4, pytest 3.3.1, pytest-sugar 0.9.0)
rootdir: /usr/src/app, inifile: setup.cfg
plugins: timeout-1.2.1, sugar-0.9.0, cov-2.5.1, aiohttp-0.3.0
timeout: 9.0s method: signal

―――――――――――――――――― ERROR collecting tests/util/test_async.py ――――――――――――――――――――――――
ImportError while importing test module '/usr/src/app/tests/util/test_async.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/util/test_async.py:3: in <module>
from asyncio import test_utils
/usr/local/lib/python3.6/asyncio/test_utils.py:36: in <module>
from test import support
E ImportError: cannot import name 'support'
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants