summaryrefslogtreecommitdiffstats
path: root/debian/tests
diff options
context:
space:
mode:
Diffstat (limited to 'debian/tests')
-rwxr-xr-xdebian/tests/basic60
-rw-r--r--debian/tests/control6
-rw-r--r--debian/tests/long-header.msg6
3 files changed, 72 insertions, 0 deletions
diff --git a/debian/tests/basic b/debian/tests/basic
new file mode 100755
index 0000000..ac641a1
--- /dev/null
+++ b/debian/tests/basic
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+set -e
+
+runandshow() {
+ count=0
+ printf '===============\n%s: running ' $0
+ for i in "$@" ; do
+ printf "argv[%i]=[%s] " "$count" "$i"
+ count=$(($count+1))
+ done
+ echo
+ "$@"
+}
+
+shouldfail() {
+if runandshow "$@"; then
+ echo ... should have failed
+ exit 1
+else
+ :
+fi
+}
+
+exim=/usr/sbin/exim4
+
+
+runandshow $exim -bV
+runandshow $exim -bt postmaster@localhost
+
+# Since example.com is not a local domain delivery should fail with the
+# default dc_eximconfig_configtype=local
+shouldfail $exim -bt invalid@example.com
+runandshow $exim -be \
+ '${lookup{exim4.conf.template}dsearch{/etc/exim4}{$value}fail}'
+rc="$($exim -be \
+ '${lookup{exim4.conf.template}dsearch{/etc/exim4}{$value}fail}')"
+if [ "$rc" != "exim4.conf.template" ]; then
+ echo wrong expansion result $rc
+ false
+fi
+
+runandshow $exim -be \
+ '${run{/bin/echo -n foo}{success}{error}} runrc[$runrc] value[$value]'
+rc="$($exim -be \
+ '${run{/bin/echo -n foo}{success}{error}} runrc[$runrc] value[$value]')"
+if [ "$rc" != "success runrc[0] value[foo]" ]; then
+ echo wrong expansion result $rc
+ false
+fi
+
+runandshow swaks -s localhost -tlso -q ehlo
+runandshow swaks -s localhost -tlso -f root@localhost -t postmaster@localhost \
+ -q rcpt
+shouldfail swaks -s localhost -tlso -f root@localhost \
+ -t postmaster@localhost \
+ --h-From 'From: Invalid Syntax <root@localhost'
+shouldfail swaks -s localhost -tlso -f root@localhost \
+ -t postmaster@localhost \
+ --body `dirname $0`/long-header.msg
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..44826e7
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,6 @@
+Tests: basic
+Depends:
+ exim4,
+ libnet-ssleay-perl,
+ swaks,
+Restrictions: allow-stderr, isolation-container
diff --git a/debian/tests/long-header.msg b/debian/tests/long-header.msg
new file mode 100644
index 0000000..4df8d8d
--- /dev/null
+++ b/debian/tests/long-header.msg
@@ -0,0 +1,6 @@
+To: postmaster@localhost
+From: root@localhost
+Subject: Fail long line
+X-Ultralong-Line: 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
+
+Body