Skip to content

Commit b66ef0e

Browse files
authored
Merge pull request #1671 from oesteban/fix/MinorErrorsNewInstaller
[FIX] Minor errors after migration to setuptools
2 parents 91802ba + 0b76680 commit b66ef0e

File tree

9 files changed

+90
-77
lines changed

9 files changed

+90
-77
lines changed

Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# rsync -e ssh nipype-0.1-py2.5.egg cburns,[email protected]:/home/frs/project/n/ni/nipy/nipype/nipype-0.1/
44

55
PYTHON ?= python
6-
NOSETESTS ?= nosetests
6+
NOSETESTS=`which nosetests`
77

88
.PHONY: zipdoc sdist egg upload_to_pypi trailing-spaces clean-pyc clean-so clean-build clean-ctags clean in inplace test-code test-doc test-coverage test html specs check-before-commit check
99

@@ -56,7 +56,7 @@ inplace:
5656
$(PYTHON) setup.py build_ext -i
5757

5858
test-code: in
59-
$(NOSETESTS) -s nipype --with-doctest --with-doctest-ignore-unicode
59+
python -W once:FSL:UserWarning:nipype $(NOSETESTS) --with-doctest --with-doctest-ignore-unicode --logging-level=DEBUG --verbosity=3 nipype
6060

6161
test-doc:
6262
$(NOSETESTS) -s --with-doctest --with-doctest-ignore-unicode --doctest-tests --doctest-extension=rst \
@@ -66,7 +66,8 @@ test-coverage: clean-tests in
6666
$(NOSETESTS) -s --with-doctest --with-doctest-ignore-unicode --with-coverage --cover-package=nipype \
6767
--config=.coveragerc
6868

69-
test: clean test-code
69+
test: tests # just another name
70+
tests: clean test-code
7071

7172
html:
7273
@echo "building docs"

doc/devel/testing_nipype.rst

Lines changed: 65 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.. _dev_testing_nipype:
2+
13
==============
24
Testing nipype
35
==============
@@ -14,37 +16,91 @@ If both batteries of tests are passing, the following badges should be shown in
1416
:target: https://circleci.com/gh/nipy/nipype/tree/master
1517

1618

17-
Tests implementation
18-
--------------------
19+
Installation for developers
20+
---------------------------
21+
22+
To check out the latest development version::
23+
24+
git clone https://github.com/nipy/nipype.git
25+
26+
After cloning::
27+
28+
cd nipype
29+
pip install -r requirements.txt
30+
python setup.py develop
31+
32+
or::
33+
34+
cd nipype
35+
pip install -r requirements.txt
36+
pip install -e .[tests]
37+
38+
39+
40+
Test implementation
41+
-------------------
1942

2043
Nipype testing framework is built upon `nose <http://nose.readthedocs.io/en/latest/>`_.
2144
By the time these guidelines are written, Nipype implements 17638 tests.
2245

23-
To run the tests locally, first get nose installed::
46+
After installation in developer mode, the tests can be run with the
47+
following simple command at the root folder of the project ::
48+
49+
make tests
2450

25-
pip install nose
51+
If ``make`` is not installed in the system, it is possible to run the tests using::
2652

53+
python -W once:FSL:UserWarning:nipype `which nosetests` --with-doctest \
54+
--with-doctest-ignore-unicode --logging-level=DEBUG --verbosity=3 nipype
2755

28-
Then, after nipype is `installed in developer mode <../users/install.html#nipype-for-developers>`_,
29-
the tests can be run with the following simple command::
3056

31-
make tests
57+
A successful test run should complete in a few minutes and end with
58+
something like::
3259

60+
----------------------------------------------------------------------
61+
Ran 17922 tests in 107.254s
62+
63+
OK (SKIP=27)
64+
65+
66+
All tests should pass (unless you're missing a dependency). If the ``SUBJECTS_DIR```
67+
environment variable is not set, some FreeSurfer related tests will fail.
68+
If any of the tests failed, please report them on our `bug tracker
69+
<http://github.com/nipy/nipype/issues>`_.
70+
71+
On Debian systems, set the following environment variable before running
72+
tests::
73+
74+
export MATLABCMD=$pathtomatlabdir/bin/$platform/MATLAB
75+
76+
where ``$pathtomatlabdir`` is the path to your matlab installation and
77+
``$platform`` is the directory referring to x86 or x64 installations
78+
(typically ``glnxa64`` on 64-bit installations).
3379

3480
Skip tests
35-
----------
81+
~~~~~~~~~~
3682

3783
Nipype will skip some tests depending on the currently available software and data
3884
dependencies. Installing software dependencies and downloading the necessary data
3985
will reduce the number of skip tests.
4086

4187
Some tests in Nipype make use of some images distributed within the `FSL course data
4288
<http://fsl.fmrib.ox.ac.uk/fslcourse/>`_. This reduced version of the package can be downloaded `here
43-
<https://3552243d5be815c1b09152da6525cb8fe7b900a6.googledrive.com/host/0BxI12kyv2olZVUswazA3NkFvOXM/nipype-fsl_course_data.tar.gz>`_.
89+
<https://files.osf.io/v1/resources/nefdp/providers/osfstorage/57f472cf9ad5a101f977ecfe>`_.
4490
To enable the tests depending on these data, just unpack the targz file and set the :code:`FSL_COURSE_DATA` environment
4591
variable to point to that folder.
4692

4793

94+
Avoiding any MATLAB calls from testing
95+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
96+
97+
On unix systems, set an empty environment variable::
98+
99+
export NIPYPE_NO_MATLAB=
100+
101+
This will skip any tests that require matlab.
102+
103+
48104
Testing Nipype using Docker
49105
---------------------------
50106

doc/users/install.rst

Lines changed: 11 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ or::
4343
pip install nipype
4444

4545

46+
If you want to install all the optional features of ``nipype``,
47+
use the following command (only for ``nipype>=0.13``)::
48+
49+
pip install nipype[all]
50+
51+
4652
Debian and Ubuntu
4753
~~~~~~~~~~~~~~~~~
4854

@@ -73,77 +79,24 @@ If you downloaded the source distribution named something
7379
like ``nipype-x.y.tar.gz``, then unpack the tarball, change into the
7480
``nipype-x.y`` directory and install nipype using::
7581

76-
pip install -r requirements.txt
7782
python setup.py install
7883

7984
**Note:** Depending on permissions you may need to use ``sudo``.
8085

8186

82-
Nipype for developers
83-
---------------------
84-
85-
To check out the latest development version::
86-
87-
git clone git://github.com/nipy/nipype.git
88-
89-
or::
90-
91-
git clone https://github.com/nipy/nipype.git
92-
93-
After cloning::
94-
95-
pip install -r requirements.txt
96-
python setup.py develop
97-
98-
99-
Check out the list of nipype's `current dependencies <https://github.com/nipy/nipype/blob/master/requirements.txt>`_.
100-
101-
10287
Testing the install
10388
-------------------
10489

105-
The best way to test the install is to run the test suite. If you have
106-
nose_ installed, then do the following::
107-
108-
python -c "import nipype; nipype.test()"
109-
110-
you can also test with nosetests::
111-
112-
nosetests --with-doctest <installation filepath>/nipype --exclude=external --exclude=testing
113-
114-
or::
115-
116-
nosetests --with-doctest nipype
117-
118-
A successful test run should complete in a few minutes and end with
119-
something like::
120-
121-
Ran 13053 tests in 126.618s
122-
123-
OK (SKIP=66)
124-
125-
All tests should pass (unless you're missing a dependency). If SUBJECTS_DIR
126-
variable is not set some FreeSurfer related tests will fail. If any tests
127-
fail, please report them on our `bug tracker
128-
<http://github.com/nipy/nipype/issues>`_.
129-
130-
On Debian systems, set the following environment variable before running
131-
tests::
132-
133-
export MATLABCMD=$pathtomatlabdir/bin/$platform/MATLAB
90+
The best way to test the install is checking nipype's version ::
13491

135-
where ``$pathtomatlabdir`` is the path to your matlab installation and
136-
``$platform`` is the directory referring to x86 or x64 installations
137-
(typically ``glnxa64`` on 64-bit installations).
92+
python -c "import nipype; print(nipype.__version__)"
13893

139-
Avoiding any MATLAB calls from testing
140-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
14194

142-
On unix systems, set an empty environment variable::
95+
Installation for developers
96+
---------------------------
14397

144-
export NIPYPE_NO_MATLAB=
98+
Developers should start `here <../devel/testing_nipype.html>`_.
14599

146-
This will skip any tests that require matlab.
147100

148101
Recommended Software
149102
------------

docker/nipype_test/Dockerfile_py27

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ RUN chmod +x /usr/bin/run_*
4040
# Speed up building
4141
RUN mkdir -p /root/src/nipype
4242
COPY requirements.txt /root/src/nipype/requirements.txt
43-
RUN pip install -r /root/src/nipype/requirements.txt
43+
RUN pip install -r /root/src/nipype/requirements.txt && \
44+
sed -i 's/\(backend *: \).*$/\1Agg/g' /usr/local/miniconda/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc
4445

4546
# Re-install nipype
4647
COPY . /root/src/nipype

docker/nipype_test/Dockerfile_py34

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ RUN rm -r ${FSLDIR}/bin/imglob && \
4545
# Speed up building
4646
RUN mkdir -p /root/src/nipype
4747
COPY requirements.txt /root/src/nipype/requirements.txt
48-
RUN pip install -r /root/src/nipype/requirements.txt
48+
RUN pip install -r /root/src/nipype/requirements.txt && \
49+
sed -i 's/\(backend *: \).*$/\1Agg/g' /usr/local/miniconda/lib/python3.4/site-packages/matplotlib/mpl-data/matplotlibrc
4950

5051
# Re-install nipype
5152
COPY . /root/src/nipype

docker/nipype_test/Dockerfile_py35

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ RUN rm -r ${FSLDIR}/bin/imglob && \
4343
# Speed up building
4444
RUN mkdir -p /root/src/nipype
4545
COPY requirements.txt /root/src/nipype/requirements.txt
46-
RUN pip install -r /root/src/nipype/requirements.txt
46+
RUN pip install -r /root/src/nipype/requirements.txt && \
47+
sed -i 's/\(backend *: \).*$/\1Agg/g' /usr/local/miniconda/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc
4748

4849
# Re-install nipype
4950
COPY . /root/src/nipype

nipype/info.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def get_nipype_gitversion():
156156
]
157157

158158
EXTRA_REQUIRES = {
159-
'doc': ['Sphinx>=0.3', 'matplotlib', 'pydotplus'],
159+
'doc': ['Sphinx>=0.3', 'matplotlib', 'pydotplus', 'doctest-ignore-unicode'],
160160
'tests': TESTS_REQUIRES,
161161
'fmri': ['nitime', 'nilearn', 'dipy', 'nipy', 'matplotlib'],
162162
'profiler': ['psutil'],

nipype/interfaces/utility.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
Undefined, isdefined, OutputMultiPath, runtime_profile,
2626
InputMultiPath, BaseInterface, BaseInterfaceInputSpec)
2727
from .io import IOBase, add_traits
28-
from ..testing import assert_equal
2928
from ..utils.filemanip import (filename_to_list, copyfile, split_filename)
3029
from ..utils.misc import getsource, create_function_from_source
3130

@@ -530,8 +529,8 @@ def _run_interface(self, runtime):
530529
data1 = nb.load(self.inputs.volume1).get_data()
531530
data2 = nb.load(self.inputs.volume2).get_data()
532531

533-
assert_equal(data1, data2)
534-
532+
if not np.all(data1 == data2):
533+
raise RuntimeError('Input images are not exactly equal')
535534
return runtime
536535

537536

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ xvfbwrapper
1212
psutil
1313
funcsigs
1414
configparser
15+
doctest-ignore-unicode

0 commit comments

Comments
 (0)