diff options
author | Nirbheek Chauhan <nirbheek@centricular.com> | 2020-02-11 19:30:22 +0530 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2020-02-11 10:00:40 -0500 |
commit | 1e4eeccb0f23f245ff8b65a51de03cda38632df4 (patch) | |
tree | 3a41d29d456d7fbd60f95e6bcb8e960fb018acc4 /test cases | |
parent | 36a0797e1c987cd08d1b3b993f52b17fa9a15542 (diff) | |
download | meson-1e4eeccb0f23f245ff8b65a51de03cda38632df4.zip meson-1e4eeccb0f23f245ff8b65a51de03cda38632df4.tar.gz meson-1e4eeccb0f23f245ff8b65a51de03cda38632df4.tar.bz2 |
configure_file: Also copy timestamps to avoid useless rebuilds
If we always copy files over without timestamps, we're forcing
a (probably unnecessary) rebuild. Also include a test for this.
Diffstat (limited to 'test cases')
-rw-r--r-- | test cases/common/14 configure file/check_file.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/test cases/common/14 configure file/check_file.py b/test cases/common/14 configure file/check_file.py index 6aa73e0..707995e 100644 --- a/test cases/common/14 configure file/check_file.py +++ b/test cases/common/14 configure file/check_file.py @@ -6,9 +6,15 @@ import sys if len(sys.argv) == 2: assert(os.path.exists(sys.argv[1])) elif len(sys.argv) == 3: - f1 = open(sys.argv[1], 'rb').read() - f2 = open(sys.argv[2], 'rb').read() - if f1 != f2: + 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: + raise RuntimeError('mtime of {!r} () != mtime of {!r} ()'.format(f1, m1, f2, m2)) + import filecmp + if not filecmp.cmp(f1, f2): raise RuntimeError('{!r} != {!r}'.format(f1, f2)) else: raise AssertionError |