Skip to content

Commit 9a7db4d

Browse files
authored
Merge pull request #3154 from effigies/ci/py38
CI: Test Python 3.8
2 parents 24375b2 + ab4298a commit 9a7db4d

File tree

8 files changed

+19
-10
lines changed

8 files changed

+19
-10
lines changed

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ language: python
66
python:
77
- 3.6
88
- 3.7
9+
- 3.8
910

1011
env:
1112
global:

nipype/info.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ def get_nipype_gitversion():
5656
"Operating System :: POSIX :: Linux",
5757
"Programming Language :: Python :: 3.6",
5858
"Programming Language :: Python :: 3.7",
59+
"Programming Language :: Python :: 3.8",
5960
"Topic :: Scientific/Engineering",
6061
]
6162
PYTHON_REQUIRES = ">= 3.6"
@@ -109,6 +110,7 @@ def get_nipype_gitversion():
109110
FUTURE_MIN_VERSION = "0.16.0"
110111
SIMPLEJSON_MIN_VERSION = "3.8.0"
111112
PROV_VERSION = "1.5.2"
113+
RDFLIB_MIN_VERSION = "5.0.0"
112114
CLICK_MIN_VERSION = "6.6.0"
113115
PYDOT_MIN_VERSION = "1.2.3"
114116

@@ -143,17 +145,14 @@ def get_nipype_gitversion():
143145
"pydot>=%s" % PYDOT_MIN_VERSION,
144146
"pydotplus",
145147
"python-dateutil>=%s" % DATEUTIL_MIN_VERSION,
148+
"rdflib>=%s" % RDFLIB_MIN_VERSION,
146149
"scipy>=%s" % SCIPY_MIN_VERSION,
147150
"simplejson>=%s" % SIMPLEJSON_MIN_VERSION,
148151
"traits>=%s,!=5.0" % TRAITS_MIN_VERSION,
149152
"filelock>=3.0.0",
150153
"etelemetry>=0.2.0",
151154
]
152155

153-
# neurdflib has to come after prov
154-
# https://github.com/nipy/nipype/pull/2961#issuecomment-512035484
155-
REQUIRES += ["neurdflib"]
156-
157156
TESTS_REQUIRES = [
158157
"codecov",
159158
"coverage<5",

nipype/pipeline/plugins/tests/test_legacymultiproc_nondaemon.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ def run_multiproc_nondaemon_with_flag(nondaemon_flag):
134134
return result
135135

136136

137+
@pytest.mark.skipif(sys.version_info >= (3, 8), reason="multiprocessing issues in Python 3.8")
137138
def test_run_multiproc_nondaemon_false():
138139
"""
139140
This is the entry point for the test. Two times a pipe of several
@@ -152,6 +153,7 @@ def test_run_multiproc_nondaemon_false():
152153
assert shouldHaveFailed
153154

154155

156+
@pytest.mark.skipif(sys.version_info >= (3, 8), reason="multiprocessing issues in Python 3.8")
155157
def test_run_multiproc_nondaemon_true():
156158
# with nondaemon_flag = True, the execution should succeed
157159
result = run_multiproc_nondaemon_with_flag(True)

nipype/pipeline/plugins/tests/test_multiproc.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"""
55
Test the resource management of MultiProc
66
"""
7+
import sys
78
import os
89
import pytest
910
from nipype.pipeline import engine as pe
@@ -33,6 +34,7 @@ def _list_outputs(self):
3334
return outputs
3435

3536

37+
@pytest.mark.skipif(sys.version_info >= (3, 8), reason="multiprocessing issues in Python 3.8")
3638
def test_run_multiproc(tmpdir):
3739
tmpdir.chdir()
3840

@@ -114,6 +116,7 @@ def test_no_more_threads_than_specified(tmpdir):
114116
pipe.run(plugin="MultiProc", plugin_args={"n_procs": max_threads})
115117

116118

119+
@pytest.mark.skipif(sys.version_info >= (3, 8), reason="multiprocessing issues in Python 3.8")
117120
def test_hold_job_until_procs_available(tmpdir):
118121
tmpdir.chdir()
119122

nipype/pipeline/plugins/tests/test_oar.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,9 @@ def _list_outputs(self):
2929
return outputs
3030

3131

32-
@pytest.mark.skipif(which('oarsub') is None, reason="OAR not installed")
33-
def test_run_pbsgraph(tmp_path):
32+
@pytest.mark.skipif(which("oarsub") is None, reason="OAR not installed")
33+
@pytest.mark.timeout(60)
34+
def test_run_oargraph(tmp_path):
3435
pipe = pe.Workflow(name="pipe", base_dir=str(tmp_path))
3536
mod1 = pe.Node(interface=OarTestInterface(), name="mod1")
3637
mod2 = pe.MapNode(interface=OarTestInterface(), iterfield=["input1"], name="mod2")

nipype/pipeline/plugins/tests/test_pbs.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ def _list_outputs(self):
2929
return outputs
3030

3131

32-
@pytest.mark.skipif(which('qsub') is None, reason="PBS not installed")
32+
@pytest.mark.skipif(which("qsub") is None, reason="PBS not installed")
33+
@pytest.mark.timeout(60)
3334
def test_run_pbsgraph(tmp_path):
3435
pipe = pe.Workflow(name="pipe", base_dir=str(tmp_path))
3536
mod1 = pe.Node(interface=PbsTestInterface(), name="mod1")

nipype/utils/tests/test_provenance.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616

1717
@needs_rdflib5
18+
@pytest.mark.timeout(60)
1819
def test_provenance(tmpdir):
1920
from nipype.interfaces.base import CommandLine
2021

@@ -27,6 +28,7 @@ def test_provenance(tmpdir):
2728

2829

2930
@needs_rdflib5
31+
@pytest.mark.timeout(60)
3032
def test_provenance_exists(tmpdir):
3133
tmpdir.chdir()
3234
from nipype import config

requirements.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22
click>=6.6.0
33
networkx>=1.9
44
nibabel>=2.1.0
5-
numpy>=1.12 ; python_version < "3.7"
5+
numpy>=1.13 ; python_version < "3.7"
66
numpy>=1.15.3 ; python_version >= "3.7"
77
packaging
88
prov>=1.5.2
99
pydot>=1.2.3
1010
pydotplus
1111
python-dateutil>=2.2
12+
rdflib>=5.0.0
1213
scipy>=0.14
1314
simplejson>=3.8.0
1415
traits>=4.6,!=5.0
1516
filelock>=3.0.0
16-
etelemetry
17-
neurdflib
17+
etelemetry>=0.2.0

0 commit comments

Comments
 (0)