# check -help
+start_test "-help"
cat >$expected <<EOF
Usage: mhparam [profile-components] [switches]
switches are:
check "$expected" "$actual"
# check -version
+start_test "-version"
case `mhparam -v` in
mhparam\ --*) ;;
* ) echo "$0: mhparam -v generated unexpected output" 1>&2
esac
# check unknown option
+start_test "unknown option"
run_test 'mhparam -nonexistent' 'mhparam: -nonexistent unknown'
# check -all
+start_test "-all"
cp "$MH" $expected
# -all adds current folder and Version
echo 'Current-Folder: '`folder -f` >>$expected
check $expected $actual 'keep first'
# check -all with a component
+start_test "-all with a component"
echo 'mhparam: profile-components ignored with -all' >$expected_err
run_prog mhparam -all path >$actual 2>$actual_err
check $expected $actual 'keep first'
check $expected_err $actual_err
# check -all with -components
+start_test "-all with -components"
echo 'mhparam: -components ignored with -all' >$expected_err
run_prog mhparam -all -components >$actual 2>$actual_err
check $expected $actual
check $expected_err $actual_err
# check one component
+start_test "one component"
run_test 'mhparam path' "$MH_TEST_DIR/Mail"
# check more than one component, which enables -component
+start_test "more than one component, which enables -component"
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
+start_test "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.
cat >$expected <<EOF
esac
# check -component
+start_test "-component"
run_test 'mhparam -component Path' "Path: $MH_TEST_DIR/Mail"
# check -component, note that component name of argument is echoed exactly
+start_test "-component, note that component name of argument is echoed exactly"
run_test 'mhparam -component path' "path: $MH_TEST_DIR/Mail"
run_test 'mhparam -component PATH' "PATH: $MH_TEST_DIR/Mail"
# check -nocomponent
+start_test "-nocomponent"
run_test 'mhparam -component -nocomponent path' "$MH_TEST_DIR/Mail"
run_test 'mhparam -nocomponent path AliasFile' "$MH_TEST_DIR/Mail
aliases"
# check nonexistent component
+start_test "nonexistent component"
run_test 'mhparam nonexistent' ''
-# check that return status counts nonexistent components
-set +e
-mhparam path context nonexistent1 nonexistent2 nonexistent3 >/dev/null
-run_test "echo $?" 3
-set -e
-
-# And clips their numbers to avoid a misleading exit value.
-while read use want; do
- r=0
- mhparam `yes nonexistent | sed ${use}q` || r=$?
- run_test "echo $r" $want
-done <<\E
-119 119
-120 120
-121 120
-E
+# check that exit status notes nonexistent components
+start_test "exit status notes nonexistent components"
+for c in 'missing' 'path missing' 'missing path' 'missing missing'; do
+ set +e
+ mhparam $c >/dev/null
+ e=$?
+ set -e
+ run_test "echo $e" 1
+done
# mhparam -debug
+start_test "-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
+start_test "with text file that does not end with newline"
printf 'Editor: emacs' >>"$MH"
run_test 'mhparam -nocomponent editor' 'emacs'
+
+finish_test
exit $failed