]> diplodocus.org Git - nmh/blobdiff - test/whatnow/test-attach-detach
Final fix to test-attach-detach: on some platforms, there's no
[nmh] / test / whatnow / test-attach-detach
index 27dcb9cdd6f62b7a9aeb400aac58bcc9c719e558..c7b717f8ed10c550d73382e5349e1ecdf3e0eb64 100755 (executable)
@@ -17,6 +17,9 @@ fi
 
 setup_test
 
+# Set TERM to get consistent output.
+TERM=dumb; export TERM
+
 cd "$MH_TEST_DIR"
 testname="baz's boz"
 testname_quoted="baz\'s\ boz"
@@ -38,21 +41,23 @@ touch $expected $expectederr $actual $actualerr
 #
 
 set +e
-whatnowtest=`echo cd | TERM=dumb run_prog whatnow -prompt ''`
+whatnowtest=`echo cd | whatnow -prompt ''`
 set -e
 
 case ${whatnowtest} in
-    cd) cat > "$expected" <<EOF
+    cd) cat >"$expected" <<EOF
 attach $testname_quoted
 alist
 $testname
 detach $testname_quoted
 alist
 EOF
+readline=1
     ;;
-    "") cat > "$expected" <<EOF
+    "") cat >"$expected" <<EOF
 $testname
 EOF
+readline=0
     ;;
     *) echo "Unknown response to whatnow readline test"
     echo "Response is: ${whatnowtest}"
@@ -63,19 +68,129 @@ esac
 # whatnow's exit status is always 1 so that is not a failure
 set +e
 echo "attach $testname_quoted" | \
-  TERM=dumb run_prog whatnow -attach foo -noedit -prompt '' 2>> $actualerr \
-    >> $actual
-echo "alist" | TERM=dumb run_prog whatnow -attach foo -noedit -prompt '' \
-                               2>> $actualerr >> $actual
+  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" | \
-  TERM=dumb whatnow -attach foo -noedit -prompt '' 2>> $actualerr >> $actual
-echo "alist" | TERM=dumb run_prog whatnow -attach foo -noedit -prompt '' \
-                               2>> $actualerr >> $actual
+  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" <<EOF
+
+What now? whatnow: attach command requires file argument(s).
+
+What now? whatnow: attach command requires file argument(s).
+
+What now? whatnow: ignoring attach -a without format argument.
+whatnow: attach command requires file argument(s).
+
+What now? whatnow: attach command requires file argument(s).
+
+What now? whatnow: ignoring attach -a without format argument.
+whatnow: attach command requires file argument(s).
+
+What now? whatnow: ignoring attach -a without format argument.
+whatnow: attach command requires file argument(s).
+
+What now? whatnow: attach command requires file argument(s).
+
+What now? 
+What now? whatnow: ignoring attach -a without format argument.
+#text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? whatnow: ingoring invalid attachformat value of 3
+#text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? #text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? #text/plain; name="context"; x-unix-mode=0600 [  ASCII text ] ${MH_TEST_DIR}/Mail/context
+
+What now? 
+EOF
+else
+cat >"$expected" <<EOF
+
+What now? at
+whatnow: attach command requires file argument(s).
+
+What now? at -v
+whatnow: attach command requires file argument(s).
+
+What now? at -v -a
+whatnow: ignoring attach -a without format argument.
+whatnow: attach command requires file argument(s).
+
+What now? at -v -a 0
+whatnow: attach command requires file argument(s).
+
+What now? at -a
+whatnow: ignoring attach -a without format argument.
+whatnow: attach command requires file argument(s).
+
+What now? at -a -v
+whatnow: ignoring attach -a without format argument.
+whatnow: attach command requires file argument(s).
+
+What now? at -a 0 -v
+whatnow: attach command requires file argument(s).
+
+What now? at -a 0 Mail/context
+
+What now? at -v -a Mail/context
+whatnow: ignoring attach -a without format argument.
+#text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? at -v -a 3 Mail/context
+whatnow: ingoring invalid attachformat value of 3
+#text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? at -v Mail/context
+#text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? at -v -a 1 Mail/context
+#text/plain; name="context" <> [context]{attachment} ${MH_TEST_DIR}/Mail/context
+
+What now? at -v -a 0 Mail/context
+#text/plain; name="context"; x-unix-mode=0600 [  ASCII text ] ${MH_TEST_DIR}/Mail/context
+
+What now? quit -delete
+EOF
+fi
+
+# Don't depend on the mode of Mail/context:
+chmod 0600 ${MH_TEST_DIR}/Mail/context
+
+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 2>&1 | sed -e 's/; charset=us-ascii//' >"$actual"
+set -e
+
+#### Without readline, need to add trailing newline.
+[ "$readline" = 0 ] && printf '\n' >>"$actual"
+
+check "$expected" "$actual"
+
 test ${failed:-0} -eq 0  &&  rm "$testname"
 
 exit $failed