apenwarr-redo/t/350-deps/override/all.do

34 lines
1.1 KiB
Text
Raw Normal View History

exec >&2
rm -f a b *.log stamp
echo 1 >stamp
redo b
[ "$(cat b)" = "hello-a-1-b" ] || exit 11
../../flush-cache
echo 2 >stamp
redo-ifchange b
[ "$(cat b)" = "hello-a-1-b" ] || exit 21 # a unchanged; b not redone
. ../../skip-if-minimal-do.sh
# Unfortunately the test below depends on the specific wording of the
# "override" warning message, of the form:
# redo: a - you modified it; skipping
# That's because this is specifically a test that the warning message
# gets generated. I added that test because (of course) when we didn't
# test it, the warning message accidentally got broken. Oops. If you
# rephrase the message, you'll have to also change the test.
../../flush-cache
echo 3 >stamp
echo over-a >a
redo-ifchange b >$1.log 2>&1
[ "$(cat b)" = "over-a-3-b" ] || exit 31 # a overwritten, b redone
grep "a - " "$1.log" >/dev/null || exit 32 # expected a warning msg
../../flush-cache
echo 4 >stamp
redo-ifchange b >$1.log 2>&1
[ "$(cat b)" = "over-a-3-b" ] || exit 41 # a not changed, b not redone
grep "a - " "$1.log" >/dev/null || exit 42 # still expect a warning msg