#!/bin/sh ###################################################### # # Test prompter # ###################################################### set -e if test -z "${MH_OBJ_DIR}"; then srcdir=`dirname $0`/../.. MH_OBJ_DIR=`cd $srcdir && pwd`; export MH_OBJ_DIR fi . "$MH_OBJ_DIR/test/common.sh" setup_test check_exit '-eq 1' prompter - expected=$MH_TEST_DIR/$$.expected expected_err=$MH_TEST_DIR/$$.expected_err actual=$MH_TEST_DIR/$$.actual actual_err=$MH_TEST_DIR/$$.actual_err # check -help start_test "-help" cat >$expected <&1 | sed '/^$/,$d' >"$actual" check "$expected" "$actual" # check -version start_test "-version" case `prompter -v` in prompter\ --*) ;; * ) printf '%s: prompter -v generated unexpected output\n' "$0" >&2 failed=`expr ${failed:-0} + 1`;; esac # check unknown switch start_test "unknown switch" run_test 'prompter -nonexistent' 'prompter: -nonexistent unknown' # check with no switches start_test "with no switches" run_test 'prompter' 'prompter: usage: prompter [switches] file' # check with file start_test "with file" cat >$expected <$MH_TEST_DIR/prompter-file </dev/null check "$expected" "$MH_TEST_DIR/prompter-file" 'keep first' # check -doteof start_test "-doteof" cat >$MH_TEST_DIR/prompter-file </dev/null check "$expected" "$MH_TEST_DIR/prompter-file" 'keep first' # check -nodoteof start_test "-nodoteof" cat >$MH_TEST_DIR/prompter-file </dev/null check "$expected" "$MH_TEST_DIR/prompter-file" 'keep first' # check -noprepend start_test "-noprepend" cat >$MH_TEST_DIR/prompter-file <>"$expected" printf 'recipient@example.com\ncc@example.com\n+outbox\nappendage\n' | \ run_prog prompter -noprepend $MH_TEST_DIR/prompter-file >/dev/null check "$expected" "$MH_TEST_DIR/prompter-file" # check -prepend start_test "-prepend" cat >$MH_TEST_DIR/prompter-file <$expected </dev/null check "$MH_TEST_DIR/prompter-file" "$expected" 'keep first' # check -rapid start_test "-rapid" cat >$expected <"$actual" $expected <"$actual" $expected <"$actual" check "$expected" "$actual" # check -body. It's undocumented but the default, so make sure that start_test "-body. It's undocumented but the default, so make sure that" # it reverses the effect of -nobody. cat >$expected <"$actual" \ $expected </dev/null check "$expected" "$MH_TEST_DIR/prompter-file" finish_test exit ${failed:-0}