Skip to content

Commit 39806c6

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fix/results_file
2 parents 26b662f + 085767c commit 39806c6

File tree

1 file changed

+24
-20
lines changed

1 file changed

+24
-20
lines changed

nipype/interfaces/tests/test_extra_dcm2nii.py

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,42 +14,46 @@
1414
DICOM_DIR = 'http://datasets-tests.datalad.org/dicoms/dcm2niix-tests'
1515

1616

17-
def fetch_data(datadir, dicoms):
18-
"""Fetches some test DICOMs using datalad"""
19-
api.install(path=datadir, source=DICOM_DIR)
20-
data = os.path.join(datadir, dicoms)
21-
api.get(path=data)
22-
return data
17+
@pytest.fixture
18+
def fetch_data():
19+
def _fetch_data(datadir, dicoms):
20+
try:
21+
"""Fetches some test DICOMs using datalad"""
22+
api.install(path=datadir, source=DICOM_DIR)
23+
data = os.path.join(datadir, dicoms)
24+
api.get(path=data)
25+
except IncompleteResultsError as exc:
26+
pytest.skip("Failed to fetch test data: %s" % str(exc))
27+
return data
28+
return _fetch_data
2329

2430
@pytest.mark.skipif(no_datalad, reason="Datalad required")
2531
@pytest.mark.skipif(no_dcm2niix, reason="Dcm2niix required")
26-
def test_dcm2niix_dwi(tmpdir):
32+
@pytest.mark.xfail(reason="Intermittent failures. Let's come back to this later.")
33+
def test_dcm2niix_dti(fetch_data, tmpdir):
2734
tmpdir.chdir()
2835
datadir = tmpdir.mkdir('data').strpath
29-
try:
30-
dicoms = fetch_data(datadir, 'Siemens_Sag_DTI_20160825_145811')
31-
except IncompleteResultsError as exc:
32-
pytest.skip("Failed to fetch test data: %s" % str(exc))
36+
dicoms = fetch_data(datadir, 'Siemens_Sag_DTI_20160825_145811')
3337

34-
def assert_dwi(eg):
38+
def assert_dti(res):
3539
"Some assertions we will make"
36-
assert eg.outputs.converted_files
37-
assert eg.outputs.bvals
38-
assert eg.outputs.bvecs
39-
outputs = [y for x,y in eg.outputs.get().items()]
40-
if eg.inputs.get('bids_format'):
40+
assert res.outputs.converted_files
41+
assert res.outputs.bvals
42+
assert res.outputs.bvecs
43+
outputs = [y for x,y in res.outputs.get().items()]
44+
if res.inputs.get('bids_format'):
4145
# ensure all outputs are of equal lengths
4246
assert len(set(map(len, outputs))) == 1
4347
else:
44-
assert not eg.outputs.bids
48+
assert not res.outputs.bids
4549

4650
dcm = Dcm2niix()
4751
dcm.inputs.source_dir = dicoms
4852
dcm.inputs.out_filename = '%u%z'
49-
assert_dwi(dcm.run())
53+
assert_dti(dcm.run())
5054

5155
# now run specifying output directory and removing BIDS option
5256
outdir = tmpdir.mkdir('conversion').strpath
5357
dcm.inputs.output_dir = outdir
5458
dcm.inputs.bids_format = False
55-
assert_dwi(dcm.run())
59+
assert_dti(dcm.run())

0 commit comments

Comments
 (0)