chiark / gitweb /
example: Introduce a Final.sd.mk and test it
[subdirmk.git] / tests / example / check
index 003bf81495896c2d91df9ee6367148917120a092..16cb7a262c7b3e9e82b6f6a80d517c1edc397b83 100755 (executable)
@@ -3,24 +3,34 @@ set -ex
 
 . tests/build-common
 
-cd example
+make_copy example
+
+cd tests/example/example
 
 : ----- 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 -----
 
 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 -1 seconds' --
+       touch -hmd 'now -1000 seconds' --
 }
 
 : ----- for-check-1 -----
@@ -35,4 +45,10 @@ echo 'for-check-2:' >>../lib/for-test.mk.in
 make -j4 for-check-2
 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.