From 3fcd677428942acbcbf43f32e9a4429feb043fc5 Mon Sep 17 00:00:00 2001 From: Avery Pennarun Date: Mon, 22 Nov 2010 22:44:08 -0800 Subject: [PATCH] Add t/deps/basic, to test basic autodependency behaviour. Unfortunately it failed before the previous patch, so that's why this test is needed :( The test is a little ugly, because the bug I'm testing for didn't happen except if you ran 'redo' two times in a row, not two times inside the same redo session. That's because dependency caching inside the one session prevents the accidental rebuild. --- t/deps/basic/.gitignore | 2 ++ t/deps/basic/1.in | 1 + t/deps/basic/2.in | 1 + t/deps/basic/default.out.do | 3 +++ t/deps/basic/test.do | 12 ++++++++++++ t/deps/test.do | 4 +--- t/flush-cache.sh | 3 +++ 7 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 t/deps/basic/.gitignore create mode 100644 t/deps/basic/1.in create mode 100644 t/deps/basic/2.in create mode 100644 t/deps/basic/default.out.do create mode 100644 t/deps/basic/test.do create mode 100644 t/flush-cache.sh 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