X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ian/git?p=subdirmk.git;a=blobdiff_plain;f=tests%2Fexample%2Fcheck;h=d7fff17321f954bd4d204b268b5982a885c6b580;hp=d5d282ffc4ba4816a36889b44f57516a7a7ceef7;hb=1717ef2f361a5da97bb6019b92da4a4ab7fb9487;hpb=d7027fc72ca02fd47254ab9f3d2dc90b72b02799 diff --git a/tests/example/check b/tests/example/check index d5d282f..d7fff17 100755 --- a/tests/example/check +++ b/tests/example/check @@ -1,34 +1,54 @@ #!/bin/sh set -ex -cd example +. tests/build-common -#----- in-tree build ----- +make_copy example -git clean -xdff -./autogen.sh && ./configure -make -j4 all check -make -j4 clean -make -j4 all check +cd tests/example/example -#----- out of tree build ----- +: ----- out of tree build ----- -git clean -xdff mkdir build cd build >>../src/for-test.sd.mk >>../lib/for-test.mk.in +>>../for-test-final.sd.mk .././autogen.sh && ../configure make -j4 all check -#----- testing rebuild on input change ----- +: ----- testing rebuild on input change ----- + +reset_times () { + cd .. + + find ! -path './build/*' -type f -print0 \ + | xargs -0 \ + touch -hmd 'now -2000 seconds' -- + + cd build + + find -type f -print0 \ + | xargs -0 \ + touch -hmd 'now -1000 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/Dir.mk || false -echo '# for-check 1' >>../src/for-test.sd.mk -make -j4 -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 -echo '# for-check 2' >>../lib/for-test.mk.in -make -j4 -grep '^# for-check 2' lib/for-test.mk || false +: ----- for-check-3 ----- +reset_times +echo 'for-check-3:' >>../for-test-final.sd.mk +make -j4 for-check-3 +grep '^for-check-3:' Final.mk echo ok.