#!/bin/sh ###################################################### # # Test fmtdump # ###################################################### 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. fmtdump="${MH_LIB_DIR}/fmtdump" 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 cat >$expected <$actual 2>&1 check $expected $actual # check -version case `$fmtdump -v` in fmtdump\ --*) ;; * ) printf '%s: fmtdump -v generated unexpected output\n' "$0" >&2 failed=`expr ${failed:-0} + 1`;; esac # check unknown switch run_test "$fmtdump -nonexistent" 'fmtdump: -nonexistent unknown' # check with no switches cat >$expected < LV_MON, c_name "date", c_type NUMF, width 2, fill '0' CHAR '/' PARSEDATE, c_name "date", c_type LV_MDAY, c_name "date", c_type NUMF, width 2, fill '0' LS_COMP, comp "date", c_type IF_S continue else goto L6 CHAR ' ' GOTO L7 L6: CHAR '*' L7: MYMBOX, c_name "from", c_type LV_COMPFLAG, comp "from", c_type IF_V_NE 0 continue else goto L8 LS_COMP, comp "to", c_type IF_S continue else goto L8 LIT "To:" PARSEADDR, c_name "to", c_type LS_FRIENDLY, c_name "to", c_type FT_LS_DECODE STRF, width 14, fill ' ' L8: IF_V_EQ 0 continue else goto L9 PARSEADDR, c_name "from", c_type LS_FRIENDLY, c_name "from", c_type FT_LS_DECODE STRF, width 17, fill ' ' L9: LIT " " LS_COMP, comp "subject" FT_LS_DECODE STR LS_COMP, comp "body" IF_S continue else goto L10 LIT "<<" COMP, comp "body" LIT ">>" L10: CHAR '\n' DONE EOF $fmtdump >$actual 2>&1 check $expected $actual 'keep first' # check -form $fmtdump -form "$MH_TEST_DIR/Mail/scan.default" >$actual 2>&1 check $expected $actual # check -format cat >$expected <' >$actual 2>&1 check $expected $actual exit ${failed:-0}