From 7b6e527f440cd7e6f8be2b07cee320ee6ca18786 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 29 Apr 2024 06:41:38 +0200 Subject: Adding upstream version 1.0.1. Signed-off-by: Daniel Baumann --- test cases/common/14 configure file/check_file.py | 34 +++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 test cases/common/14 configure file/check_file.py (limited to 'test cases/common/14 configure file/check_file.py') diff --git a/test cases/common/14 configure file/check_file.py b/test cases/common/14 configure file/check_file.py new file mode 100644 index 0000000..7d96b2a --- /dev/null +++ b/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 -- cgit v1.2.3