Skip to content

Conversation

@mhvk
Copy link
Contributor

@mhvk mhvk commented Jan 7, 2016

This is an alternative to #4225, in which I tried to make a mininal set and move to python 3. For this purpose, I made an explicit python 3.5 default, and removed the non-dependency tests on 2.7 and 3.5 (since those tests are already done with dependencies anyway).

Now see if it actually passes...

@mhvk mhvk force-pushed the new-travis-setup branch 3 times, most recently from a9c9b3a to 9743945 Compare January 7, 2016 22:04
.travis.yml Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you need to list this above in the matrix too, and list the duplicate of the exact same env call under allow_failures.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I wondered about that duplication -- should have realised it had a reason!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

np, I probably spent way more time than what's healthy playing with travis :)

@bsipocz
Copy link
Member

bsipocz commented Jan 7, 2016

@mhvk - Sorry for the nitpicking, but I think a numpy 1.9 build would be needed, too.

@mhvk
Copy link
Contributor Author

mhvk commented Jan 8, 2016

Yes, should have added numpy 1.9. Darn, still so many tests!

@mhvk mhvk changed the title Update testing for 1.12, moving to 3.5 by default. Update testing for 1.12, moving to 3.4 by default. Jan 8, 2016
.travis.yml Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mhvk - Python 3.5 does support beautiful soup, but you need to use the new package name, beautifulsoup4

@mhvk mhvk force-pushed the new-travis-setup branch from af73e42 to 66a7a7b Compare January 10, 2016 16:33
@mhvk mhvk changed the title Update testing for 1.12, moving to 3.4 by default. Update testing for 1.12, moving to 3.5 by default. Jan 10, 2016
@astrofrog astrofrog changed the title Update testing for 1.12, moving to 3.5 by default. Update testing for 1.2, moving to 3.5 by default. Jan 10, 2016
@astrofrog
Copy link
Member

@mhvk - can you fix the commit that says 1.12 to say 1.2 instead?

.travis.yml Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you change the order back to the original one?

@mhvk mhvk force-pushed the new-travis-setup branch from 66a7a7b to 477ae0b Compare January 10, 2016 17:50
@mhvk
Copy link
Contributor Author

mhvk commented Jan 10, 2016

OK, both done.

.travis.yml Outdated
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we have NUMPY_VERSION=stable here to always update to the latest stable version?

@mhvk
Copy link
Contributor Author

mhvk commented Jan 13, 2016

The sphinx documentation build on python3 seems to have quite a few different issues, including some documentation or code docstrings assuming python2, so I moved that back to python2 for now. See new issue #4481.

@mhvk
Copy link
Contributor Author

mhvk commented Jan 13, 2016

It seems the main tests finally do not fail any more. Does anyone understand why coverage went down?

@bsipocz
Copy link
Member

bsipocz commented Jan 13, 2016

If you rebase it should work again.

We saw this before (I just can't find the issue), and my work hypothesis was that it happens if coverage is using an older than master base for the PR but compares it to the latest master's coverage. Thus if the coverage increased between the base of this and master it takes it as it "decreases" with this PR.

@mhvk
Copy link
Contributor Author

mhvk commented Jan 13, 2016

@bsipocz - OK, thanks, that sounds plausible. Rebased now.

@mhvk
Copy link
Contributor Author

mhvk commented Jan 13, 2016

@bsipocz - maybe plausible, but sadly not true. Looking closer at the coverage report, essentially all python files seem to be missing, and the travis test --coverage log is full of "cannot open source file", so there must be some path set wrong or so (see https://api.travis-ci.org/jobs/102154880/log.txt?deansi=true). Any suggestions?

@bsipocz
Copy link
Member

bsipocz commented Jan 13, 2016

@mhvk - maybe cpp-coveralls has some issues with python3? I'm just guessing, never saw this problem before.

@bsipocz
Copy link
Member

bsipocz commented Jan 13, 2016

Hmm, looking at the logs it seems that it was a problem before, too. Maybe @embray or @eteq have a good idea what is going on? Why aren't the c files found? Also why are they tried to be tested at all in cextern?
https://travis-ci.org/astropy/astropy/jobs/102180694#L2309

@mhvk mhvk force-pushed the new-travis-setup branch from 4182cd4 to 815fb1b Compare March 2, 2016 21:50
@mhvk
Copy link
Contributor Author

mhvk commented Mar 3, 2016

With #4645 in, so that numpy 1.10 is tested, I now returned to moving our tests to python3 by default. It seems to work, except that the coverage decreased, in a way I find very hard to parse. Any suggestions? Is this a problem?

Note that this keeps the sphinx build on python2; moving that to python3 is the goal of @bsipocz's #4556.

@bsipocz
Copy link
Member

bsipocz commented Mar 3, 2016

It seems that something goes wrong with the c code coveralls with the py3 run. I don't think that should be a blocker for this PR though, but maybe open a separate issue to tackle this.

@bsipocz
Copy link
Member

bsipocz commented Mar 3, 2016

However something is fishy with these summary numbers (in the coverage run):

This PR: ============ 7495 passed, 85 skipped, 69 xfailed in 1194.37 seconds ============

Master: =========== 10295 passed, 115 skipped, 74 xfailed in 517.94 seconds ============

@bsipocz
Copy link
Member

bsipocz commented Mar 3, 2016

@mhvk
Copy link
Contributor Author

mhvk commented Mar 3, 2016

@bsipocz - OK, thanks! If it is too unclear, I can also move coverage back to 2.7 for now, and raise a separate issue about that (as is already happening for sphinx...). I guess the upside to all of this is that we're finding and fixing python3 issues!

@bsipocz
Copy link
Member

bsipocz commented Mar 3, 2016

Well, I would even argue that we could leave the coverage with the py3 run, and fix the problem separately. Now it seems coverage unrelated, some of those tests involving the c files are not picked up (or something similar) in the py3 run.

@mhvk
Copy link
Contributor Author

mhvk commented Mar 3, 2016

@bsipocz - Since it is only the C coverage that is affected, either just moving coverage to 3.5 and investigating further after, or keeping it at 2.7 for now and moving later are fine by me. Maybe get further opinions... @astrofrog? @eteq?

@bsipocz
Copy link
Member

bsipocz commented Mar 3, 2016

@mhvk - OK, one mystery is solved. The difference in the number of tests has nothing to do with the c coverage, and due to # TEST_UNICODE_LITERALS, in python2 those modules are run twice.

@eteq eteq added this to the v1.2.0 milestone Mar 9, 2016
@eteq
Copy link
Member

eteq commented Mar 9, 2016

Oh, interesting. So I guess this is our "real" test coverage then? :( Perhaps we need an improve-coverage sprint in the near future...

At any rate, I think this is all set, right? @astrofrog, do you agree we want to do this? (i.e., switch to 3.5 as the default) If so, I say go for it!

@saimn
Copy link
Contributor

saimn commented Mar 9, 2016

Something seems wrong with this coverage report : 5842 of 8459 relevant lines covered ?
On a report from another PR with Python 2 it says 42562 of 55530 relevant lines covered which seems more realistic.
(cloc --exclude-dir=tests,extern,compat astropy reports 60873 lines of Python code).

@astrofrog
Copy link
Member

By the way, I fixed issues with coverage in Python 3.x in #4822

@astrofrog
Copy link
Member

However, as mentioned in #4826, coverage testing is way slower in Python 3, so I don't think we want to use that yet until this is figured out.

I'm removing the 1.2 milestone since this is not critical for 1.2

@astrofrog astrofrog removed this from the v1.2.0 milestone May 11, 2016
@mhvk
Copy link
Contributor Author

mhvk commented Jul 4, 2016

Enough had changed in .travis.yml that I thought it was better to start afresh with trying to move our testing to python3; see #5155.

@mhvk mhvk closed this Jul 4, 2016
@mhvk mhvk deleted the new-travis-setup branch August 19, 2016 17:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants