1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
|
#!/bin/sh
######################################################
#
# Test rcvpack
#
######################################################
set -e
if test -z "${MH_OBJ_DIR}"; then
srcdir=`dirname $0`/../..
MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR
fi
. "$MH_OBJ_DIR/test/common.sh"
setup_test
# Use proper program, likely not the first one on PATH.
rcvpack="${MH_LIBEXEC_DIR}/rcvpack"
check_exit '-eq 1' $rcvpack -
expected="$MH_TEST_DIR/$$.expected"
actual="$MH_TEST_DIR/$$.actual"
# check -help
start_test "-help"
cat >"$expected" <<EOF
Usage: rcvpack [switches] file
switches are:
-mbox
-mmdf
-version
-help
EOF
#### Skip nmh intro text.
run_prog "$rcvpack" -help 2>&1 | sed '/^$/,$d' >"$actual"
check "$expected" "$actual"
# check -version
start_test "-version"
case `$rcvpack -v` in
rcvpack\ --*) ;;
* ) printf '%s: rcvpack -v generated unexpected output\n' "$0" >&2
failed=`expr ${failed:-0} + 1`;;
esac
# check unknown switch
start_test "unknown switch"
run_test "$rcvpack -nonexistent" 'rcvpack: -nonexistent unknown'
# check with no switches
start_test "with no switches"
run_test "$rcvpack" 'rcvpack: rcvpack [switches] file'
# check mbox creation
start_test "mbox creation"
run_prog $rcvpack <${MH_TEST_DIR}/Mail/inbox/1 ${MH_TEST_DIR}/Mail/mbox
inc -file ${MH_TEST_DIR}/Mail/mbox -silent
check "${MH_TEST_DIR}/Mail/inbox/1" "${MH_TEST_DIR}/Mail/inbox/11" 'keep first'
# check -mbox
start_test "-mbox"
run_prog $rcvpack -mmdf -mbox ${MH_TEST_DIR}/Mail/mbox2 \
<${MH_TEST_DIR}/Mail/inbox/1
# Filter out "From " lines because their timestamps can differ by a second.
grep -v '^From ' "${MH_TEST_DIR}/Mail/mbox" >"${MH_TEST_DIR}/Mail/mbox-filt"
grep -v '^From ' "${MH_TEST_DIR}/Mail/mbox2" >"${MH_TEST_DIR}/Mail/mbox2-filt"
check "${MH_TEST_DIR}/Mail/mbox-filt" "${MH_TEST_DIR}/Mail/mbox2-filt"
# check append to existing mbox file
start_test "append to existing mbox file"
run_prog $rcvpack <${MH_TEST_DIR}/Mail/inbox/2 ${MH_TEST_DIR}/Mail/mbox
inc -file ${MH_TEST_DIR}/Mail/mbox -silent
check "${MH_TEST_DIR}/Mail/inbox/2" "${MH_TEST_DIR}/Mail/inbox/12" 'keep first'
# check -mmdf
start_test "-mmdf"
run_prog $rcvpack -mmdf <${MH_TEST_DIR}/Mail/inbox/3 ${MH_TEST_DIR}/Mail/mmdf
inc -file ${MH_TEST_DIR}/Mail/mmdf -silent
check "${MH_TEST_DIR}/Mail/inbox/3" "${MH_TEST_DIR}/Mail/inbox/12" 'keep first'
# check append to existing mmdf file
start_test "append to existing mmdf file"
run_prog $rcvpack -mmdf <${MH_TEST_DIR}/Mail/inbox/4 ${MH_TEST_DIR}/Mail/mmdf
inc -file ${MH_TEST_DIR}/Mail/mmdf -silent
check "${MH_TEST_DIR}/Mail/inbox/4" "${MH_TEST_DIR}/Mail/inbox/13" 'keep first'
finish_test
exit ${failed:-0}
|