#!/bin/sh ###################################################### # # Test POP support in inc # Only tests checking of local maildrop, does not # test checking of POP server. # ###################################################### 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 # # Some extra stuff we need for POP support # TESTUSER=testuser TESTPASS=testuserpass arith_eval 64001 + $$ % 1000 testport=$arith_val HOME="${MH_TEST_DIR}"; export HOME netrc="${HOME}/.netrc" echo "default login ${TESTUSER} password ${TESTPASS}" > "$netrc" chmod 600 "$netrc" expected=$MH_TEST_DIR/$$.expected expected_err=$MH_TEST_DIR/$$.expected_err actual=$MH_TEST_DIR/$$.actual actual_err=$MH_TEST_DIR/$$.actual_err testmessage=$MH_TEST_DIR/testmessage cat > "$testmessage" < To: Some Other User Subject: Hello Date: Sun, 17 Dec 2006 12:13:14 -0500 Hey man, how's it going? . Hope you're doing better. EOM cat > "${testmessage}.2" < To: Some Other User Subject: Anything new? Date: Monday, 18 Dec 2006 14:13:14 -0500 What's been happening at your place? EOM cat > "${testmessage}.3" < To: Some Other User Subject: Brutal Date: Tuesday, 19 Dec 2006 4:15:16 -0500 Dude, nmh is totally brutal. EOM # Check netrc's permissions test pid=`"${MH_OBJ_DIR}/test/fakepop" "$testport" '' '' "$testmessage"` chmod g=w,o=x $netrc run_test "inc -user ${TESTUSER} -host 127.0.0.1 -port $testport" \ "inc: group or other permissions, 0100621, forbidden: $netrc inc: Remove password or correct file permissions." chmod go= $netrc pid=`"${MH_OBJ_DIR}/test/fakepop" "$testport" \ "$TESTUSER" "$TESTPASS" "$testmessage"` run_test "inc -user ${TESTUSER} -host 127.0.0.1 -port $testport -width 80" \ "Incorporating new mail into inbox... 11+ 12/17 No Such User Hello<>" check "$testmessage" `mhpath +inbox 11` 'keep first' check "${testmessage}.2" `mhpath +inbox 12` check "${testmessage}.3" `mhpath +inbox 13` rm -f "$netrc" # check credentials: file # Redirect stdin so that inc doesn't wait on the user if it can't # read the netrc file, even though that shouldn't happen. TESTUSER=differenuser TESTPASS=differentpass netrc="${HOME}/.mhnetrc" echo "default login ${TESTUSER} password ${TESTPASS}" > "$netrc" chmod 600 "$netrc" echo "credentials: file:${netrc}" >>$MH pid=`"${MH_OBJ_DIR}/test/fakepop" "$testport" \ "$TESTUSER" "$TESTPASS" "$testmessage"` run_test "inc -user ${TESTUSER} -host 127.0.0.1 -port $testport -width 65" \ "Incorporating new mail into inbox... 11+ 12/17 No Such User Hello<