Skip to content

Commit d5ad97a

Browse files
committed
TEST: Updated to expect indexed_gzip if present
1 parent d2972ce commit d5ad97a

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

nibabel/tests/test_openers.py

+13-6
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@
1212
from gzip import GzipFile
1313
from bz2 import BZ2File
1414
from io import BytesIO, UnsupportedOperation
15+
from distutils.version import StrictVersion
1516

1617
from ..py3k import asstr, asbytes
17-
from ..openers import Opener, ImageOpener
18+
from ..openers import Opener, ImageOpener, HAVE_INDEXED_GZIP
1819
from ..tmpdirs import InTemporaryDirectory
1920
from ..volumeutils import BinOpener
2021

@@ -67,6 +68,8 @@ def test_Opener_various():
6768
# Check we can do all sorts of files here
6869
message = b"Oh what a giveaway"
6970
bz2_fileno = hasattr(BZ2File, 'fileno')
71+
if HAVE_INDEXED_GZIP:
72+
import indexed_gzip as igzip
7073
with InTemporaryDirectory():
7174
sobj = BytesIO()
7275
for input in ('test.txt',
@@ -86,6 +89,11 @@ def test_Opener_various():
8689
assert_raises(UnsupportedOperation, fobj.fileno)
8790
elif input.endswith('.bz2') and not bz2_fileno:
8891
assert_raises(AttributeError, fobj.fileno)
92+
# indexed gzip is used by default, and drops file
93+
# handles by default, so we don't have a fileno.
94+
elif input.endswith('gz') and HAVE_INDEXED_GZIP and \
95+
StrictVersion(igzip.__version__) >= StrictVersion('0.7.0'):
96+
assert_raises(igzip.NoHandleError, fobj.fileno)
8997
else:
9098
# Just check there is a fileno
9199
assert_not_equal(fobj.fileno(), 0)
@@ -139,7 +147,7 @@ def test_Opener_gzip_type():
139147
(False, {'mode' : 'wb', 'keep_open' : False}, GzipFile),
140148
(False, {'mode' : 'wb', 'keep_open' : 'auto'}, GzipFile),
141149
(True, {'mode' : 'rb', 'keep_open' : True}, MockIndexedGzipFile),
142-
(True, {'mode' : 'rb', 'keep_open' : False}, GzipFile),
150+
(True, {'mode' : 'rb', 'keep_open' : False}, MockIndexedGzipFile),
143151
(True, {'mode' : 'rb', 'keep_open' : 'auto'}, MockIndexedGzipFile),
144152
(True, {'mode' : 'wb', 'keep_open' : True}, GzipFile),
145153
(True, {'mode' : 'wb', 'keep_open' : False}, GzipFile),
@@ -260,11 +268,10 @@ class StrictOpener(Opener):
260268
assert_true(isinstance(fobj.fobj, file_class))
261269
elif lext == 'gz':
262270
try:
263-
from indexed_gzip import SafeIndexedGzipFile
271+
from ..openers import IndexedGzipFile
264272
except ImportError:
265-
SafeIndexedGzipFile = GzipFile
266-
assert_true(isinstance(fobj.fobj, (GzipFile,
267-
SafeIndexedGzipFile)))
273+
IndexedGzipFile = GzipFile
274+
assert_true(isinstance(fobj.fobj, (GzipFile, IndexedGzipFile)))
268275
else:
269276
assert_true(isinstance(fobj.fobj, BZ2File))
270277

0 commit comments

Comments
 (0)