summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorPhilip Hazel <ph10@hermes.cam.ac.uk>2007-01-23 11:01:09 +0000
committerPhilip Hazel <ph10@hermes.cam.ac.uk>2007-01-23 11:01:09 +0000
commitbbe15da854996fd270bd26ccb35418c08b4a46c5 (patch)
tree95ce92db9160d5e494a4bd5e7b979fdfd86eb5f3 /test
parent54fc8428c5c4b3fa90347e5ca7d89c2d752a7032 (diff)
Tidies to the test-suite infrastructure for compiling auxiliary
programs.
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.in51
-rw-r--r--test/README19
-rw-r--r--test/configure.ac13
3 files changed, 54 insertions, 29 deletions
diff --git a/test/Makefile.in b/test/Makefile.in
index 58affa2ba..da72101d4 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -1,11 +1,11 @@
-# $Cambridge: exim/test/Makefile.in,v 1.1 2006/02/06 16:07:10 ph10 Exp $
+# $Cambridge: exim/test/Makefile.in,v 1.2 2007/01/23 11:01:10 ph10 Exp $
# This Makefile builds the support programs for the Exim test suite.
##############################################################################
# These variables are set by the configure script.
CC=@CC@
-CFLAGS=@CFLAGS@
+CFLAGS=@CFLAGS@ @BIND_8_COMPAT@
LDFLAGS=@LDFLAGS@
CLIENT_SSL=@CLIENT_SSL@
CLIENT_GNUTLS=@CLIENT_GNUTLS@
@@ -26,72 +26,79 @@ makebin:; @if [ ! -e bin ] ; then mkdir bin 2>/dev/null; echo ""; fi
# Compile and link the programs:
#
-# bin/client is the SMTP script-driven client, without TLS support
-# bin/client-ssl is with OpenSSL support
-# there isn't yet a version with GnuTLS support
-# bin/checkaccess tests whether the exim uid/gid can access the files
-# bin/iefbr14 a program that does nothing and returns 0
-# bin/loaded is a dynamically loaded test module
-# bin/server is the SMTP script-driven server (no TLS support)
-
-bin/cf: src/cf.c
+# bin/cf a "compare" program
+# bin/checkaccess tests whether the exim uid/gid can access the files
+# bin/client an SMTP script-driven client, without TLS support
+# bin/client-gnutls ditto, with GnuTLS support
+# bin/client-ssl ditto, with OpenSSL support
+# bin/fakens a fake namserver
+# bin/fd output details of open file descriptors
+# bin/iefbr14 a program that does nothing and returns 0
+# bin/loaded a dynamically loaded test module
+# bin/mtpscript an LMTP/SMTP "server" that works on stdin/stdout
+# bin/server an SMTP (socket) script-driven server (no TLS support)
+# bin/showids output current uid, gid, euid, egid
+
+bin/cf: src/cf.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o bin/cf src/cf.c
@echo ">>> bin/cf command build"
@echo " "
-bin/client: src/client.c
+bin/client: src/client.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o bin/client src/client.c
@echo ">>> bin/client command built"
@echo " "
-bin/client-gnutls: src/client.c
+bin/client-gnutls: src/client.c Makefile
$(CC) $(CFLAGS) -DHAVE_GNUTLS $(LDFLAGS) -lgnutls -lgcrypt -o bin/client-gnutls src/client.c
@echo ">>> bin/client-gnutls command built"
@echo " "
-bin/client-ssl: src/client.c
+bin/client-ssl: src/client.c Makefile
$(CC) $(CFLAGS) -DHAVE_OPENSSL $(LDFLAGS) -lssl -lcrypto -o bin/client-ssl src/client.c
@echo ">>> bin/client-ssl command built"
@echo " "
-bin/checkaccess:src/checkaccess.c
+bin/checkaccess:src/checkaccess.c Makefile
$(CC) $(CFLAGS) -DNO_TLS $(LDFLAGS) -o bin/checkaccess src/checkaccess.c
@echo ">>> bin/checkaccess command built"
@echo " "
-bin/fakens: src/fakens.c
+bin/fakens: src/fakens.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o bin/fakens src/fakens.c
@echo ">>> bin/fakens command built"
@echo " "
-bin/fd: src/fd.c
+bin/fd: src/fd.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o bin/fd src/fd.c
@echo ">>> bin/fd command built"
@echo " "
-bin/iefbr14: src/iefbr14.c
+bin/iefbr14: src/iefbr14.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o bin/iefbr14 src/iefbr14.c
@echo ">>> bin/iefbr14 command built"
@echo " "
-bin/loaded: src/loaded.c
+bin/loaded: src/loaded.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) $(LOADED_OPT) -o bin/loaded src/loaded.c
@echo ">>> bin/loaded command built"
@echo " "
-bin/mtpscript: src/mtpscript.c
+bin/mtpscript: src/mtpscript.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) $(mtpscript_OPT) -o bin/mtpscript src/mtpscript.c
@echo ">>> bin/mtpscript command built"
@echo " "
-bin/server: src/server.c
+bin/server: src/server.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o bin/server src/server.c
@echo ">>> bin/server command built"
@echo " "
-bin/showids: src/showids.c
+bin/showids: src/showids.c Makefile
$(CC) $(CFLAGS) $(LDFLAGS) -o bin/showids src/showids.c
@echo ">>> bin/showids command built"
@echo " "
+
+clean:; rm -rf bin/*
# End
diff --git a/test/README b/test/README
index 43d641375..e1f8048f7 100644
--- a/test/README
+++ b/test/README
@@ -1,12 +1,12 @@
-$Cambridge: exim/test/README,v 1.5 2006/10/31 11:37:47 ph10 Exp $
+$Cambridge: exim/test/README,v 1.6 2007/01/23 11:01:10 ph10 Exp $
EXPORTABLE EXIM TEST SUITE
--------------------------
This document last updated for:
-Test Suite Version: 4.64
-Date: 31 October 2006
+Test Suite Version: 4.67
+Date: 23 January 2007
BACKGROUND
@@ -436,7 +436,11 @@ bin/iefbr14 A program that does nothing, and returns 0. It's just like
bin/loaded Some dynamically loaded functions for testing dlfunc support.
-bin/server A script-driven SMTP server simulation.
+bin/mtpscript A script-driven SMTP/LMTP server simulation, on std{in,out}.
+
+bin/server A script-driven SMTP server simulation, over a socket.
+
+bin/showids Output the current uid, gid, euid, egid.
The runtest script also makes use of a number of ordinary commands such as
"cp", "kill", "more", and "rm", via the system() call. In some cases these are
@@ -951,7 +955,7 @@ are of the following kinds:
may start with '<', which is not taken as part of the input data. If the
input does not match, the server bombs out with an error message.
-Here is a simple server example:
+Here is a simple example of server use in a test script:
server PORT_S
220 Greetings
@@ -974,6 +978,11 @@ After a "server" command in a test script, the server runs in parallel until an
messages to port PORT_S on the local host. When it has finished, the test
script waits for the "server" process to finish.
+The "mtpscript" program is like "server", except that it uses stdin/stdout for
+its input and output instead of a script. However, it is not called from test
+scripts; instead it is used as the command for pipe transports in some
+configurations, to simulate non-socket LMTP servers.
+
AUXILIARY DATA FILES
--------------------
diff --git a/test/configure.ac b/test/configure.ac
index 8b318034d..6467a0da9 100644
--- a/test/configure.ac
+++ b/test/configure.ac
@@ -1,4 +1,4 @@
-dnl $Cambridge: exim/test/configure.ac,v 1.1 2006/02/06 16:07:10 ph10 Exp $
+dnl $Cambridge: exim/test/configure.ac,v 1.2 2007/01/23 11:01:10 ph10 Exp $
dnl Process this file with autoconf to produce a configure script.
@@ -33,7 +33,7 @@ host_os=`uname -s`
case $CC-$host_os in
gcc-*linux* | gcc-*Linux* | gcc-*LINUX* | gcc-FreeBSD)
LOADED=bin/loaded
- LOADED_OPT=-shared
+ LOADED_OPT="-shared -fPIC"
echo "Using gcc on $host_os: will compile dynamically loaded module"
;;
*)
@@ -42,8 +42,17 @@ case $CC-$host_os in
;;
esac
+dnl At least one operating system needs BIND_8_COMPAT to be defined.
+
+case $host_os in
+ Darwin)
+ BIND_8_COMPAT=-DBIND_8_COMPAT
+ ;;
+esac
+
dnl "Export" these variables
+AC_SUBST(BIND_8_COMPAT)
AC_SUBST(CLIENT_SSL)
AC_SUBST(CLIENT_GNUTLS)
AC_SUBST(LOADED)