From bbe15da854996fd270bd26ccb35418c08b4a46c5 Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Tue, 23 Jan 2007 11:01:09 +0000 Subject: [PATCH] Tidies to the test-suite infrastructure for compiling auxiliary programs. --- doc/doc-txt/ChangeLog | 8 ++++++- test/Makefile.in | 51 ++++++++++++++++++++++++------------------- test/README | 19 +++++++++++----- test/configure.ac | 13 +++++++++-- 4 files changed, 61 insertions(+), 30 deletions(-) diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 6db4096a7..16ca18252 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -1,4 +1,4 @@ -$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.457 2007/01/22 16:29:54 ph10 Exp $ +$Cambridge: exim/doc/doc-txt/ChangeLog,v 1.458 2007/01/23 11:01:09 ph10 Exp $ Change log file for Exim from version 4.21 ------------------------------------------- @@ -35,6 +35,12 @@ PH/05 After discussion on the list, added a compile time option ENABLE_DISABLE_ SC/01 Updated eximstats to collate all SpamAssassin rejects into one bucket. +PH/06 Some tidies to the infrastructure of the Test Suite that is concerned + with the auxiliary C programs that it uses: (1) Arrange for BIND_8_COMPAT + to be defined when compiling on OSX (Darwin); (2) Tidies to the Makefile, + including adding "make clean"; (3) Added -fPIC when compiling the test + dynamically loaded module, to get rid of a warning. + Exim version 4.66 ----------------- 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) -- 2.30.2