X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/40cbba6fa1e5926cebd5e2a26b92a8f0b647474e..7711f3fc00259e55f630cfe6104eff3083dc9d77:/test/bad-input/test-header?ds=sidebyside diff --git a/test/bad-input/test-header b/test/bad-input/test-header index 0e210dba..1716ff1f 100755 --- a/test/bad-input/test-header +++ b/test/bad-input/test-header @@ -5,6 +5,8 @@ # ###################################################### +set -e + if test -z "${MH_OBJ_DIR}"; then srcdir=`dirname "$0"`/../.. MH_OBJ_DIR=`cd "$srcdir" && pwd`; export MH_OBJ_DIR @@ -33,9 +35,9 @@ EOF # check scan cat >"$expected" < "$actual" 2>&1 +run_prog scan -width 80 last > "$actual" 2>&1 check "$expected" "$actual" # check show (mhl) @@ -52,7 +54,7 @@ This is a multi-part message in MIME format. I am a stupid spammer. EOF -show last > "$actual" 2>&1 +run_prog show last > "$actual" 2>&1 check "$expected" "$actual" # check mhshow @@ -63,27 +65,27 @@ From: foo@example.edu Subject: test -part text/plain 70 +[ part - text/plain - 70B ] This is a multi-part message in MIME format. I am a stupid spammer. EOF -mhshow -nopause last > "$actual" 2>&1 +run_prog mhshow last > "$actual" 2>&1 check "$expected" "$actual" # check m_getfld() handling of empty header field msgfile="$MH_TEST_DIR/Mail/inbox/12" printf 'Date: Sat, 12 Jan 2013 09:07:01 -0600\nReceived:' >"$msgfile" cat >"$expected" <"$expected_err" <"$actual" 2>"$actual_err" +run_prog scan -width 13 last >"$actual" 2>"$actual_err" check "$expected" "$actual" check "$expected_err" "$actual_err" @@ -94,16 +96,25 @@ Date: Tue, 15 Jan 2013 21:13:12 -0600 ThisHeaderFieldNameIsWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaayTooLong: OK EOF cat >"$expected" <"$expected_err" <"$actual" 2>"$actual_err" +run_prog scan -width 13 last >"$actual" 2>"$actual_err" check "$expected" "$actual" -check "$expected_err" "$actual_err" +# Cygwin has a BUFSIZ of 1024 so the error message gets truncated. +# Deal with that by grepping to verify that scan showed the proper error. +verify_string_in_file() { + if grep "$1" "$2" >/dev/null; then + : + else + echo "$0: did not receive expected error message \"$1\"" + failed=`expr ${failed:-0} + 1` + fi +} +verify_string_in_file 'scan: field name "ThisHeaderFieldNameIsWa' "$actual_err" +verify_string_in_file 'exceeds 997' "$actual_err" +verify_string_in_file '??Format error (message 13) in component 2' "$actual_err" +rm -f "$actual_err" # check m_getfld() handling of long header field name without a colon msgfile="$MH_TEST_DIR/Mail/inbox/14" @@ -116,14 +127,14 @@ Test EOF cat >"$expected" <"$expected_err" <"$actual" 2>"$actual_err" +run_prog scan -width 13 last >"$actual" 2>"$actual_err" check "$expected" "$actual" check "$expected_err" "$actual_err"