X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9ac724c1df34e9dd56e2e35566b0cf81a491e8e6..e4dc6d154b593b5fc0baa96091a2fbd4ec59ba89:/test/pick/test-pick diff --git a/test/pick/test-pick b/test/pick/test-pick index ba7c18bd..e1434dce 100755 --- a/test/pick/test-pick +++ b/test/pick/test-pick @@ -78,37 +78,33 @@ run_test 'pick -not -lbrace -subject NoMatch -and -subject message.3 -rbrace' \ # Test MHPDEBUG. MHPDEBUG=1 pick -not -lbrace -subject NoMatch -and -subject message.3 -rbrace \ - >/dev/null 2>$actual -cat >$expected </dev/null 2>"$actual" +cat >"$expected" <$actual 2>/dev/null` >/dev/null -cat >$expected <"$actual" 2>/dev/null` \ + >/dev/null +cat >"$expected" </dev/tty) 2>/dev/null; then # Produce no standard output if no messages match and standard - # output is a tty. To test that, move stderr to stdout and - # write the output directly to the tty. If there is output, - # it probably won't be captured, but pretend that it would be. - output=`pick -subject message.3 -and -from Test4 >&2- >/dev/tty` - run_test "echo $output" '' -else - echo "$0: skip tty test because can't write to /dev/tty" + # output is a tty. To test that even when run with stdout + # detached, write directly to /dev/tty. Can't capture the + # output so hopefully the user will notice it. + pick -subject message.3 -and -from Test4 >/dev/tty 2>/dev/null fi # Also, check that the exit status is 1. @@ -139,52 +135,56 @@ run_test 'pick -to some -nolist' '11 hits' run_test 'pick -to user@example.com -nolist' '11 hits' # Test -after. -pick -after '28 Sep 2008 00:00:00' >$actual 2>&1 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <$actual 2>/dev/null -cat >$expected <"$actual" 2>/dev/null +set -e +cat >"$expected" <$actual 2>&1 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <$actual 2>&1 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <$actual 2>/dev/null -cat >$expected <"$actual" 2>/dev/null +set -e +cat >"$expected" <$actual 2>/dev/null -cat >$expected <"$actual" 2>/dev/null +set -e +cat >"$expected" <$actual 2>&1 -cat >$expected <"$actual" 2>&1 +cat >"$expected" <"$MH_TEST_DIR/Mail/inbox/12" < +To: Some User +Date: Fri, 29 Sep 2006 00:00:00 +Message-Id: 12@test.nmh +Subject: multi-line + header field + +This is message number 12 +EOF + +echo 12 >"$expected" + +pick -subject 'multi-line header field' 12 >"$actual" 2>&1 +check "$expected" "$actual" + +# Test MIME-encoded header. +cat >"$MH_TEST_DIR/Mail/inbox/13" < +To: Some User +Date: Fri, 29 Sep 2006 00:00:00 +Message-Id: 13@test.nmh +Subject: =?us-ascii?q?=66=6f=6f?= + =?utf-8?q?=62=61=72?= + +This is message number 13, with MIME-encoded Subject "foobar". +EOF + +echo 13 >"$expected" + +set +e +LC_CTYPE=en_US.UTF-8 pick -subject foobar 13 >"$actual" 2>&1 +set -e +check "$expected" "$actual" + +# Test -nosequence. +run_test 'pick +inbox 5 7 9 11 -sequence test -nosequence' '5 +7 +9 +11' +run_test 'mark -list -sequence test' 'test: ' + exit $failed