t/curse: test that 'redo' (not redo-ifchange) always redoes a command.

...if the containing .do file is getting redone at all, of course.

Currently passes in serial mode, fails in parallel.
This commit is contained in:
Avery Pennarun 2010-11-19 02:10:44 -08:00
commit 65d4639b48
5 changed files with 21 additions and 4 deletions

View file

@ -1,8 +1,18 @@
rm -f in.countall out.countall *.count
touch in.countall out.countall
echo x >x.count
redo-ifchange 1.n0 2.n0 3.n0
DEPS=$(seq 10 | sed 's/$/.n1/')
redo-ifchange $DEPS
COUNT=$(cat *.count | wc -l)
if ! [ "$COUNT" = 100 ]; then
echo "expected 100 writes, got $COUNT" >&2
COUNT_IN=$(ls *.count | wc -l)
COUNT_OUT=$(cat *.count | wc -l)
if [ "$COUNT_IN" != "$COUNT_OUT" ]; then
echo "expected $COUNT_IN individual writes, got $COUNT_OUT" >&2
exit 42
fi
COUNTALL_IN=$(cat in.countall | wc -l)
COUNTALL_OUT=$(cat out.countall | wc -l)
if [ "$COUNTALL_IN" != "$COUNTALL_OUT" ]; then
echo "expected $COUNTALL_IN allwrites, got $COUNTALL_OUT" >&2
exit 43
fi