#!/bin/sh ###################################################### # # Test mhstore # ###################################################### 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 expected=$MH_TEST_DIR/$$.expected actual=$MH_TEST_DIR/$$.actual cd $MH_TEST_DIR # check with no options and no current message run_test 'mhstore' 'mhstore: no cur message' # check with no options and current message folder +inbox 5 > /dev/null cat > $expected <&1 | \ sed 's/.*as file //'` check $expected $stored_contents # check message number greater than highest run_test 'mhstore 11' "mhstore: message 11 doesn't exist" # check multiple messages run_test 'mhstore 4 6' 'storing message 4 as file 4.txt storing message 6 as file 6.txt' cat > $expected < $expected < $msgfile < $expected < $expected < $expected < $expected < $expected < $expected < $expected < $MH_TEST_DIR/$$.tmp mv -f $MH_TEST_DIR/$$.tmp $msgfile run_test 'mhstore last -part 2 -check' \ 'storing message 11 part 2 as file 11.2.txt mhstore: content integrity suspect (digest mismatch) -- continuing (content text/plain in message 11, part 2)' check $expected 11.2.txt 'keep first' # check -nocheck, the default run_test 'mhstore last -part 2 -check -nocheck' \ 'storing message 11 part 2 as file 11.2.txt' check $expected 11.2.txt # check reassembly of message/partial messages (RFC 1521, 7.3.2) msgfile=`mhpath new` cat > $msgfile < $msgfile < $msgfile < $expected < /dev/null touch 7.txt cat > $expected </dev/null 2>&1 run_test "echo $?" 1 set -e cd .. # check with relative nmh-storage profile component storagedir=storagedir dir="$MH_TEST_DIR/Mail/inbox/$storagedir" mkdir "$dir" echo "nmh-storage: $storagedir" >> $MH cat > $expected < $MH.new mv -f $MH.new $MH run_test 'mhstore 11 -part 4' \ "storing message 11 part 4 as file $storagedir/11.4.txt" check $expected "$absstoragedir/11.4.txt" 'keep first' # check with absolute nmh-storage profile component and -auto run_test 'mhstore 11 -part 4 -auto' \ "storing message 11 part 4 as file $storagedir/test4.txt" check $expected "$absstoragedir/test4.txt" rmdir "$absstoragedir" exit $failed