-
Notifications
You must be signed in to change notification settings - Fork 261
TST: Add testing on Python 3.5 on Appveyor. #446
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
Conversation
OK - please ignore the license to ignore. I have a question: any particular reason the Appveyor thing is running under @Eric89GXL's Appveyor account (rather than an org account)? |
No real reason. Apparently I added AppVeyor support a while back. Let me know if I need to do anything to switch it over. |
Current coverage is 94.22%@@ master #446 diff @@
==========================================
Files 160 160
Lines 21185 21185
Methods 0 0
Messages 0 0
Branches 2265 2265
==========================================
Hits 19961 19961
Misses 803 803
Partials 421 421
|
Huh. It passed (after a few re-pushes). Feel free to merge this, if you think it's a good idea (Appveyor is admittedly a bit of a pain in the neck...) |
Looking at https://ci.appveyor.com/project/Eric89GXL/nibabel/build/1.0.694/job/ntqqoxkcha3ywiji#L84, it looks like the python 3.5 AppVeyor build actually uses python 2.7. |
Did something change on the conda end between pushes? From what I've seen, passing is somewhat random, these days, and the errors are usually checksum failures. Maybe a package server that was/is out of sync? |
@lesteve : good catch! That's wild. Will investigate |
Hmm - that's weird - the buildbots have been testing Python 3.5 with Christoph Gohlke's wheels for a while without (these) problems : |
Yes. It is weird. Any thoughts? This might be obvious, but a lot of these look like overflow errors to me. On Tue, Apr 19, 2016 at 10:15 AM, Matthew Brett [email protected]
|
It's difficult to imagine the precision differences would be due to the machine. Do you know - does numpy pass its own test suite on this setup? |
It seems that it does. For example: https://ci.appveyor.com/project/numpy/numpy/build/1.0.281/job/htein9lmbbgn116y |
I've given you an account on the BIDS windows testing box, called "carly", I've sent details via email. The way I use the machine is via remote desktop. So I install the Microsoft Remote Desktop app on OSX, then forward the relevant port to my machine with: ssh -L3389:localhost:3389 myuser@address-of-carly and start remote desktop pointing with a session pointed to localhost:3389 . You'll need your password to log in though. The least obtrusive way to get going is to work on a powershell command line inside a Windows docker container, like this:
This gives you a fresh throwaway container to play in, for which you have admin permissions. See: http://matthew-brett.github.io/pydagogue/windows_containers.html#example-of-installing-into-a-container |
OK - I've managed to install Anaconda in there (although not inside the docker container - instead I have installed it only for my user - I apologize if that's more intrusive than necessary), and I manage to replicate the same failures on Carly as the ones we see on Appveyor. It's quite hard for me to make any sense of them, though. The most I can make out is that a lot of them seem to have to do with nan's getting cast into the wrong values (for example, they're supposed to cast to 0, and end up in -128 instead, or they are supposed to cast to 0 and end up in some floating point value (~1.0039) instead. Especially on round-trips, things seem to go wrong (with overflow also happening - 0's going to |
Yes, sadly it does. We had this kind of problem for an MSVC bug: The tests are - I think - differences from the expected numbers when working with int max values and doing array scaling. It was extremely hard to track the previous error down, partly because the tests are a little opaque. You can see Ben C struggling manfully with the code in the first PR. I ended up spending a lot of time taking the test input for working and not working versions (with and without MKL in that case) and comparing the inputs and outputs. Ugh. |
Ariel - any progress here? |
No progress. I haven't had time to look into this more. On Tue, May 3, 2016 at 11:10 AM, Matthew Brett [email protected]
|
I tracked down one of the failing test (test_nan2zero_scaling) to a numpy clip issue, which for some reason seems to be happening only on Windows with Python 3.5, see numpy/numpy#7601. |
Good news, with the numpy fix from the PR numpy/numpy#7678, I can run the nibabel tests without any failure on my VM. So maybe there is no Python 3.5 specific problem within nibabel. If someone could double-check that would be great. In the medium term, not sure whether there is an easy way to run the tests with AppVeyor using numpy from master. Alternatively you could wait for a numpy version with the fix to be relased before using Python 3.5 for continuous integration. |
I am +1 for waiting on a numpy release with the fix, before proceeding with this PR. |
FYI the numpy fix is going to be in 1.11.1. The numpy release candidate has been announced a few hours ago so it may not be that long before a numpy release with the fix. |
numpy 1.11.1 is available through conda now, so in principle it is just a matter of relaunching the CI tests to make sure the AppVeyor tests pass on Python 3.5 before this PR can be merged. |
Thanks for the alert. I just rebased this on top of current master and pushed, which should trigger the CI. |
Yep. Looks like everything is coming up green. I noticed that there is no Python 2/64 bot on Appveyor. Is there any reason for that, or should I add it? |
I think it was just for testing time, AppVeyor processes serially. FYI a better solution is probably to use ci-helpers to get Anaconda up on AppVeyor, but that could be another PR when someone gets motivated. |
@matthew-brett I reckon this one should be merged. |
Thanks for doing this - merging. |
Feel free to ignore this. I am trying to understand the failures I am seeing over here: conda-forge/staged-recipes#284