]> diplodocus.org Git - nmh/blobdiff - test/whatnow/test-attach-detach
Better fix for test-attach-detach on platforms without readline.
[nmh] / test / whatnow / test-attach-detach
index f7c39e9d6dd40216c994be2655130db88b44973f..a7b021f2c28b5eff863124aa1a919bca7cfb7f74 100755 (executable)
@@ -45,17 +45,19 @@ 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}"
@@ -66,18 +68,139 @@ esac
 # whatnow's exit status is always 1 so that is not a failure
 set +e
 echo "attach $testname_quoted" | \
-  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
+  run_prog whatnow -attach foo -noedit -prompt '' 2>>$actualerr >>$actual
 echo "detach $testname_quoted" | \
-  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
+  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
+
+if [ "$readline" = 0 ]; then
+  #### Ensure that there will be a newline at the end whatnow's output.
+  whatnowtest () {
+    whatnow; echo
+  }
+else
+  whatnowtest () {
+    whatnow
+  }
+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' | whatnowtest 2>&1 | \
+  sed -e 's/; charset=us-ascii//' -e 's/ *ASCII text/ ASCII text/' \
+      -e 's/ *ascii text/ ASCII text/'  >"$actual"
+set -e
+
+check "$expected" "$actual"
+
 test ${failed:-0} -eq 0  &&  rm "$testname"
 
 exit $failed