-
-
Notifications
You must be signed in to change notification settings - Fork 1.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
Disable coverage on PyPy #3112
Disable coverage on PyPy #3112
Conversation
Currently, CI jobs running on PyPy are (painfully) slow. This seems to be a well know side effect of enabling coverage. The change proposed here is to disable coverage on PyPy for both Windows and MacOS (which seem to be very slow). Coverage for PyPy on Ubuntu is preserved because, while being slower than CPython, it is still OK-ish. Hopefully tests running on PyPy/Ubuntu will include most of PyPy's specific corner cases.
eb9aded
to
ad29c0a
Compare
Oh interesting. I thought this had been done previously (for all of PyPy). Perhaps that got lost. |
Currently, pytest-black and pytest-mypy are disabled for local development and CI in the setup.cfg. Perhaps it would make sense to exclude the dependency there as well, for consistency and to save PyPy users the same pain. |
Instead of disabling coverage in the GitHub workflow it might be easier to just not install it in the test environment.
I updated the PR to use a conditional test dependency on Thank you very much for the tip! (Let's see if it really improves things) |
Oh, shoot. That didn't work - because not having the plugin makes the invocation invalid. You may be able to move the |
I suspect the original intention was to enable the I think an extra |
I'd try disabling the |
Yeah pypy+windows is consistently annoying 😂 |
Ok, I activated According to the codecov team there is not really a way to get around this, except if we make the job only informational (in that case it will always show up as "green"). |
I think it is a losing battle to try and run coverage on pypy: we used conditional invocations here |
Thanks for the example @blink1073, this PR is effectively disabling coverage on PyPY :) Codecov is trying to compare the coverage on the other jobs (CPython) with an old report they have from more than 6 months ago, which causes the failure :( |
9ce6385
to
7108899
Compare
Ah, here is how it was disabled previously using |
That approach was reverted in f01d271 |
I see! Thank you very much @blink1073 for investigating this. So f01d271 did implement more or less the same approach of this PR, but that change seems to have been reverted last time jaraco/skeleton was collapsed. |
I am trying without Another thing we often have to do on windows is avoid capture with |
Yeah, still failing with no Trying with no capture now. |
No luck: |
Ha, and now they pass here as well. I think if we merge this, and then follow up by removing the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
Currently the test suite is problematic on PyPy. There is some advice about disabling `xdist` in pypa#3112 (comment) to try helping with this issue. This is just an experiment to see how disabling `xdist` would affect the total testing time.
Currently, CI jobs running on PyPy are (painfully) slow.
This seems to be a well know side effect of enabling coverage.
Summary of changes
The change proposed here is to disable coverage on PyPy for both Windows and MacOS (which seem to be very slow).
Coverage for PyPy on Ubuntu is preserved because, while being slower than CPython, it is still OK-ish.
Hopefully tests running on PyPy/Ubuntu will include most of PyPy's specific corner cases.
Pull Request Checklist
changelog.d/
.(See documentation for details)