Skip to content

Commit ec075eb

Browse files
author
Shoshana Berleant
committed
nose's assert_raises and mock's patch don't play together well; future's raise_from requires exceptions to be imported without a qualifier
1 parent 68154f7 commit ec075eb

File tree

2 files changed

+17
-3
lines changed

2 files changed

+17
-3
lines changed

nipype/testing/tests/test_utils.py

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,21 @@ def test_tempfatfs():
2323
@patch('subprocess.check_call', MagicMock(
2424
side_effect=subprocess.CalledProcessError('','')))
2525
def test_tempfatfs_calledprocesserror():
26-
yield assert_raises, IOError, TempFATFS
26+
try:
27+
TempFATFS()
28+
except IOError as e:
29+
assert_true(isinstance(e, IOError))
30+
assert_true(isinstance(e.__cause__, subprocess.CalledProcessError))
31+
else:
32+
assert_true(False)
2733

34+
@patch('subprocess.check_call', MagicMock())
2835
@patch('subprocess.Popen', MagicMock(side_effect=OSError()))
2936
def test_tempfatfs_oserror():
30-
yield assert_raises, IOError, TempFATFS
37+
try:
38+
TempFATFS()
39+
except IOError as e:
40+
assert_true(isinstance(e, IOError))
41+
assert_true(isinstance(e.__cause__, OSError))
42+
else:
43+
assert_true(False)

nipype/testing/utils.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import shutil
1010
import signal
1111
import subprocess
12+
from subprocess import CalledProcessError
1213
from tempfile import mkdtemp
1314
from ..utils.misc import package_check
1415
from nose import SkipTest
@@ -62,7 +63,7 @@ def __init__(self, size_in_mbytes=8, delay=0.5):
6263
try:
6364
subprocess.check_call(args=mkfs_args, stdout=self.dev_null,
6465
stderr=self.dev_null)
65-
except subprocess.CalledProcessError as e:
66+
except CalledProcessError as e:
6667
raise_from(IOError("mkfs.vfat failed"), e)
6768

6869
try:

0 commit comments

Comments
 (0)