# So, it would put the message in the user's inbox, not the
# test inbox. slocal also freopens stdout and stderr to
# /dev/null, so we can't view them to verify simulated delivery.
-cat >$md <<EOF
-* 1 qpipe A "$tee $actual"
+cat >"$md" <<EOF
+* - qpipe A "$tee $actual"
EOF
+chmod go-w "$md"
-$slocal -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/1
+$slocal -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/1
check "$MH_TEST_DIR/Mail/inbox/1" "$actual" 'keep first'
+if [ ${failed:-0} -eq 1 ]; then
+ printf "\nRerunning failed basic slocal command with -verbose -debug to help
+ diagnose test failure . . .\n\n"
+ $slocal -verbose -debug -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/1
+ exit 1
+fi
+
# check -debug
-$slocal -debug -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/1 \
+$slocal -debug -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/1 \
>"$actual2" 2>&1
run_test "grep ^retrieving $actual2" 'retrieving message from stdin'
# check -verbose
-$slocal -verbose -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/1 \
+$slocal -verbose -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/1 \
>"$actual2" 2>&1
run_test "grep ^delivering $actual2" "delivering to pipe \"$tee\", success."
# check -noverbose
-$slocal -verbose -noverbose -maildelivery $md $mbox \
+$slocal -verbose -noverbose -maildelivery "$md" $mbox \
<"$MH_TEST_DIR"/Mail/inbox/1 >"$actual2" 2>&1
run_test "grep ^delivering $actual2" ''
rm -f "$actual2"
# check match of From
-cat >$md <<EOF
+cat >"$md" <<EOF
From test2@example.com qpipe A "$tee $actual"
EOF
-$slocal -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/2
+$slocal -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/2
check "$MH_TEST_DIR/Mail/inbox/2" "$actual" 'keep first'
# check R and ?
-cat >$md <<EOF
+cat >"$md" <<EOF
From test3@example.com qpipe R "$tee $actual"
From test3@example.com qpipe ? "$tee $actual2"
EOF
-$slocal -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/3
+$slocal -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/3
check "$MH_TEST_DIR/Mail/inbox/3" "$actual" 'keep first'
check "$MH_TEST_DIR/Mail/inbox/3" "$actual2" 'keep first'
# check R and N
-cat >$md <<EOF
+cat >"$md" <<EOF
From test4@example.com qpipe R "$tee $actual"
From test4@example.com qpipe N "$tee $actual2"
EOF
-$slocal -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/4
+$slocal -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/4
check "$MH_TEST_DIR/Mail/inbox/4" "$actual" 'keep first'
check "$MH_TEST_DIR/Mail/inbox/4" "$actual2" 'keep first'
# check default
-cat >$md <<EOF
+cat >"$md" <<EOF
From test5@example.com qpipe R "$tee $actual"
default 1 qpipe A "$tee $actual2"
EOF
-$slocal -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/5
+$slocal -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/5
check "$MH_TEST_DIR/Mail/inbox/5" "$actual" 'keep first'
check "$MH_TEST_DIR/Mail/inbox/5" "$actual2" 'keep first'
me=`"$MH_LIB_DIR"/ap -format '%(me)' 0`
# check -addr
-cat >$md <<EOF
+cat >"$md" <<EOF
addr "$me" qpipe A "$tee $actual"
EOF
-$slocal -addr "$me" -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/6
+$slocal -addr "$me" -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/6
check "$MH_TEST_DIR/Mail/inbox/6" "$actual" 'keep first'
# check -info
-cat >$md <<EOF
-* 1 qpipe A "\$(info) $actual"
+cat >"$md" <<EOF
+* - qpipe A "\$(info) $actual"
EOF
-$slocal -info $tee -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/7
+$slocal -info $tee -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/7
check "$MH_TEST_DIR/Mail/inbox/7" "$actual" 'keep first'
# check -sender, which is compared with "source"
-cat >$md <<EOF
+cat >"$md" <<EOF
source "$me" qpipe A "$tee $actual"
EOF
-$slocal -sender "$me" -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/8
+$slocal -sender "$me" -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/8
check "$MH_TEST_DIR/Mail/inbox/8" "$actual" 'keep first'
# check -user
-cat >$md <<EOF
-* 1 qpipe A "$tee $actual"
+cat >"$md" <<EOF
+* - qpipe A "$tee $actual"
EOF
-$slocal -user "$me" -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/9
+$slocal -user "$me" -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/9
check "$MH_TEST_DIR/Mail/inbox/9" "$actual" 'keep first'
# check -mailbox
-cat >$md <<EOF
+cat >"$md" <<EOF
EOF
-$slocal -mailbox "$actual" -maildelivery $md <"$MH_TEST_DIR"/Mail/inbox/10
+$slocal -mailbox "$actual" -maildelivery "$md" <"$MH_TEST_DIR"/Mail/inbox/10
inc -file "$actual" -silent -truncate
rm -f "$actual"
check "$MH_TEST_DIR/Mail/inbox/10" "$MH_TEST_DIR/Mail/inbox/11" 'keep first'
# check -file
-$slocal -mailbox "$actual" -maildelivery $md -file "$MH_TEST_DIR"/Mail/inbox/1
+$slocal -mailbox "$actual" -maildelivery "$md" -file "$MH_TEST_DIR"/Mail/inbox/1
inc -file "$actual" -silent -truncate
rm -f "$actual"
check "$MH_TEST_DIR/Mail/inbox/1" "$MH_TEST_DIR/Mail/inbox/11" 'keep first'
# check -suppressdup
-cat >$md <<EOF
-* 1 qpipe A "$tee $actual"
+cat >"$md" <<EOF
+* - qpipe A "$tee $actual"
EOF
-$slocal -suppressdup -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/2
+$slocal -suppressdup -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/2
check "$MH_TEST_DIR/Mail/inbox/2" "$actual" 'keep first'
-$slocal -suppressdup -maildelivery $md $mbox <"$MH_TEST_DIR"/Mail/inbox/2
+$slocal -suppressdup -maildelivery "$md" $mbox <"$MH_TEST_DIR"/Mail/inbox/2
if [ -f "$actual" ]; then
echo $0: check -suppressdup failed
failed=`expr ${failed:-0} + 1`
fi
# check -nosuppressdup
-$slocal -suppress -nosuppressdup -maildelivery $md $mbox \
+$slocal -suppress -nosuppressdup -maildelivery "$md" $mbox \
<"$MH_TEST_DIR"/Mail/inbox/2
check "$MH_TEST_DIR/Mail/inbox/2" "$actual" 'keep first'