X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/9ac724c1df34e9dd56e2e35566b0cf81a491e8e6..f839e6a78ff81930c00f8b4509d95e4a3d242e58:/test/pick/test-pick diff --git a/test/pick/test-pick b/test/pick/test-pick index ba7c18bd..4eff47cb 100755 --- a/test/pick/test-pick +++ b/test/pick/test-pick @@ -77,42 +77,40 @@ run_test 'pick -not -lbrace -subject NoMatch -and -subject message.3 -rbrace' \ 11' # Test MHPDEBUG. +# Don't use run_prog here because it loses the environment setting. 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. + run_prog pick -subject message.3 -and -from Test4 >/dev/tty 2>/dev/null fi # Also, check that the exit status is 1. -pick -subject message.3 -and -from Test4 >/dev/null 2>&1 +run_prog pick -subject message.3 -and -from Test4 >/dev/null 2>&1 run_test "echo $?" '1' set -e @@ -139,52 +137,58 @@ 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" + +run_prog 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 + +require_locale en_US.utf-8 en_US.utf8 +# Don't use run_prog here because it loses the environment setting. +LC_ALL=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