Add basic "make check" and "make installcheck" targets, using the
authorMartin Pool <mbp@samba.org>
Wed, 14 Nov 2001 01:23:59 +0000 (01:23 +0000)
committerMartin Pool <mbp@samba.org>
Wed, 14 Nov 2001 01:23:59 +0000 (01:23 +0000)
Satyr framework from the buildfarm.  This will eventually be copied
into the Samba source tree, but it is not yet.   See
cvs://samba.org:/data/cvs/satyr

Add "make showlayout" target to show where installation will put
things.
(This used to be commit 7b5b5693f4e374522a333e609b319b9c75bb4501)

source3/Makefile.in

index fd9e69096d0646847150abbd54080491c9e014b4..1576101b483ff90009759293209385b4c17abce8 100644 (file)
@@ -1,6 +1,7 @@
 ###########################################################################
 # Makefile.in for Samba - rewritten for autoconf support
 # Copyright Andrew Tridgell 1992-1998
+# Copyright (C) 2001 by Martin Pool <mbp@samba.org>
 ###########################################################################
 
 prefix=@prefix@
@@ -28,6 +29,10 @@ srcdir=@srcdir@
 builddir=@builddir@
 SHELL=/bin/sh
 
+# XXX: Perhaps this should be @SHELL@ instead -- apparently autoconf
+# will search for a POSIX-compliant shell, and that might not be
+# /bin/sh on some platforms.  I guess it's not a big problem -- mbp
+
 BASEDIR= @prefix@
 BINDIR = @bindir@
 # sbindir is mapped to bindir when compiling SAMBA in 2.0.x compatibility mode.
@@ -422,38 +427,38 @@ POPT_OBJS=popt/findme.o popt/popt.o popt/poptconfig.o \
 ######################################################################
 # now the rules...
 ######################################################################
-all : CHECK include/proto.h $(SPROGS) $(PROGS) $(SHLIBS) nsswitch
+all : SHOWFLAGS include/proto.h $(SPROGS) $(PROGS) $(SHLIBS) nsswitch
 
-pam_smbpass : CHECK bin/pam_smbpass.@SHLIBEXT@
+pam_smbpass : SHOWFLAGS bin/pam_smbpass.@SHLIBEXT@
 
-smbwrapper : CHECK bin/smbsh bin/smbwrapper.@SHLIBEXT@ @WRAP32@
+smbwrapper : SHOWFLAGS bin/smbsh bin/smbwrapper.@SHLIBEXT@ @WRAP32@
 
-torture : CHECK $(TORTURE_PROGS)
+torture : SHOWFLAGS $(TORTURE_PROGS)
 
-smbtorture : CHECK bin/smbtorture
+smbtorture : SHOWFLAGS bin/smbtorture
 
-masktest : CHECK bin/masktest
+masktest : SHOWFLAGS bin/masktest
 
-msgtest : CHECK bin/msgtest
+msgtest : SHOWFLAGS bin/msgtest
 
-locktest : CHECK bin/locktest
+locktest : SHOWFLAGS bin/locktest
 
-smbcacls : CHECK bin/smbcacls
+smbcacls : SHOWFLAGS bin/smbcacls
 
-locktest2 : CHECK bin/locktest2
+locktest2 : SHOWFLAGS bin/locktest2
 
-rpctorture : CHECK bin/rpctorture
+rpctorture : SHOWFLAGS bin/rpctorture
 
-debug2html : CHECK bin/debug2html
+debug2html : SHOWFLAGS bin/debug2html
 
-smbfilter : CHECK bin/smbfilter
+smbfilter : SHOWFLAGS bin/smbfilter
 
-nsswitch : CHECK @WINBIND_TARGETS@ @WINBIND_STARGETS@ @WINBIND_LTARGETS@
+nsswitch : SHOWFLAGS @WINBIND_TARGETS@ @WINBIND_STARGETS@ @WINBIND_LTARGETS@
 
 .SUFFIXES:
 .SUFFIXES: .c .o .po .po32 .lo
 
-CHECK:
+SHOWFLAGS:
        @echo "Using FLAGS = $(FLAGS)"
        @echo "Using FLAGS32 = $(FLAGS32)"
        @echo "Using LIBS = $(LIBS)"
@@ -708,6 +713,18 @@ revert:
 installman:
        @$(SHELL) $(srcdir)/script/installman.sh $(MANDIR) $(srcdir) $(man_langs) "@ROFF@"
 
+.PHONY: showlayout
+
+showlayout: 
+       @echo "Samba will be installed into:"
+       @echo "  basedir: $(BASEDIR)"
+       @echo "  bindir:  $(BINDIR)"
+       @echo "  sbindir: $(SBINDIR)"
+       @echo "  libdir:  $(LIBDIR)"
+       @echo "  vardir:  $(VARDIR)"
+       @echo "  mandir:  $(MANDIR)"
+
+
 uninstall: uninstallman uninstallbin uninstallscripts
 
 uninstallman:
@@ -791,3 +808,28 @@ config.status: $(srcdir)/configure
 Makefile: $(srcdir)/Makefile.in config.status
        @echo "WARNING: you need to run ./config.status"
 
+test_prefix=/tmp/test-samba
+# Run regression suite using the external "satyr" framework
+check:
+       -rm -rf $(test_prefix)/lib
+       mkdir $(test_prefix)/lib -p ./testdir 
+       PATH=$(builddir)/bin:$(PATH) \
+       SATYR_SUITEDIR=../testsuite/build_farm/ prefix=$(test_prefix) \
+       testdir=./testdir $(SHELL) satyr
+
+# Run regression suite on the installed version.
+
+# `installcheck'
+#      Perform installation tests (if any).  The user must build and
+#      install the program before running the tests.  You should not
+#      assume that `$(bindir)' is in the search path.
+
+installcheck:
+       mkdir -p $(BASEDIR)/lib
+       mkdir -p $(BASEDIR)/var
+       PATH=$(BINDIR):$(SBINDIR):$(PATH) \
+       SATYR_DISCOURAGE=1 \
+       SATYR_SUITEDIR=../testsuite/build_farm/ prefix=$(BASEDIR) \
+       LIBSMB_PROG=$(BINDIR)/smbd \
+       testdir=./testdir $(SHELL) satyr
+