--- /dev/null
+#!/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 text file that does not end with newline
+printf 'Editor: emacs' >>"$MMHP"
+runandcheck 'mhparam -nocomponent editor' <<!
+emacs
+!
+
+
+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}
+!
+