From 98e93a4d178d4416cc567d0602d7d78362e66f7b Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 30 Sep 2019 13:05:25 -0400 Subject: [PATCH 1/2] tst: create data directory prior to datalad install --- nipype/interfaces/tests/test_extra_dcm2nii.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/nipype/interfaces/tests/test_extra_dcm2nii.py b/nipype/interfaces/tests/test_extra_dcm2nii.py index 44fb7196f8..5a82b87508 100644 --- a/nipype/interfaces/tests/test_extra_dcm2nii.py +++ b/nipype/interfaces/tests/test_extra_dcm2nii.py @@ -14,11 +14,10 @@ DICOM_DIR = 'http://datasets-tests.datalad.org/dicoms/dcm2niix-tests' -def fetch_data(tmpdir, dicoms): +def fetch_data(datadir, dicoms): """Fetches some test DICOMs using datalad""" - data = os.path.join(tmpdir, 'data') - api.install(path=data, source=DICOM_DIR) - data = os.path.join(data, dicoms) + api.install(path=datadir, source=DICOM_DIR) + data = os.path.join(datadir, dicoms) api.get(path=data) return data @@ -26,8 +25,10 @@ def fetch_data(tmpdir, dicoms): @pytest.mark.skipif(no_dcm2niix, reason="Dcm2niix required") def test_dcm2niix_dwi(tmpdir): tmpdir.chdir() + datadir = tmpdir / 'data' + datadir.mkdir() try: - datadir = fetch_data(tmpdir.strpath, 'Siemens_Sag_DTI_20160825_145811') + dicoms = fetch_data(datadir.strpath, 'Siemens_Sag_DTI_20160825_145811') except IncompleteResultsError as exc: pytest.skip("Failed to fetch test data: %s" % str(exc)) @@ -44,7 +45,7 @@ def assert_dwi(eg, bids): assert not eg.outputs.bids dcm = Dcm2niix() - dcm.inputs.source_dir = datadir + dcm.inputs.source_dir = dicoms dcm.inputs.out_filename = '%u%z' assert_dwi(dcm.run(), True) From 5b30d5b7855bdaa0c12f79e20df5afb1245c17c6 Mon Sep 17 00:00:00 2001 From: mathiasg Date: Mon, 30 Sep 2019 13:10:55 -0400 Subject: [PATCH 2/2] rf: clean up test --- nipype/interfaces/tests/test_extra_dcm2nii.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/nipype/interfaces/tests/test_extra_dcm2nii.py b/nipype/interfaces/tests/test_extra_dcm2nii.py index 5a82b87508..083b8fcca1 100644 --- a/nipype/interfaces/tests/test_extra_dcm2nii.py +++ b/nipype/interfaces/tests/test_extra_dcm2nii.py @@ -25,20 +25,19 @@ def fetch_data(datadir, dicoms): @pytest.mark.skipif(no_dcm2niix, reason="Dcm2niix required") def test_dcm2niix_dwi(tmpdir): tmpdir.chdir() - datadir = tmpdir / 'data' - datadir.mkdir() + datadir = tmpdir.mkdir('data').strpath try: - dicoms = fetch_data(datadir.strpath, 'Siemens_Sag_DTI_20160825_145811') + dicoms = fetch_data(datadir, 'Siemens_Sag_DTI_20160825_145811') except IncompleteResultsError as exc: pytest.skip("Failed to fetch test data: %s" % str(exc)) - def assert_dwi(eg, bids): + def assert_dwi(eg): "Some assertions we will make" assert eg.outputs.converted_files assert eg.outputs.bvals assert eg.outputs.bvecs outputs = [y for x,y in eg.outputs.get().items()] - if bids: + if eg.inputs.get('bids_format'): # ensure all outputs are of equal lengths assert len(set(map(len, outputs))) == 1 else: @@ -47,10 +46,10 @@ def assert_dwi(eg, bids): dcm = Dcm2niix() dcm.inputs.source_dir = dicoms dcm.inputs.out_filename = '%u%z' - assert_dwi(dcm.run(), True) + assert_dwi(dcm.run()) # now run specifying output directory and removing BIDS option outdir = tmpdir.mkdir('conversion').strpath dcm.inputs.output_dir = outdir dcm.inputs.bids_format = False - assert_dwi(dcm.run(), False) + assert_dwi(dcm.run())