X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/d3c6f7080c1af358dba4a7f71e40fb1190b55dbe..366cc6fc4c7bf1eed47cc9b52d0ef809b2e90174:/test/mhparam/test-mhparam diff --git a/test/mhparam/test-mhparam b/test/mhparam/test-mhparam index a5bb2e78..1470cbaa 100755 --- a/test/mhparam/test-mhparam +++ b/test/mhparam/test-mhparam @@ -16,6 +16,9 @@ fi setup_test +check_exit '-eq 1' mhparam - +check_exit '-eq 0' mhparam localmbox + expected=$MH_TEST_DIR/$$.expected expected_err=$MH_TEST_DIR/$$.expected_err actual=$MH_TEST_DIR/$$.actual @@ -23,6 +26,7 @@ actual_err=$MH_TEST_DIR/$$.actual_err # check -help +start_test "-help" cat >$expected <$actual 2>&1 -check $expected $actual +#### Skip nmh intro text. +mhparam -help 2>&1 | sed '/^$/,$d' >"$actual" +check "$expected" "$actual" # check -version +start_test "-version" case `mhparam -v` in mhparam\ --*) ;; * ) echo "$0: mhparam -v generated unexpected output" 1>&2 @@ -44,36 +50,44 @@ case `mhparam -v` in esac # check unknown option +start_test "unknown option" run_test 'mhparam -nonexistent' 'mhparam: -nonexistent unknown' # check -all -cp $MH_TEST_DIR/Mail/.mh_profile $expected -# -all adds current folder +start_test "-all" +cp "$MH" $expected +# -all adds current folder and Version echo 'Current-Folder: '`folder -f` >>$expected -mhparam -all >$actual +echo "Version: nmh-$MH_VERSION" >>$expected +run_prog mhparam -all >$actual 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 -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 +start_test "-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 # check one component +start_test "one component" 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" +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 <$actual 2>&1 +libexecdir \ +datalocking \ +spoollocking >$actual 2>&1 check $expected $actual @@ -140,29 +154,45 @@ case `mhparam sbackup` in 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 +# 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