diff options
Diffstat (limited to 'debian/minimaltest')
-rw-r--r-- | debian/minimaltest | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/debian/minimaltest b/debian/minimaltest new file mode 100644 index 0000000..c90d7b2 --- /dev/null +++ b/debian/minimaltest @@ -0,0 +1,93 @@ +#!/bin/sh + +set -e + +# Do not run as root +if [ `id -u` = "0" ]; then + echo $0: running with id 0, exiting. + exit 0 +fi + +if ! test -x "$2" ; then + echo "\$2 $2: not exeutable" + exit 1 +fi + +# set up directorytree +if ! echo "$1" | grep -q '^/......' && test -d "$1"; then + echo \$1 needs to be absolute patch + exit 1 +fi + +echo ======================================== +echo running minimal functionality test for binary $2 in directory $1 + +top="$1/eximtest" + +rm -rf $1/eximtest/* +mkdir -p $top/var/log $top/var/spool/db $top/var/spool/input $top/var/spool/msglog $top/run $top/var/mail +cat <<EOF > $top/exim4.conf +exim_user = `id -u` +exim_group = `id -g` +log_file_path = $top/var/log/%slog +spool_directory = $top/var/spool +pid_file_path = $top/run +primary_hostname = eximtest.example.com +rfc1413_hosts = + +begin routers +eximtest: + driver = accept + transport = writetofile + address_data = \${lookup {\$local_part} lsearch {${top}/maplptofile} {\$value} fail } + +begin transports +writetofile: + driver = appendfile + file = $top/var/mail/\$address_data + delivery_date_add + envelope_to_add + return_path_add +EOF + +cat <<EOF > $top/maplptofile +recip: recip +local: local +EOF + +cat <<EOF > $top/var/mail/compare +From from@eximtest.example.com Sat May 07 12:12:12 2012 +Return-path: <from@eximtest.example.com> +Envelope-to: recip@eximtest.example.com +Delivery-date: Sat, 07 May 2011 12:12:12 +0000 +Received: from buildd by eximtest.example.com with local (Exim 4.44) + (envelope-from <from@eximtest.example.com>) + id msgid + for recip@eximtest.example.com;Sat, 07 May 2011 12:12:12 +0000 +From: Testing Exim <from@eximtest.example.com> +To: Recipient <recip@eximtest.example.com> +Subject: Test Message +Message-Id: <Emsgid@eximtest.example.com> +Date: Sat, 07 May 2011 12:12:12 +0000 + +no body + +EOF + +$2 -C "$top/exim4.conf" -bV +$2 -C "$top/exim4.conf" -be '${if bool{0}{yes}{no}} X ${if !bool{0}{yes}{no}}' +$2 -C "$top/exim4.conf" -bt local +printf 'From: Testing Exim <from@eximtest.example.com>\nTo: Recipient <recip@eximtest.example.com>\nSubject: Test Message\n\nno body\n' | \ +$2 -C "$top/exim4.conf" -odf -oep -oi -t -f from@eximtest.example.com +sed -i -e 's/^From \([^ ]*\) .*/From \1 Sat May 07 12:12:12 2012/' \ + -e 's/^Delivery-date: .*/Delivery-date: Sat, 07 May 2011 12:12:12 +0000/' \ + -e 's/^Received: from [^ ][^ ]* /Received: from buildd /' \ + -e '/^Received:/s/(Exim [^)]*/(Exim 4.44/' \ + -e '/[[:space:]]for /s/;.*/;Sat, 07 May 2011 12:12:12 +0000/' \ + -e '/[[:space:]]id /s/id .*/id msgid/' \ + -e 's/^Message-Id: [^@]*/Message-Id: <Emsgid/' \ + -e 's/^Date: .*/Date: Sat, 07 May 2011 12:12:12 +0000/' \ + $top/var/mail/recip + +diff -u $top/var/mail/recip $top/var/mail/compare +exit 0 |