From 3ce4fab1bb4c299cdf639dcb36b4a29079705925 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 29 Dec 2019 12:27:00 +0000 Subject: [PATCH] test/example/check: Reset times for regen tests In principle, on a filesystem with poor time resolution, the updates to the input files might have the same timestamp as the output files. Things would then not be regenerated. Work around this by resetting all timestamps in the build tree to 1s ago. This should ensure that exactly the one file whose edit we are simulating seems, to make, to have been changed. There is a remaining possible problem: if our last actual change to the subdirmk source tree is less than 1s ago, this might rebuild too much. Signed-off-by: Ian Jackson --- tests/example/check | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/example/check b/tests/example/check index b7cf6df..143fe05 100755 --- a/tests/example/check +++ b/tests/example/check @@ -26,12 +26,20 @@ make -j4 all check : ----- testing rebuild on input change ----- +reset_times () { + find -type f -print0 \ + | xargs -0 \ + touch -hmd 'now -1 seconds' -- +} + : ----- for-check-1 ----- +reset_times echo 'for-check-1:' >>../src/for-test.sd.mk make -j4 for-check-1 grep '^for-check-1:' src/Subdir.mk || false : ----- for-check-2 ----- +reset_times echo 'for-check-2:' >>../lib/for-test.mk.in make -j4 for-check-2 grep '^for-check-2:' lib/for-test.mk || false -- 2.30.2