|
5 | 5 | from builtins import open
|
6 | 6 |
|
7 | 7 | import os
|
| 8 | +import time |
8 | 9 | from tempfile import mkstemp, mkdtemp
|
9 | 10 | import warnings
|
10 | 11 |
|
|
19 | 20 | import numpy as np
|
20 | 21 |
|
21 | 22 |
|
| 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 | + |
22 | 34 | def test_split_filename():
|
23 | 35 | res = split_filename('foo.nii')
|
24 | 36 | yield assert_equal, res, ('', 'foo', '.nii')
|
@@ -192,27 +204,37 @@ def test_recopy():
|
192 | 204 | # tick
|
193 | 205 | if copy and not use_hardlink and hashmethod == 'timestamp':
|
194 | 206 | continue
|
| 207 | + |
| 208 | + tic = time.time() |
195 | 209 | 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) |
198 | 213 | copyfile(orig_img, new_img, **kwargs)
|
199 | 214 | err_msg = "Regular - OS: {}; Copy: {}; Hardlink: {}".format(
|
200 | 215 | 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) |
203 | 220 | os.unlink(new_img)
|
204 | 221 | os.unlink(new_hdr)
|
205 | 222 |
|
| 223 | + tic = time.time() |
206 | 224 | 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) |
209 | 228 | copyfile(img_link, new_img, **kwargs)
|
210 | 229 | err_msg = "Symlink - OS: {}; Copy: {}; Hardlink: {}".format(
|
211 | 230 | 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) |
214 | 235 | os.unlink(new_img)
|
215 | 236 | os.unlink(new_hdr)
|
| 237 | + |
216 | 238 | os.unlink(img_link)
|
217 | 239 | os.unlink(hdr_link)
|
218 | 240 | os.unlink(orig_img)
|
|
0 commit comments