X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/93a31f9b884f8e8f3f7a7d50cf90ffd365a14f7c..b47be5635d60ccd3fb5a3108c1cea170ce376df2:/test/whatnow/test-attach-detach diff --git a/test/whatnow/test-attach-detach b/test/whatnow/test-attach-detach index 5c359dec..15941025 100755 --- a/test/whatnow/test-attach-detach +++ b/test/whatnow/test-attach-detach @@ -6,20 +6,24 @@ # ###################################################### +set -e + if test -z "${MH_OBJ_DIR}"; then - srcdir=`dirname $0`/../.. - MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR + srcdir=`dirname "$0"`/../.. + MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR fi . "$MH_OBJ_DIR/test/common.sh" setup_test -set -e +# Set TERM to get consistent output. +TERM=dumb; export TERM cd "$MH_TEST_DIR" -rm -f "baz's boz" -touch "baz's boz" +testname="baz's boz" +testname_quoted="baz\'s\ boz" +touch "$testname" # whatnow's attach stuff needs a draft to work on cp "$MH_TEST_DIR/Mail/inbox/1" "$MH_TEST_DIR/Mail/draft" @@ -31,17 +35,159 @@ actual=$MH_TEST_DIR/$$.actual rm -f $expected $expectederr $actual $actualerr touch $expected $expectederr $actual $actualerr -cat > $expected <"$expected" <"$expected" <> $actualerr >> $actual -echo "alist" | whatnow -attach foo -noedit -prompt '' 2>> $actualerr >> $actual -echo "detach baz\\'s\\ boz" | whatnow -attach foo -noedit -prompt '' 2>> $actualerr >> $actual -echo "alist" | whatnow -attach foo -noedit -prompt '' 2>> $actualerr >> $actual +echo "attach $testname_quoted" | \ + run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual +echo "alist" | \ + run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual +echo "detach $testname_quoted" | \ + run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual +echo "alist" | \ + run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual +set -e + +check "$expectederr" "$actualerr" +check "$expected" "$actual" + +if [ "$readline" = 0 ]; then +cat >"$expected" < [context]{attachment} /home/levine/lib/src/nmh/test/testdir/Mail/context + +What now? whatnow: ingoring invalid attachformat value of 3 +#text/plain; charset=us-ascii; name="context" <> [context]{attachment} /home/levine/lib/src/nmh/test/testdir/Mail/context + +What now? #text/plain; charset=us-ascii; name="context" <> [context]{attachment} /home/levine/lib/src/nmh/test/testdir/Mail/context + +What now? #text/plain; charset=us-ascii; name="context" <> [context]{attachment} /home/levine/lib/src/nmh/test/testdir/Mail/context + +What now? #text/plain; charset=us-ascii; name="context"; x-unix-mode=0600 [ ASCII text ] /home/levine/lib/src/nmh/test/testdir/Mail/context + +What now? +EOF +else +cat >"$expected" < [context]{attachment} ${MH_TEST_DIR}/Mail/context + +What now? at -v -a 3 Mail/context +whatnow: ingoring invalid attachformat value of 3 +#text/plain; charset=us-ascii; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context + +What now? at -v Mail/context +#text/plain; charset=us-ascii; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context + +What now? at -v -a 1 Mail/context +#text/plain; charset=us-ascii; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context + +What now? at -v -a 0 Mail/context +#text/plain; charset=us-ascii; name="context"; x-unix-mode=0600 [ ASCII text ] ${MH_TEST_DIR}/Mail/context + +What now? quit -delete +EOF +fi + +set +e +printf '%s\n' \ +'at' \ +'at -v' \ +'at -v -a' \ +'at -v -a 0' \ +'at -a' \ +'at -a -v' \ +'at -a 0 -v' \ +'at -a 0 Mail/context' \ +'at -v -a Mail/context' \ +'at -v -a 3 Mail/context' \ +'at -v Mail/context' \ +'at -v -a 1 Mail/context' \ +'at -v -a 0 Mail/context' \ +'quit -delete' | whatnow >"$actual" 2>&1 set -e -diff -u $expectederr $actualerr || exit 1 -diff -u $expected $actual +#### Without readline, need to add trailing newline. +[ "$readline" = 0 ] && printf '\n' >>"$actual" + +check "$expected" "$actual" + +test ${failed:-0} -eq 0 && rm "$testname" + +exit $failed