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
fix pypy CI failure #1521
fix pypy CI failure #1521
Conversation
@gaborbernat While current PR is fixing one bug it does not fix the test failure. I need your help regarding what needs to be done regarding https://dev.azure.com/toxdev/tox/_build/results?buildId=2318&view=ms.vss-test-web.build-test-results-tab&runId=1025542&resultId=100172&paneView=debug Mainly the test fails because no warning is displayed. |
@@ -75,7 +75,7 @@ def collect_process(process): | |||
elif status is not None: | |||
outcome = spinner.fail | |||
outcome(env_name) | |||
if print_out and output is not None: | |||
if vars().get("print_out", None) and output is not None: |
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.
I don't think this is a correct solution, probably just need to move the definition of print_out
outside of the try block
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.
Sure. The hard question is about the missing warning, which causes that specific test to fail.
I'm not sure why it fails, would need to debug to understand why it's not triggering 👍 |
@gaborbernat @asottile I was able to narrow down the bug, it is CI specific and happens if you do not also have pypy3 installed when trying to run pypy environment. This unique test will fail, but it should be skipped. It is easy to replicate locally as I didn't have any of the pypy versions installed. I installed pypy and run I think that test should be change to be skipped when pypy3 executable is not found. I have doubts that we can easily configure Azure to install both python for this job, see https://github.com/tox-dev/azure-pipelines-template/blob/master/run-tox-env.yml#L91-L94 |
This can be done as here https://github.com/pypa/virtualenv/blob/master/azure-pipelines.yml#L97-L101 |
Fixes CI error seen with other patches.
Maybe you can explain me why https://github.com/pypa/virtualenv/blob/master/azure-pipelines.yml#L102-L106 lines did not also install pypy3. Based on what I read there, that task was supposed to also add the pypy3 near the default pypy2. Anyway, I made a change to the test to do an xfail when both executable are not found, as that is the only case where the conflict warning is expected to happen. |
🙀 green! Ship it before it sinks! |
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.
Thanks, I'm not a fan of the os.system call though. We have our own discovery system we should be using instead of that hack 🤔 how does this even work on non POSIX platforms 🤔
@gaborbernat Please make a suggestion/edit with the alternative implementation as I am used to that discovery logic. I just want to make CI green ASAP to merge and release #1519 -- as tox itself is affected by the virtualenv20 issues. Since I did not do anything else, and I seen a dozen others around me doing the same. |
Will address this in a few hours. |
Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
Sigh pypy3 is very-very-very slow... 😢 |
https://build.opensuse.org/request/show/786809 by user scarabeus_iv + dimstar_suse - Disable spinner tests as the monkeypatch changed behaviour in pytest - version update to 3.14.5 - Add ``--discover`` (fallback to ``TOX_DISCOVER`` environment variable via path separator) to inject python executables to try as first step of a discovery - note the executable still needs to match the environment by :user:`gaborbernat`. `#1526 <https://github.com/tox-dev/tox/issues/1526>`_ - Bump minimal six version needed to avoid using one incompatible with newer virtualenv. - by :user:`ssbarnea` `#1519 <https://github.com/tox-dev/tox/issues/1519>`_ - Avoid pypy test failure due to undefined printout var. - by :user:`ssbarnea` `#1521 <https://github.com/tox-dev/tox/issues/1521>`_
Fixes CI error seen with other patches.