-
-
Notifications
You must be signed in to change notification settings - Fork 10.8k
CI: add pypy #10051
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
CI: add pypy #10051
Conversation
IMO this should just be merged since it doesn't actually change any code and allows reviewers to see the results of the pypy tests. #10042 isn't merged yet, so the pypy tests would tend to fail (I can't personally vouch for that PR though). |
Is there any way to make that test give more useful output? There's not much I can do to track down the problem in this output
Perhaps run the tests in verbose mode or something so that the actual test names print out? |
That test failure appears to be non-deterministic because I couldn't see it in the last test run. Running the tests in verbose mode is an option but not sure that should be done on the CI. Do you want verbose mode for pypy only? |
Ooh, another approach would be to just enable |
Beat me to it, was about to link to |
I'm generally a fan of "verbose mode" (ie listing test names as they're
run) in non-interactive situations like CI runs. When running locally it's
not a big deal, but given how annoying it is to debug things on Travis, the
more info you get in that initial log, the better.
Enabling faulthandler seems like a useful idea as well – unlikely to hurt
and could be useful sometimes. Some searching suggests that PyPy has at
least some kind of faulthandler support, though it isn't clear to me how
finished it is.
…On Nov 18, 2017 7:06 PM, "Eric Wieser" ***@***.***> wrote:
Ooh, another approach would be to just enable faulthandler
<https://docs.python.org/3/library/faulthandler.html> in the tests,
assuming that PyPy has that. That would be generally useful on all test
setups.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#10051 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AAlOaEwJw0gigUoo6D64KJ0PEkB-ZGAzks5s35tEgaJpZM4QjIJL>
.
|
Note that the |
That's not the problem. |
@larsoner Please update |
Hmm, now it seems to hang |
Do you want to disable faulthandler then? |
Don't look now, but it might be unhung. |
Maybe we should not run the full tests for pypy yet, if that's what's causing it to be slow? Having tests take longer to complete is a pain, and it seems travis won't mark the job as complete even if all the required tests pass. |
No, the fact is that pypy is slow for running tests. We could skip it for PRs. Would you prefer that? |
I should be the last one to criticize, but:
|
File an issue with Travis CI.
It passes most of the tests, and I think it should pass nearly all of them when nditer is merged. The goal is to discover bugs in the tests. If it's more likely to fail, that's good. |
I don't see this being merged though due to the timing issue. |
FTR, there's an example here of fetching and setting up the latest pypy3 release in a travis build script: https://github.com/python-trio/trio/blob/3edfafeedef4071646a9015e28be01f83dc02f94/ci/travis.sh#L52-L62 @mattip not sure what you mean about virtualenv not working on pypy3, you can see in the snippet above that I've been using it for months... |
@njsmith Just to be clear, I closed this because people are not going to tolerate pypy taking 30 minutes to finish the tests. That's not unique to numpy; every project that I've seen takes at least two times as long to test. |
@njsmith virtualenv fails on our 32 bit linux chdir buildbot which uses Ubuntu 12.04, and this travis build also fails. |
@xoviat ah, true, that's a discussion we'll probably need to have at some point. 30 minutes seems excessive when most of our tests runs are ~5 minutes -- though I guess you have it running all the slow tests too? The next pypy release should have speedups for cpyext calls that might make a significant difference... or not. Another trick that can be useful is to convince Travis to kick off the pypy run first, since the travis run limit means we're doing 2-3 separate passes to get all the other tests finished. @mattip ah weird -- it's been fine for me on travis's 64-bit 14.04. Not sure what's going on with that travis build -- the error messages are about cython? |
You need to open the install step. This is the correct link to failing virtualenv |
@mattip Huh, lots of weird stuff going on there. That's using a pinned old version of virtualenv -- could that be the problem? I wonder if we even still need to do that. And then why doesn't our script notice when the virtualenv call fails. And why do we then |
In principle this is possible. |
This PR adds pypy to the test matrix. It is marked as a failure for now, but will allow measurement of the pypy progress.