Skip to content

Commit 2eba8db

Browse files
committed
TEST: Use tmp_path and explicit delete to appease Windows tempdir cleanup
1 parent eb39c08 commit 2eba8db

File tree

1 file changed

+30
-29
lines changed

1 file changed

+30
-29
lines changed

nibabel/tests/test_openers.py

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -127,35 +127,36 @@ def patch_indexed_gzip(state):
127127
yield
128128

129129

130-
def test_Opener_gzip_type():
131-
# Test that BufferedGzipFile or IndexedGzipFile are used as appropriate
132-
133-
data = 'this is some test data'
134-
fname = 'test.gz'
135-
136-
with InTemporaryDirectory():
137-
138-
# make some test data
139-
with GzipFile(fname, mode='wb') as f:
140-
f.write(data.encode())
141-
142-
# Each test is specified by a tuple containing:
143-
# (indexed_gzip present, Opener kwargs, expected file type)
144-
tests = [
145-
(False, {'mode': 'rb', 'keep_open': True}, GzipFile),
146-
(False, {'mode': 'rb', 'keep_open': False}, GzipFile),
147-
(False, {'mode': 'wb', 'keep_open': True}, GzipFile),
148-
(False, {'mode': 'wb', 'keep_open': False}, GzipFile),
149-
(True, {'mode': 'rb', 'keep_open': True}, MockIndexedGzipFile),
150-
(True, {'mode': 'rb', 'keep_open': False}, MockIndexedGzipFile),
151-
(True, {'mode': 'wb', 'keep_open': True}, GzipFile),
152-
(True, {'mode': 'wb', 'keep_open': False}, GzipFile),
153-
]
154-
155-
for test in tests:
156-
igzip_present, kwargs, expected = test
157-
with patch_indexed_gzip(igzip_present):
158-
assert isinstance(Opener(fname, **kwargs).fobj, expected)
130+
def test_Opener_gzip_type(tmp_path):
131+
# Test that GzipFile or IndexedGzipFile are used as appropriate
132+
133+
data = b'this is some test data'
134+
fname = tmp_path / 'test.gz'
135+
136+
# make some test data
137+
with GzipFile(fname, mode='wb') as f:
138+
f.write(data)
139+
140+
# Each test is specified by a tuple containing:
141+
# (indexed_gzip present, Opener kwargs, expected file type)
142+
tests = [
143+
(False, {'mode': 'rb', 'keep_open': True}, GzipFile),
144+
(False, {'mode': 'rb', 'keep_open': False}, GzipFile),
145+
(False, {'mode': 'wb', 'keep_open': True}, GzipFile),
146+
(False, {'mode': 'wb', 'keep_open': False}, GzipFile),
147+
(True, {'mode': 'rb', 'keep_open': True}, MockIndexedGzipFile),
148+
(True, {'mode': 'rb', 'keep_open': False}, MockIndexedGzipFile),
149+
(True, {'mode': 'wb', 'keep_open': True}, GzipFile),
150+
(True, {'mode': 'wb', 'keep_open': False}, GzipFile),
151+
]
152+
153+
for test in tests:
154+
igzip_present, kwargs, expected = test
155+
with patch_indexed_gzip(igzip_present):
156+
opener = Opener(fname, **kwargs)
157+
assert isinstance(opener.fobj, expected)
158+
# Explicit close to appease Windows
159+
del opener
159160

160161

161162
class TestImageOpener(unittest.TestCase):

0 commit comments

Comments
 (0)