summaryrefslogtreecommitdiffstats
path: root/debian/minimaltest
blob: 664b52b1724cef9599e9575df8e98bb45275c83c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#!/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.95)
	(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/\([[:space:]][[:space:]]*\)[[:upper:]][[:lower:]][[:lower:]]*, [0-9][0-9]* [[:upper:]][[:lower:]][[:lower:]]* [0-9][0-9][0-9][0-9] [0-9:][0-9:]* [0-9[:upper:]+-]*/\1Sat, 07 May 2011 12:12:12 +0000/g' \
	-e 's/^Received: from [^ ][^ ]* /Received: from buildd /' \
	-e '/^Received:/s/(Exim [^)]*/(Exim 4.95/' \
	-e '/[[:space:]]id /s/id .*/id msgid/' \
	-e 's/^Message-Id: [^@]*/Message-Id: <Emsgid/' \
	$top/var/mail/recip

diff -u $top/var/mail/recip $top/var/mail/compare
exit 0