]> diplodocus.org Git - nmh/blob - test/folder/test-packf
Fix unlikely bug in oauth's make_query_url() of base_url overflow.
[nmh] / test / folder / test-packf
1 #!/bin/sh
2 ######################################################
3 #
4 # Test packf
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 expected="$MH_TEST_DIR/$$.expected"
20 actual="$MH_TEST_DIR/$$.actual"
21
22
23 # check -help
24 cat >"$expected" <<EOF
25 Usage: packf [+folder] [msgs] [switches]
26 switches are:
27 -file name
28 -mbox
29 -mmdf
30 -version
31 -help
32 EOF
33
34 #### Skip nmh intro text.
35 packf -help | sed '/^$/,$d' >"$actual" 2>&1
36 check "$expected" "$actual"
37
38 # check -version
39 case `packf -v` in
40 packf\ --*) ;;
41 * ) printf '%s: packf -v generated unexpected output\n' "$0" >&2
42 failed=`expr ${failed:-0} + 1`;;
43 esac
44
45 # check unknown switch
46 run_test "packf -nonexistent" 'packf: -nonexistent unknown'
47
48 cd "${MH_TEST_DIR}" || exit 1
49 printf 'y\n' >Mail/yes
50
51 # check with no switches
52 run_prog packf <Mail/yes
53 inc +inbox2 -file msgbox <Mail/yes >/dev/null
54 rm -f msgbox .msgbox.map
55 for i in `pick +inbox`; do
56 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
57 done
58 run_test "printf $i" '10'
59 rmm +inbox2 -unlink `pick +inbox2`
60
61 # check +folder
62 run_prog packf +inbox <Mail/yes
63 inc +inbox2 -file msgbox >/dev/null
64 rm -f msgbox .msgbox.map
65 for i in `pick +inbox`; do
66 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
67 done
68 run_test "printf $i" '10'
69 rmm +inbox2 -unlink `pick +inbox2`
70
71 # check msgs
72 run_prog packf +inbox 1 2 3 <Mail/yes
73 inc +inbox2 -file msgbox >/dev/null
74 rm -f msgbox .msgbox.map
75 for i in `pick +inbox2`; do
76 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
77 done
78 run_test "printf $i" '3'
79 rmm +inbox2 -unlink `pick +inbox2`
80
81 # check -file
82 run_prog packf +inbox -file msgbox2 <Mail/yes
83 inc +inbox2 -file msgbox2 >/dev/null
84 for i in `pick +inbox2`; do
85 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
86 done
87 run_test "printf $i" '10'
88 rmm +inbox2 -unlink `pick +inbox2`
89
90 # check append to existing mbox file
91 run_prog packf +inbox -file msgbox2 <Mail/yes
92 inc +inbox2 -file msgbox2 >/dev/null
93 rm -f msgbox2 .msgbox2.map
94 for i in `pick +inbox2`; do
95 if [ $i -le 10 ]; then
96 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
97 else
98 arith_eval $i - 10
99 diff "`mhpath +inbox $arith_val`" "`mhpath +inbox2 $i`"
100 fi
101 done
102 run_test "printf $i" '20'
103 rmm +inbox2 -unlink `pick +inbox2`
104
105 # check -mbox
106 run_prog packf +inbox -mbox <Mail/yes
107 inc +inbox2 -file msgbox >/dev/null
108 rm -f msgbox .msgbox.map
109 for i in `pick +inbox2`; do
110 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
111 done
112 run_test "printf $i" '10'
113 rmm +inbox2 -unlink `pick +inbox2`
114
115 # check -mmdf
116 run_prog packf +inbox -mmdf <Mail/yes
117 inc +inbox2 -file msgbox >/dev/null
118 rm -f msgbox .msgbox.map
119 for i in `pick +inbox2`; do
120 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
121 done
122 run_test "printf $i" '10'
123 rmm +inbox2 -unlink `pick +inbox2`
124
125 # check append to existing mmdf file
126 run_prog packf +inbox -mmdf <Mail/yes
127 inc +inbox2 -file msgbox >/dev/null
128 rm -f msgbox .msgbox.map
129 for i in `pick +inbox2`; do
130 if [ $i -le 10 ]; then
131 diff "`mhpath +inbox $i`" "`mhpath +inbox2 $i`"
132 else
133 arith_eval $i - 10
134 diff "`mhpath +inbox $arith_val`" "`mhpath +inbox2 $i`"
135 fi
136 done
137 run_test "printf $i" '10'
138 rmm +inbox2 -unlink `pick +inbox2`
139
140
141 exit ${failed:-0}