X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=test%2Fpick%2Ftest-pick;h=ac1978379daf8e08977203f27be2ea07ef62cd5b;hb=80bf776d0a4587c477bb8a248b9dbe1a31e74575;hp=6ee4449462aefcc31dbe28e305758086bdeee249;hpb=df31d2abe4d453eaef9a818a83bae42e80a1e67b;p=mmh diff --git a/test/pick/test-pick b/test/pick/test-pick index 6ee4449..ac19783 100755 --- a/test/pick/test-pick +++ b/test/pick/test-pick @@ -22,8 +22,10 @@ actual=$MH_TEST_DIR/$$.actual # Add an 11th message. sed \ -e 's/10/11/g' \ - -e 's/^To:\(.*\)/To:\1\nCc: /' \ - -e 's/^\(Date:.*\)2006\( 00:00:\)00/\12008\200\nDelivery-Date: \12009\241/' \ + -e 's/^To:\(.*\)/To:\1\ +Cc: /' \ + -e 's/^\(Date:.*\)2006\( 00:00:\)00/\12008\200\ +Delivery-Date: \12009\241/' \ $MH_TEST_DIR/Mail/inbox/10 >$MH_TEST_DIR/Mail/inbox/11 # Test message specification. @@ -76,37 +78,41 @@ 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" <&2-` >$actual -cat >$expected </dev/tty; then + # Produce no standard output if no messages match and standard + # 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 +else + echo "$0: skip tty test because can't write to /dev/tty" +fi # Also, check that the exit status is 1. -set +e -pick -subject message.3 -and -from Test4 2>/dev/null +pick -subject message.3 -and -from Test4 >/dev/null 2>&1 run_test "echo $?" '1' + set -e # Test -cc. @@ -131,51 +137,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' >$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" + +pick -subject foobar 13 >"$actual" 2>&1 +check "$expected" "$actual" + exit $failed