Skip to content

Commit dd73d0b

Browse files
committed
TEST: Ignore atime, wait for clock ticks to make test deterministic
1 parent 0bb9561 commit dd73d0b

File tree

1 file changed

+30
-8
lines changed

1 file changed

+30
-8
lines changed

nipype/utils/tests/test_filemanip.py

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
from builtins import open
66

77
import os
8+
import time
89
from tempfile import mkstemp, mkdtemp
910
import warnings
1011

@@ -19,6 +20,17 @@
1920
import numpy as np
2021

2122

23+
def _wait_for_tick(tic=None):
24+
tic = time.time() if tic is None else tic
25+
toc = time.time()
26+
while int(tic) == int(toc):
27+
toc = time.time()
28+
29+
30+
def _ignore_atime(stat):
31+
return stat[:7] + stat[8:]
32+
33+
2234
def test_split_filename():
2335
res = split_filename('foo.nii')
2436
yield assert_equal, res, ('', 'foo', '.nii')
@@ -192,27 +204,37 @@ def test_recopy():
192204
# tick
193205
if copy and not use_hardlink and hashmethod == 'timestamp':
194206
continue
207+
208+
tic = time.time()
195209
copyfile(orig_img, new_img, **kwargs)
196-
img_stat = os.stat(new_img)
197-
hdr_stat = os.stat(new_hdr)
210+
img_stat = _ignore_atime(os.stat(new_img))
211+
hdr_stat = _ignore_atime(os.stat(new_hdr))
212+
_wait_for_tick(tic)
198213
copyfile(orig_img, new_img, **kwargs)
199214
err_msg = "Regular - OS: {}; Copy: {}; Hardlink: {}".format(
200215
os.name, copy, use_hardlink)
201-
yield assert_equal, img_stat, os.stat(new_img), err_msg
202-
yield assert_equal, hdr_stat, os.stat(new_hdr), err_msg
216+
yield (assert_equal, img_stat, _ignore_atime(os.stat(new_img)),
217+
err_msg)
218+
yield (assert_equal, hdr_stat, _ignore_atime(os.stat(new_hdr)),
219+
err_msg)
203220
os.unlink(new_img)
204221
os.unlink(new_hdr)
205222

223+
tic = time.time()
206224
copyfile(img_link, new_img, **kwargs)
207-
img_stat = os.stat(new_img)
208-
hdr_stat = os.stat(new_hdr)
225+
img_stat = _ignore_atime(os.stat(new_img))
226+
hdr_stat = _ignore_atime(os.stat(new_hdr))
227+
_wait_for_tick(tic)
209228
copyfile(img_link, new_img, **kwargs)
210229
err_msg = "Symlink - OS: {}; Copy: {}; Hardlink: {}".format(
211230
os.name, copy, use_hardlink)
212-
yield assert_equal, img_stat, os.stat(new_img), err_msg
213-
yield assert_equal, hdr_stat, os.stat(new_hdr), err_msg
231+
yield (assert_equal, img_stat, _ignore_atime(os.stat(new_img)),
232+
err_msg)
233+
yield (assert_equal, hdr_stat, _ignore_atime(os.stat(new_hdr)),
234+
err_msg)
214235
os.unlink(new_img)
215236
os.unlink(new_hdr)
237+
216238
os.unlink(img_link)
217239
os.unlink(hdr_link)
218240
os.unlink(orig_img)

0 commit comments

Comments
 (0)