diff --git a/t/deps/basic/.gitignore b/t/deps/basic/.gitignore new file mode 100644 index 0000000..073f461 --- /dev/null +++ b/t/deps/basic/.gitignore @@ -0,0 +1,2 @@ +*.log +*.out diff --git a/t/deps/basic/1.in b/t/deps/basic/1.in new file mode 100644 index 0000000..ab25f6b --- /dev/null +++ b/t/deps/basic/1.in @@ -0,0 +1 @@ +this is 1 \ No newline at end of file diff --git a/t/deps/basic/2.in b/t/deps/basic/2.in new file mode 100644 index 0000000..c825d65 --- /dev/null +++ b/t/deps/basic/2.in @@ -0,0 +1 @@ +this is 2 diff --git a/t/deps/basic/default.out.do b/t/deps/basic/default.out.do new file mode 100644 index 0000000..cd73106 --- /dev/null +++ b/t/deps/basic/default.out.do @@ -0,0 +1,3 @@ +redo-ifchange $1.in +echo $$ +echo $$ >>$1.log diff --git a/t/deps/basic/test.do b/t/deps/basic/test.do new file mode 100644 index 0000000..90b9126 --- /dev/null +++ b/t/deps/basic/test.do @@ -0,0 +1,12 @@ +rm -f *.out *.log + +. ../../flush-cache.sh +redo-ifchange 1.out 2.out +[ "$(cat 1.log | wc -l)" = 1 ] || exit 55 +[ "$(cat 2.log | wc -l)" = 1 ] || exit 56 +. ../../flush-cache.sh +touch 1.in +redo-ifchange 1.out 2.out +[ "$(cat 1.log | wc -l)" = 2 ] || exit 57 +[ "$(cat 2.log | wc -l)" = 1 ] || exit 58 + diff --git a/t/deps/test.do b/t/deps/test.do index 6a30599..dc03f0c 100644 --- a/t/deps/test.do +++ b/t/deps/test.do @@ -1,3 +1 @@ -redo test1 test2 ifchange-fail overwrite - - +redo test1 test2 ifchange-fail overwrite basic/test diff --git a/t/flush-cache.sh b/t/flush-cache.sh new file mode 100644 index 0000000..83e87ba --- /dev/null +++ b/t/flush-cache.sh @@ -0,0 +1,3 @@ +echo "Flushing redo cache..." >&2 +find "$REDO_BASE/.redo" -name 'built^*' -o -name 'mark^*' | + xargs rm -f >&2