-
Notifications
You must be signed in to change notification settings - Fork 533
CI: Test Python 3.8 #3154
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: Test Python 3.8 #3154
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3154 +/- ##
==========================================
+ Coverage 64.89% 65.01% +0.11%
==========================================
Files 301 301
Lines 39717 39833 +116
Branches 5268 5269 +1
==========================================
+ Hits 25775 25896 +121
+ Misses 12884 12880 -4
+ Partials 1058 1057 -1
Continue to review full report at Codecov.
|
It seems that that test actually breaks the @oesteban Just in case you have ideas. |
Sorry, I was away for the weekend. I'm marking this unread and will come back to it later today. |
observing the stall of test_run_multiproc_nondaemon_false while building 1.4.2 on Debian (unstable/sid) as of yesterday Mar 22. |
FWIW test_run_multiproc_nondaemon_true hangs too ;-/ |
and test_run_multiproc |
To clarify: All for Python 3.8? Or is this a Python 3.7 issue as well? @oesteban I'm considering marking these as |
I believe it is 3.8 according to process trace:
also My current diff with skips now# quilt diff
Index: nipype-1.4.2/nipype/pipeline/plugins/tests/test_legacymultiproc_nondaemon.py
===================================================================
--- nipype-1.4.2.orig/nipype/pipeline/plugins/tests/test_legacymultiproc_nondaemon.py
+++ nipype-1.4.2/nipype/pipeline/plugins/tests/test_legacymultiproc_nondaemon.py
@@ -134,6 +134,7 @@ def run_multiproc_nondaemon_with_flag(no
return result
+@pytest.mark.skipif(True, reason="hangs, known upstream")
def test_run_multiproc_nondaemon_false():
"""
This is the entry point for the test. Two times a pipe of several
@@ -152,6 +153,7 @@ def test_run_multiproc_nondaemon_false()
assert shouldHaveFailed
+@pytest.mark.skipif(True, reason="hangs, known upstream")
def test_run_multiproc_nondaemon_true():
# with nondaemon_flag = True, the execution should succeed
result = run_multiproc_nondaemon_with_flag(True)
Index: nipype-1.4.2/nipype/pipeline/plugins/tests/test_multiproc.py
===================================================================
--- nipype-1.4.2.orig/nipype/pipeline/plugins/tests/test_multiproc.py
+++ nipype-1.4.2/nipype/pipeline/plugins/tests/test_multiproc.py
@@ -33,6 +33,7 @@ class MultiprocTestInterface(nib.BaseInt
return outputs
+@pytest.mark.skipif(True, reason="hangs, known upstream")
def test_run_multiproc(tmpdir):
tmpdir.chdir()
@@ -114,6 +115,7 @@ def test_no_more_threads_than_specified(
pipe.run(plugin="MultiProc", plugin_args={"n_procs": max_threads})
+@pytest.mark.skipif(True, reason="hangs, known upstream")
def test_hold_job_until_procs_available(tmpdir):
tmpdir.chdir()
|
fa21602
to
c17de57
Compare
This seems concerning, as I think this means the multiprocessing plugins can't be tested with Python 3.8. The best case scenario is that this is an interaction with pytest, but that would be very bad... |
eh, I am just an unlucky in general, even |
and now they hang on edit: if I drop my patch altogether and use this PR diff, I am back at hanging at |
Do you have |
|
It's currently being marked |
ok, if I take that patch too, I still get stalling on |
I can't replicate the provenance one. What versions of |
hopefully that hack will be resolved after rdflib 5.0.0 is released. |
Agreed. Does installing from |
yes, at this point the neurdflib PRs are now in master. so rdflib@master can be used instead of neurdflib. |
Rebased on #3195 to consolidate. @yarikoptic How are things now? |
b554ee7
to
c33f0e6
Compare
I guess we should go ahead with this, as some tests are better than none, but it's probably not a good thing that we can't test ( |
The prov issues seem to be stochastic... I'm going to try dropping the |
Not resolved by |
Now that I've put a timeout that might give us some debugging output if it does hang again, it won't hang... Rerunning again... |
FWIW, I thought that I might just avoid "stall" by simply using older nipype -- nope, elderly nipype 1.1.9 also gets stuck there, so should add skips. |
re
could/should it also get a timeout then, since xfail is no good if it just hangs there. |
a982342
to
5579985
Compare
@yarikoptic Timeouts added to OAR/PBS tests. |
FWIW, I have not tried this specific version, but I think I have all the skips - but then good old 1.1.9 still hangs at some later tests (at about 98% completness of the tests). If someone gets down to the underlying issue which causes the stalls -- would be very appreciated and would open possibility to upload recent nipype to debian proper. |
This gets things going, so I'm going to merge. I'll create an issue for Python 3.8 + multiprocessing, and feel free to open more outstanding issues. |
> we had to skip some tests in Python 3.8 due to changes in how multiprocessing works: nipy/nipype#3154 > I'm not sure whether Nipype will work in general after Python 3.7. ― @effigies, https://mattermost.brainhack.org/brainhack/pl/kxjyek8wk3nwjmcrdyw969kfde
Closes #3098.