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 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
#!/bin/sh
######################################################
#
# Test mhparam
#
######################################################
. "$MH_TEST_COMMON"
# check -help
runandcheck "mhparam -help" <<!
Usage: mhparam [profile-components] [switches]
switches are:
-[no]components
-all
-Version
-help
!
# check -version
case `mhparam -V` in
mhparam\ --*) ;;
* ) echo "$0: mhparam -v generated unexpected output" 1>&2
failed=`expr ${failed:-0} + 1`;;
esac
# check unknown option
runandcheck 'mhparam -nonexistent' <<!
mhparam: -nonexistent unknown
!
# check -all
cp "$MMH/profile" "$MMH/profile2"
MMHP="$MMH/profile2"
export MMHP
# -all adds current folder
runandcheck "mhparam -all" <<!
Path: $MH_TEST_DIR/Mail
Inbox: +inbox
Current-Folder: inbox
!
# check -all with a component
runandcheck "mhparam -all path >/dev/null" <<!
mhparam: profile-components ignored with -all
!
# check -all with -components
runandcheck "mhparam -all -components >/dev/null" <<!
mhparam: -components ignored with -all
!
# check one component
runandcheck 'mhparam path' <<!
$MH_TEST_DIR/Mail
!
# check more than one component, which enables -component
echo 'AliasFile: aliases' >>"$MMHP"
runandcheck 'mhparam path AliasFile' <<!
path: $MH_TEST_DIR/Mail
AliasFile: aliases
!
#### This exits with non-zero status, so let runandcheck squash that:
runandcheck 'mhparam formatproc rmmproc' <<!
!
# check -component
runandcheck 'mhparam -component Path' <<!
Path: $MH_TEST_DIR/Mail
!
# check -component, note that component name of argument is echoed exactly
runandcheck 'mhparam -component path' <<!
path: $MH_TEST_DIR/Mail
!
runandcheck 'mhparam -component PATH' <<!
PATH: $MH_TEST_DIR/Mail
!
# check -nocomponent
runandcheck 'mhparam -component -nocomponent path' <<!
$MH_TEST_DIR/Mail
!
runandcheck 'mhparam -nocomponent path AliasFile' <<!
$MH_TEST_DIR/Mail
aliases
!
# check nonexistent component
runandcheck 'mhparam nonexistent' <<!
!
# check that return status counts nonexistent components
runandcheck "mhparam path context nonexistent1 nonexistent2 \
nonexistent3 >/dev/null; echo \$?" <<!
3
!
# check that return status counts nonexistent components
runandcheck "mhparam path context nonexistent1 nonexistent2 \
nonexistent3 inbox >/dev/null; echo \$?" <<!
3
!
# mhparam -debug
# Some of its output depends on configure options, so don't bother to
# check for correctness here.
runandcheck "mhparam -debug >/dev/null; echo \$?" <<!
0
!
# check with folded header
cat >>"$MMHP" <<!
Alternate-Mailboxes: alice@example.org,
bob@example.net,
charly@example.comp
!
runandcheck 'mhparam alternate-mailboxes' <<!
alice@example.org, bob@example.net, charly@example.comp
!
# check with text file that does not end with newline
# in mmh this is invalid
printf 'Editor: emacs' >>"$MMHP"
export VISUAL=ed
runandcheck 'mhparam -nocomponent editor' <<!
mhparam: `cat test-temp-dir`/.mmh/profile2 is poorly formatted
$VISUAL
!
unset VISUAL
exit
# FIXME: needs to be adjusted or removed ...
# check each component in procs array in uip/mhparam.c
# The tests don't override these, so they're default or configured values.
# Note that cat is hardcoded here because the testsuite uses it for moreproc.
runandcheck "mhparam -nocomponent \
context \
mh-sequences \
buildmimeproc \
fileproc \
foldprot \
incproc \
lproc \
mailproc \
mhlproc \
moreproc \
msgprot \
packproc \
postproc \
sendproc \
showmimeproc \
showproc \
version \
whatnowproc \
whomproc \
etcdir \
libexecdir \
datalocking \
spoollocking" <<!
context
.mh_sequences
$MH_INST_DIR$bindir/mhbuild
$MH_INST_DIR$bindir/refile
700
$bindir/inc
more
$MH_INST_DIR$bindir/mhmail
$MH_INST_DIR$nmhlibexecdir/mhl
cat
600
$bindir/packf
$MH_INST_DIR$nmhlibexecdir/post
$MH_INST_DIR$bindir/send
$MH_INST_DIR$bindir/mhshow
$MH_INST_DIR$nmhlibexecdir/mhl
nmh-`cat ${srcdir}/VERSION`
$MH_INST_DIR$bindir/whatnow
$MH_INST_DIR$bindir/whom
$nmhetcdirinst
$MH_LIBEXEC_DIR
fcntl
${default_locking}
!
|