-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimize tests #3419
Optimize tests #3419
Conversation
Its too radical. I'm working on improvements and I think lots of envs are acceptable but only on when run cron. |
That's why I'd like to keep the PR merged. |
Sure, I'm not implying unmerging it. It's just the way it's solved is a bit conflicting with my ideas. We still need tox-based envs in place when I get to it... |
I feel uncomfortable with tox when working on daily tasks:
|
@webknjaz |
|
Currently, travis fails on about 10-15% runs.
This is because
pytest-xdist
plugin executes tests in several threads to speed up the time.The intention is good, the benefit is obvious but some aiohttp tests require the main thread context to setup Unix signal handlers.
The PR refactors tests running strategy.
pytest-xdist
is removeduvloop
are dropped. Before the change, every async tests was executed twice: with asyncio loop and uvloop, doubling the execution time. The last and only problem with uvloop was sendfile usage, found and fixed about 3 or 4 years ago.PYTHONASYNCIODEBUG
run was removed, several tests for explicit debug loop was added instead.AIOHTTP_NO_EXTENSIONS
run was removed from every job run but added an explicit job for making sure that aiohttp works without C extensions.As the result: