Skip to content

Commit cb085f3

Browse files
committed
Handle macOS filesystem sometimes setting lower digits to zero.
1 parent 2dc8d1d commit cb085f3

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

test cases/common/14 configure file/check_file.py

+15-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,16 @@
33
import os
44
import sys
55

6+
def permit_osx_workaround(m1, m2):
7+
import platform
8+
if platform.system().lower() != 'darwin':
9+
return False
10+
if m2 % 10000 != 0:
11+
return False
12+
if m1//10000 != m2//10000:
13+
return False
14+
return True
15+
616
if len(sys.argv) == 2:
717
assert(os.path.exists(sys.argv[1]))
818
elif len(sys.argv) == 3:
@@ -12,7 +22,11 @@
1222
m2 = os.stat(f2).st_mtime_ns
1323
# Compare only os.stat()
1424
if m1 != m2:
15-
raise RuntimeError(f'mtime of {f1!r} () != mtime of {m1!r} ()')
25+
# Under macOS the lower four digits sometimes get assigned
26+
# zero, even though shutil.copy2 should preserve metadata.
27+
# Just have to accept it, I guess.
28+
if not permit_osx_workaround(m1, m2):
29+
raise RuntimeError(f'mtime of {f1!r} ({m1!r}) != mtime of {f2!r} ({m2!r})')
1630
import filecmp
1731
if not filecmp.cmp(f1, f2):
1832
raise RuntimeError(f'{f1!r} != {f2!r}')

0 commit comments

Comments
 (0)