diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /meson/test cases/common/14 configure file/check_file.py | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'meson/test cases/common/14 configure file/check_file.py')
-rw-r--r-- | meson/test cases/common/14 configure file/check_file.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/meson/test cases/common/14 configure file/check_file.py b/meson/test cases/common/14 configure file/check_file.py new file mode 100644 index 000000000..a96614702 --- /dev/null +++ b/meson/test cases/common/14 configure file/check_file.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python3 + +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: + f1 = sys.argv[1] + f2 = sys.argv[2] + m1 = os.stat(f1).st_mtime_ns + m2 = os.stat(f2).st_mtime_ns + # Compare only os.stat() + if m1 != m2: + # 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}') +else: + raise AssertionError |