diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2021-05-22 12:50:12 +0300 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2021-05-23 17:58:56 +0100 |
commit | cb085f3eb3ca0e93b176cd1304cd330cc5b3863e (patch) | |
tree | 5c176831f305383dc38ea937fe3be89bc4c4653b | |
parent | 2dc8d1d6266dcdfaa90b8a885fdbe8deaeb890a5 (diff) | |
download | meson-cb085f3eb3ca0e93b176cd1304cd330cc5b3863e.zip meson-cb085f3eb3ca0e93b176cd1304cd330cc5b3863e.tar.gz meson-cb085f3eb3ca0e93b176cd1304cd330cc5b3863e.tar.bz2 |
Handle macOS filesystem sometimes setting lower digits to zero.
-rw-r--r-- | test cases/common/14 configure file/check_file.py | 16 |
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}') |