]> diplodocus.org Git - nmh/blobdiff - test/mkstemp/test-mkstemp
Work around flex 2.6.3 bug by conditionally #undef yywrap.
[nmh] / test / mkstemp / test-mkstemp
index 389493699321d545be7a8054fba8ce92274ee202..97896e48884528a556a73ff2617a02aaea2b64fe 100755 (executable)
@@ -19,32 +19,48 @@ setup_test
 expected="$MH_TEST_DIR"/$$.expected
 actual="$MH_TEST_DIR"/$$.actual
 
-mkstemp="${MH_LIB_DIR}/mkstemp"
+mkstemp="${MH_LIBEXEC_DIR}/mkstemp"
+
+check_exit '-eq 255' $mkstemp -
+
+$mkstemp -help | grep suffix >/dev/null  &&  has_mkstemps=1  ||  has_mkstemps=0
 
 cd "$MHTMPDIR"
 
 
 # check -help
-cat >$expected <<'EOF'
-Usage: mkstemp [switches]
-  switches are:
-  -directory
-  -prefix
-  -suffix
-  -version
-  -help
-EOF
+if [ $has_mkstemps -eq 1 ]; then
+    cat >$expected <<-'EOF'
+       Usage: mkstemp [switches]
+         switches are:
+         -directory
+         -prefix
+         -suffix
+         -version
+         -help
+       EOF
+else
+    cat >$expected <<-'EOF'
+       Usage: mkstemp [switches]
+         switches are:
+         -directory
+         -prefix
+         -version
+         -help
+       EOF
+fi
 
-$mkstemp -h >$actual 2>&1
-check $expected $actual
+#### Skip nmh intro text.
+run_prog $mkstemp -h | sed '/^$/,$d' >"$actual" 2>&1
+check "$expected" "$actual"
 
 
 # check -version
 # Verified same behavior as compiled mhmail.
 case `$mkstemp -v` in
-  mkstemp\ --*) ;;
-  *          ) printf '%s: mkstemp -v generated unexpected output\n' "$0" >&2
-               failed=`expr ${failed:-0} + 1`;;
+    mkstemp\ --*) ;;
+    *           ) printf '%s: mkstemp -v generated unexpected output\n' "$0" >&2
+                  failed=`expr ${failed:-0} + 1`;;
 esac
 
 
@@ -60,22 +76,27 @@ fi
 # check -directory
 tmpfile=`$mkstemp -directory "$MHTMPDIR"`
 [ -f "$tmpfile" ]  &&  rm "$tmpfile"  ||  failed=`expr ${failed:-0} + 1`
+# Rely on exit status of grep to detect failure and terminate due to set -e:
 check_tmpfile=`echo $tmpfile | grep "^$MHTMPDIR/......$" >/dev/null`
-run_test `echo $check_tmpfile` ''
+run_test 'eval echo $check_tmpfile' ''
 
 
 # check -prefix
 tmpfile=`$mkstemp -prefix mkstemptest`
 [ -f "$tmpfile" ]  &&  rm "$tmpfile"  ||  failed=`expr ${failed:-0} + 1`
+# Rely on exit status of grep to detect failure and terminate due to set -e:
 check_tmpfile=`echo $tmpfile | grep '^mkstemptest......$' >/dev/null`
-run_test `echo $check_tmpfile` ''
+run_test 'eval echo $check_tmpfile' ''
 
 
-# check -suffix
-tmpfile=`$mkstemp -suffix .txt`
-[ -f "$tmpfile" ]  &&  rm "$tmpfile"  ||  failed=`expr ${failed:-0} + 1`
-check_tmpfile=`echo $tmpfile | grep '^......\.txt$' >/dev/null`
-run_test `echo $check_tmpfile` ''
+if [ $has_mkstemps -eq 1 ]; then
+    # check -suffix
+    tmpfile=`$mkstemp -suffix .txt`
+    [ -f "$tmpfile" ]  &&  rm "$tmpfile"  ||  failed=`expr ${failed:-0} + 1`
+    # Rely on exit status of grep to detect failure and terminate due to set -e:
+    check_tmpfile=`echo $tmpfile | grep '^......\.txt$' >/dev/null`
+    run_test 'eval echo $check_tmpfile' ''
+fi
 
 
 exit $failed