File: test-msgchk

package info (click to toggle)
nmh 1.6-16
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 6,312 kB
  • ctags: 3,934
  • sloc: ansic: 48,921; sh: 16,427; makefile: 560; perl: 509; lex: 402; awk: 74
file content (122 lines) | stat: -rwxr-xr-x 3,315 bytes parent folder | download | duplicates (2)
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#!/bin/sh
######################################################
#
# Test msgchk
# Only tests checking of local maildrop, does not
# test checking of POP server.
#
######################################################

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

expected=$MH_TEST_DIR/$$.expected
expected_err=$MH_TEST_DIR/$$.expected_err
actual=$MH_TEST_DIR/$$.actual
actual_err=$MH_TEST_DIR/$$.actual_err


# check -help
# Only look at first 9 lines because the rest depend on
# whether sasl support was configured in.
cat >"$expected" <<EOF
Usage: msgchk [switches] [users ...]
  switches are:
  -[no]date
  -[no]notify type
  -host hostname
  -user username
  -port name/number
  -version
  -help
EOF

run_prog msgchk -help | head -9 >"$actual" 2>&1
check "$expected" "$actual"

# check -version
case `msgchk -v` in
  msgchk\ --*) ;;
  *          ) printf '%s: msgchk -v generated unexpected output\n' "$0" >&2
               failed=`expr ${failed:-0} + 1`;;
esac

# check unknown switch
run_test "msgchk -nonexistent" 'msgchk: -nonexistent unknown'

# check with no arguments and no mail waiting
run_test 'msgchk' "You don't have any mail waiting"

# Use maildrop specified in mts.conf, i.e.,
# ${MH_TEST_DIR}/Mail/maildrop, which should not yet exist.
"${MH_LIB_DIR}"/rcvpack <"${MH_TEST_DIR}"/Mail/inbox/1 \
  "${MH_TEST_DIR}"/Mail/maildrop

# check with no arguments and mail waiting
cat >"$expected" <<EOF
You have new mail waiting; last read on
EOF

run_prog msgchk | sed -e 's/last read on.*/last read on/' >"$actual"
check "$expected" "$actual"

# check -date
cat >"$expected" <<EOF
You have new mail waiting; last read on
EOF

run_prog msgchk -nodate -date | sed -e 's/last read on.*/last read on/' \
  >"$actual"
check "$expected" "$actual"

# check -nodate
run_test 'msgchk -nodate' 'You have new mail waiting'

# check -notify mail, when there is mail
run_test 'msgchk -notify mail -nodate' 'You have new mail waiting'

# check -notify nomail, when there is mail
run_test 'msgchk -notify nomail -nodate' 'You have new mail waiting'

# check -notify all, when there is mail
run_test 'msgchk -notify nomail -notify all -nodate' 'You have new mail waiting'

# check -nonotify mail, when there is mail
run_test 'msgchk -nonotify mail -nodate' ''

# check -nonotify nomail, when there is mail
run_test 'msgchk -nonotify nomail -nodate' 'You have new mail waiting'

# check -nonotify all, when there is mail
run_test 'msgchk -nonotify nomail -nonotify all -nodate' ''

run_prog inc -silent

# check -notify mail, when there is no mail
run_test 'msgchk -notify mail -nodate' "You don't have any mail waiting"

# check -notify nomail, when there is no mail
run_test 'msgchk -notify nomail -nodate' "You don't have any mail waiting"

# check -notify all, when there is no mail
run_test 'msgchk -notify nomail -nonotify all -nodate' ''

# check -nonotify mail, when there is no mail
run_test 'msgchk -nonotify mail -nodate' "You don't have any mail waiting"

# check -nonotify nomail, when there is no mail
run_test 'msgchk -nonotify nomail -nodate' ''

# check -nonotify all, when there is no mail
run_test 'msgchk -nonotify nomail -nonotify all -nodate' ''


exit ${failed:-0}