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