user-friendliness sanity checks: catch common mistakes regarding $1/$2/$3.

.do files should never modify $1, and should write to *either* $3 or stdout,
but not both.  If they write to both, it's probably because they forgot to
redirect stdout to stderr, a very easy mistake to make but a hard one to
detect.

Now redo detects it for you and prints an informative message.
This commit is contained in:
Avery Pennarun 2010-11-22 04:40:54 -08:00
commit 6d767e2a65
8 changed files with 55 additions and 4 deletions

4
t/deps/overwrite.do Normal file
View file

@ -0,0 +1,4 @@
redo overwrite1 2>&1 && exit 55
redo overwrite2 2>&1 && exit 56
redo overwrite3 2>&1 && exit 57
exit 0