aboutsummaryrefslogtreecommitdiff
path: root/test cases/common/14 configure file
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2021-05-22 12:50:12 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2021-05-23 17:58:56 +0100
commitcb085f3eb3ca0e93b176cd1304cd330cc5b3863e (patch)
tree5c176831f305383dc38ea937fe3be89bc4c4653b /test cases/common/14 configure file
parent2dc8d1d6266dcdfaa90b8a885fdbe8deaeb890a5 (diff)
downloadmeson-cb085f3eb3ca0e93b176cd1304cd330cc5b3863e.zip
meson-cb085f3eb3ca0e93b176cd1304cd330cc5b3863e.tar.gz
meson-cb085f3eb3ca0e93b176cd1304cd330cc5b3863e.tar.bz2
Handle macOS filesystem sometimes setting lower digits to zero.
Diffstat (limited to 'test cases/common/14 configure file')
-rw-r--r--test cases/common/14 configure file/check_file.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/test cases/common/14 configure file/check_file.py b/test cases/common/14 configure file/check_file.py
index 1cdb624..a966147 100644
--- a/test cases/common/14 configure file/check_file.py
+++ b/test cases/common/14 configure file/check_file.py
@@ -3,6 +3,16 @@
import os
import sys
+def permit_osx_workaround(m1, m2):
+ import platform
+ if platform.system().lower() != 'darwin':
+ return False
+ if m2 % 10000 != 0:
+ return False
+ if m1//10000 != m2//10000:
+ return False
+ return True
+
if len(sys.argv) == 2:
assert(os.path.exists(sys.argv[1]))
elif len(sys.argv) == 3:
@@ -12,7 +22,11 @@ elif len(sys.argv) == 3:
m2 = os.stat(f2).st_mtime_ns
# Compare only os.stat()
if m1 != m2:
- raise RuntimeError(f'mtime of {f1!r} () != mtime of {m1!r} ()')
+ # Under macOS the lower four digits sometimes get assigned
+ # zero, even though shutil.copy2 should preserve metadata.
+ # Just have to accept it, I guess.
+ if not permit_osx_workaround(m1, m2):
+ raise RuntimeError(f'mtime of {f1!r} ({m1!r}) != mtime of {f2!r} ({m2!r})')
import filecmp
if not filecmp.cmp(f1, f2):
raise RuntimeError(f'{f1!r} != {f2!r}')