-all
-version
-help
+ -(debug)
EOF
-# The exit status is 1 with -help, so invert it to prevent
-# triggering immediate exit due to set -e.
-! mhparam -help >$actual 2>&1
+
+mhparam -help >$actual 2>&1
check $expected $actual
# check -version
-if ! mhparam -v | grep '^mhparam --' >/dev/null; then
- echo "$0: mhparam -v generated unexpected output" 1>&2
- failed=`expr ${failed:-0} + 1`
-fi
+case `mhparam -v` in
+ mhparam\ --*) ;;
+ * ) echo "$0: mhparam -v generated unexpected output" 1>&2
+ failed=`expr ${failed:-0} + 1`;;
+esac
# check unknown option
run_test 'mhparam -nonexistent' 'mhparam: -nonexistent unknown'
# check -all
-cp $MH_TEST_DIR/Mail/.mh_profile $expected
+cp "$MH" $expected
# -all adds current folder
echo 'Current-Folder: '`folder -f` >>$expected
-mhparam -all >$actual
+run_prog mhparam -all >$actual
check $expected $actual 'keep first'
# check -all with a component
echo 'mhparam: profile-components ignored with -all' >$expected_err
-mhparam -all path >$actual 2>$actual_err
+run_prog mhparam -all path >$actual 2>$actual_err
check $expected $actual 'keep first'
check $expected_err $actual_err
# check -all with -components
echo 'mhparam: -components ignored with -all' >$expected_err
-mhparam -all -components >$actual 2>$actual_err
+run_prog mhparam -all -components >$actual 2>$actual_err
check $expected $actual
check $expected_err $actual_err
run_test 'mhparam path' "$MH_TEST_DIR/Mail"
# check more than one component, which enables -component
-echo 'AliasFile: aliases' >>"$MH_TEST_DIR/Mail/.mh_profile"
+echo 'AliasFile: aliases' >>"$MH"
run_test 'mhparam path AliasFile' "path: $MH_TEST_DIR/Mail
AliasFile: aliases"
# check each component in procs array in uip/mhparam.c
-run_test 'mhparam -nocomponent context' 'context'
-run_test 'mhparam -nocomponent mh-sequences' '.mh_sequences'
-run_test 'mhparam -nocomponent buildmimeproc' "$prefix/bin/mhbuild"
-run_test 'mhparam -nocomponent faceproc' ''
-run_test 'mhparam -nocomponent fileproc' "$MH_INST_DIR$prefix/bin/refile"
-run_test 'mhparam -nocomponent foldprot' '700'
-run_test 'mhparam -nocomponent formatproc' ''
-run_test 'mhparam -nocomponent incproc' "$prefix/bin/inc"
-run_test 'mhparam -nocomponent installproc' "$prefix/lib/install-mh"
-run_test 'mhparam -nocomponent lproc' 'less'
-run_test 'mhparam -nocomponent mailproc' "$prefix/bin/mhmail"
-run_test 'mhparam -nocomponent mhlproc' "$MH_INST_DIR$prefix/lib/mhl"
-run_test 'mhparam -nocomponent moreproc' 'less'
-run_test 'mhparam -nocomponent msgprot' '600'
-run_test 'mhparam -nocomponent mshproc' "$prefix/bin/msh"
-run_test 'mhparam -nocomponent packproc' "$prefix/bin/packf"
-run_test 'mhparam -nocomponent postproc' "$MH_INST_DIR$prefix/lib/post"
-run_test 'mhparam -nocomponent rmmproc' ''
-run_test 'mhparam -nocomponent sendproc' "$prefix/bin/send"
-run_test 'mhparam -nocomponent showmimeproc' "$prefix/bin/mhshow"
-run_test 'mhparam -nocomponent showproc' "$MH_INST_DIR$prefix/lib/mhl"
-run_test 'mhparam -nocomponent version' 'nmh-'`cat $MH_OBJ_DIR/VERSION`
-run_test 'mhparam -nocomponent vmhproc' "$prefix/bin/msh"
-run_test 'mhparam -nocomponent whatnowproc' "$prefix/bin/whatnow"
-run_test 'mhparam -nocomponent whomproc' "$prefix/bin/whom"
-run_test 'mhparam -nocomponent etcdir' "$prefix/etc"
-run_test 'mhparam -nocomponent libdir' "$prefix/lib"
-run_test 'mhparam -nocomponent sbackup' ','
+# 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.
+cat >$expected <<EOF
+context
+.mh_sequences
+$MH_INST_DIR$bindir/mhbuild
+$MH_INST_DIR$bindir/refile
+700
+$bindir/inc
+more
+$bindir/mhmail
+$MH_INST_DIR$nmhlibexecdir/mhl
+cat
+600
+$bindir/packf
+$MH_INST_DIR$nmhlibexecdir/post
+$bindir/send
+$bindir/mhshow
+$MH_INST_DIR$nmhlibexecdir/mhl
+nmh-`cat ${srcdir}/VERSION`
+$bindir/whatnow
+$bindir/whom
+$nmhetcdirinst
+$MH_LIBEXEC_DIR
+fcntl
+${default_locking}
+EOF
+
+run_prog 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 >$actual 2>&1
+
+check $expected $actual
+
+#### This exits with non-zero status, so let run_test squash that:
+run_test 'mhparam formatproc rmmproc' ''
+
+#### Test sbackup separately because it's only passed as a -D compile option.
+case `mhparam sbackup` in
+ ,|\#) ;;
+ * ) echo mhparam sbackup failed
+ failed=`expr ${failed:-0} + 1` ;;
+esac
# check -component
run_test 'mhparam -component Path' "Path: $MH_TEST_DIR/Mail"
run_test "echo $?" 3
set -e
-# mhparam -debug (undocumented)
+# mhparam -debug
# Some of its output depends on configure options, so don't bother to
# check for correctness here.
mhparam -debug >/dev/null
+# check with text file that does not end with newline
+printf 'Editor: emacs' >>"$MH"
+run_test 'mhparam -nocomponent editor' 'emacs'
+
exit $failed