#!/bin/sh ###################################################### # # Test dp # ###################################################### 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 # Use proper program, likely not the first one on PATH. dp="${MH_LIBEXEC_DIR}/dp" check_exit '-eq 1' $dp - check_exit '-eq 1' $dp -format foo -form check_exit '-eq 1' $dp -form foo -format check_exit '-eq 1' $dp -width x=tendixzehn l=$x$x$x$x$x c=$l$l check_exit '-eq 1' $dp `echo $c | sed 's/./ &/g'` 101 COLUMNS=1 check_exit '-eq 0' $dp foo check_exit '-eq 0' $dp -width 0 foo 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 `$dp -v` in dp\ --*) ;; * ) printf '%s: dp -v generated unexpected output\n' "$0" >&2 failed=`expr ${failed:-0} + 1`;; esac # check unknown switch start_test "unknown switch" run_test "$dp -nonexistent" 'dp: -nonexistent unknown' # check with no switches start_test "with no switches" run_test "$dp" 'dp: usage: dp [switches] dates ...' # check with one valid date start_test "with one valid date" cat >"$expected" < "$actual" 2>&1 check "$expected" "$actual" # check with two valid dates start_test "with two valid dates" cat >"$expected" < "$actual" 2>&1 check "$expected" "$actual" # check with invalid date start_test "with invalid date" cat >"$expected" <"$expected_err" < "$actual" 2> "$actual_err" check "$expected" "$actual" check "$expected_err" "$actual_err" # check -form start_test "-form" form="${MH_TEST_DIR}/Mail/dp-form" cat >"$form" <<'EOF' %(day{text}) EOF cat >"$expected" <$actual 2>&1 check $expected $actual rm -f "$form" # check -format start_test "-format" cat >"$expected" <$actual 2>&1 check $expected $actual # check -width start_test "-width" cat >"$expected" < "$actual" 2>&1 check "$expected" "$actual" finish_test exit ${failed:-0}