#!/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 < $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 begin transports writetofile: driver = appendfile file = $top/var/mail/\$local_part delivery_date_add envelope_to_add return_path_add EOF cat < $top/var/mail/compare From from@eximtest.example.com Sat May 07 12:12:12 2012 Return-path: 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 ) id msgid for recip@eximtest.example.com;Sat, 07 May 2011 12:12:12 +0000 From: Testing Exim To: Recipient Subject: Test Message Message-Id: 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 \nTo: Recipient \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: