#!/bin/sh

set -e

PORT=28364

cat > $AUTOPKGTEST_TMP/asmtpd.conf <<-EOF
	Hostname avenger.example.com
	BindAddr 127.0.0.1 $PORT
	Sendmail dummy_sendmail
	DebugSMTP 1
EOF

mkdir $AUTOPKGTEST_TMP/bin
cat > $AUTOPKGTEST_TMP/bin/dummy_sendmail <<EOF
#!/bin/sh

cat >> $AUTOPKGTEST_TMP/dummy_sendmail.out
EOF
chmod +x $AUTOPKGTEST_TMP/bin/dummy_sendmail

PATH=$AUTOPKGTEST_TMP/bin:$PATH

bailout() {
    kill $!
    sleep 5

    echo
    echo === asmtp.out ===
    cat  $AUTOPKGTEST_TMP/asmtpd.out
    echo =================

    echo
    echo === message received ===
    cat $AUTOPKGTEST_TMP/dummy_sendmail.out
    echo ========================
}

trap "bailout" EXIT
echo about to run asmtpd...
/usr/sbin/asmtpd --verbose -d -f $AUTOPKGTEST_TMP/asmtpd.conf > $AUTOPKGTEST_TMP/asmtpd.out 2>&1 &

sleep 10

# test send a simple message to the locally running asmtpd started above
set +e
swaks --from here@example.com --to there@example.com --server=127.0.0.1:$PORT
ret=$?

if [ '${ret} == 6' ]; then
    echo "Working around #931085"
else
    echo "Finished test with exit status ${ret}"
    exit ${ret}
fi
