r26604: Don't depend on Python just yet, since the code that uses it is ifdeffed...
[ira/wip.git] / source / torture / config.mk
index c7e8e2cc4828e5d542c303d98371f6f5e66fbcd1..dd0ca83f7d962e450ac78401a5d17b6a5de5d4a2 100644 (file)
@@ -1,9 +1,34 @@
 # TORTURE subsystem
+[LIBRARY::torture]
+DESCRIPTION = Samba torture (test) suite
+SO_VERSION = 0
+VERSION = 0.0.1
+PUBLIC_HEADERS = torture.h ui.h
+PUBLIC_PROTO_HEADER = proto.h
+OBJ_FILES = \
+               torture.o \
+               ui.o
+PUBLIC_DEPENDENCIES = \
+               LIBSAMBA-CONFIG \
+               LIBSAMBA-UTIL \
+               LIBTALLOC 
+
+[SUBSYSTEM::TORTURE_UTIL]
+OBJ_FILES = util.o util_smb.o
+PRIVATE_DEPENDENCIES = LIBCLI_RAW
+PUBLIC_PROTO_HEADER = util.h
+PUBLIC_DEPENDENCIES = POPT_CREDENTIALS
 
 #################################
 # Start SUBSYSTEM TORTURE_BASIC
-[SUBSYSTEM::TORTURE_BASIC]
+[MODULE::TORTURE_BASIC]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_base_init
+PRIVATE_PROTO_HEADER = \
+               basic/proto.h
 OBJ_FILES = \
+               basic/base.o \
+               basic/misc.o \
                basic/scanner.o \
                basic/utable.o \
                basic/charset.o \
@@ -20,14 +45,20 @@ OBJ_FILES = \
                basic/delaywrite.o \
                basic/attr.o \
                basic/properties.o 
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB 
+PRIVATE_DEPENDENCIES = \
+               LIBCLI_SMB POPT_CREDENTIALS \
+               TORTURE_UTIL LIBCLI_RAW \
+               TORTURE_RAW
 # End SUBSYSTEM TORTURE_BASIC
 #################################
 
 #################################
 # Start SUBSYSTEM TORTURE_RAW
-[SUBSYSTEM::TORTURE_RAW]
+[MODULE::TORTURE_RAW]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_raw_init
+PRIVATE_PROTO_HEADER = \
+               raw/proto.h
 OBJ_FILES = \
                raw/qfsinfo.o \
                raw/qfileinfo.o \
@@ -46,46 +77,63 @@ OBJ_FILES = \
                raw/context.o \
                raw/write.o \
                raw/lock.o \
+               raw/pingpong.o \
+               raw/lockbench.o \
+               raw/openbench.o \
                raw/rename.o \
                raw/eas.o \
                raw/streams.o \
                raw/acls.o \
                raw/seek.o \
-               raw/composite.o
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB LIBCLI_LSA
+               raw/samba3hide.o \
+               raw/samba3misc.o \
+               raw/composite.o \
+               raw/raw.o
+PRIVATE_DEPENDENCIES = \
+               LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE \
+               POPT_CREDENTIALS TORTURE_UTIL
 # End SUBSYSTEM TORTURE_RAW
 #################################
 
 include smb2/config.mk
+include winbind/config.mk
 
-#################################
-# Start SUBSYSTEM TORTURE_COM
-[SUBSYSTEM::TORTURE_COM]
-OBJ_FILES = \
-               com/simple.o
-REQUIRED_SUBSYSTEMS = \
-               COM DCOM
-# End SUBSYSTEM TORTURE_COM
-#################################
+[SUBSYSTEM::TORTURE_NDR]
+PRIVATE_PROTO_HEADER = ndr/proto.h
+OBJ_FILES = ndr/ndr.o \
+                       ndr/winreg.o \
+                       ndr/atsvc.o \
+                       ndr/lsa.o \
+                       ndr/epmap.o \
+                       ndr/dfs.o \
+                       ndr/netlogon.o \
+                       ndr/drsuapi.o \
+                       ndr/spoolss.o \
+                       ndr/samr.o
 
-#################################
-# Start SUBSYSTEM TORTURE_RPC
-[SUBSYSTEM::TORTURE_RPC]
+[MODULE::torture_rpc]
+# TORTURE_NET and TORTURE_NBT use functions from torture_rpc...
+#OUTPUT_TYPE = INTEGRATED
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_rpc_init
+PRIVATE_PROTO_HEADER = \
+               rpc/proto.h
 OBJ_FILES = \
                rpc/join.o \
                rpc/lsa.o \
                rpc/lsa_lookup.o \
                rpc/session_key.o \
                rpc/echo.o \
-               rpc/dcom.o \
                rpc/dfs.o \
                rpc/drsuapi.o \
                rpc/drsuapi_cracknames.o \
                rpc/dssync.o \
                rpc/spoolss.o \
+               rpc/spoolss_notify.o \
+               rpc/spoolss_win.o \
                rpc/unixinfo.o \
                rpc/samr.o \
+               rpc/samr_accessmask.o \
                rpc/wkssvc.o \
                rpc/srvsvc.o \
                rpc/svcctl.o \
@@ -105,69 +153,110 @@ OBJ_FILES = \
                rpc/netlogon.o \
                rpc/samlogon.o \
                rpc/samsync.o \
-               rpc/rot.o \
                rpc/bind.o \
                rpc/dssetup.o \
                rpc/alter_context.o \
-               rpc/bench.o
-REQUIRED_SUBSYSTEMS = \
-               NDR_ALL RPC_NDR_UNIXINFO RPC_NDR_SAMR RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN \
+               rpc/bench.o \
+               rpc/samba3rpc.o \
+               rpc/rpc.o \
+               rpc/async_bind.o \
+               rpc/handles.o \
+               rpc/frsapi.o
+PRIVATE_DEPENDENCIES = \
+               NDR_TABLE RPC_NDR_UNIXINFO dcerpc_samr RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN \
                RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL \
-               RPC_NDR_MGMT RPC_NDR_NETLOGON RPC_NDR_ATSVC RPC_NDR_DRSUAPI \
-               RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_SPOOLSS \
+               RPC_NDR_NETLOGON dcerpc_atsvc dcerpc_mgmt RPC_NDR_DRSUAPI \
+               RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_FRSAPI RPC_NDR_SPOOLSS \
                RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP \
-               RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER WB_HELPER 
-# End SUBSYSTEM TORTURE_RPC
-#################################
+               RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER WB_HELPER LIBSAMBA-NET \
+               LIBCLI_AUTH POPT_CREDENTIALS TORTURE_LDAP TORTURE_UTIL TORTURE_RAP \
+               dcerpc_server service process_model
 
 #################################
 # Start SUBSYSTEM TORTURE_RAP
-[SUBSYSTEM::TORTURE_RAP]
+[MODULE::TORTURE_RAP]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_rap_init
+PRIVATE_PROTO_HEADER = \
+               rap/proto.h
 OBJ_FILES = \
                rap/rap.o
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB
+PRIVATE_DEPENDENCIES = TORTURE_UTIL LIBCLI_SMB
 # End SUBSYSTEM TORTURE_RAP
 #################################
 
 #################################
 # Start SUBSYSTEM TORTURE_AUTH
-[SUBSYSTEM::TORTURE_AUTH]
+[MODULE::TORTURE_AUTH]
+SUBSYSTEM = torture
+PRIVATE_PROTO_HEADER = \
+               auth/proto.h
 OBJ_FILES = \
                auth/ntlmssp.o \
                auth/pac.o
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB GENSEC AUTH
+PRIVATE_DEPENDENCIES = \
+               LIBCLI_SMB gensec auth LIBSAMBA3 KERBEROS \
+               POPT_CREDENTIALS
 # End SUBSYSTEM TORTURE_AUTH
 #################################
 
 include local/config.mk
 
 #################################
-# Start SUBSYSTEM TORTURE_NBENCH
-[SUBSYSTEM::TORTURE_NBENCH]
+# Start MODULE TORTURE_NBENCH
+[MODULE::TORTURE_NBENCH]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_nbench_init
+PRIVATE_DEPENDENCIES = TORTURE_UTIL 
+PRIVATE_PROTO_HEADER = \
+               nbench/proto.h
 OBJ_FILES = \
                nbench/nbio.o \
                nbench/nbench.o
-# End SUBSYSTEM TORTURE_NBENCH
+# End MODULE TORTURE_NBENCH
+#################################
+
+#################################
+# Start MODULE TORTURE_UNIX
+[MODULE::TORTURE_UNIX]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_unix_init
+PRIVATE_DEPENDENCIES = TORTURE_UTIL 
+PRIVATE_PROTO_HEADER = \
+               unix/proto.h
+OBJ_FILES = \
+               unix/unix.o \
+               unix/whoami.o \
+               unix/unix_info2.o
+# End MODULE TORTURE_UNIX
 #################################
 
 #################################
 # Start SUBSYSTEM TORTURE_LDAP
-[SUBSYSTEM::TORTURE_LDAP]
+[MODULE::TORTURE_LDAP]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_ldap_init
+PRIVATE_PROTO_HEADER = \
+               ldap/proto.h
 OBJ_FILES = \
                ldap/common.o \
                ldap/basic.o \
+               ldap/schema.o \
+               ldap/uptodatevector.o \
                ldap/cldap.o \
                ldap/cldapbench.o
-REQUIRED_SUBSYSTEMS = \
-               LIBCLI_LDAP LIBCLI_CLDAP
+PRIVATE_DEPENDENCIES = \
+               LIBCLI_LDAP LIBCLI_CLDAP SAMDB POPT_CREDENTIALS
 # End SUBSYSTEM TORTURE_LDAP
 #################################
 
 #################################
 # Start SUBSYSTEM TORTURE_NBT
-[SUBSYSTEM::TORTURE_NBT]
+[MODULE::TORTURE_NBT]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_nbt_init
+PRIVATE_PROTO_HEADER = \
+               nbt/proto.h
 OBJ_FILES = \
                nbt/query.o \
                nbt/register.o \
@@ -175,25 +264,39 @@ OBJ_FILES = \
                nbt/winsbench.o \
                nbt/winsreplication.o \
                nbt/dgram.o \
-               nbt/browse.o
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB LIBCLI_NBT LIBCLI_WREPL
+               nbt/nbt.o
+PRIVATE_DEPENDENCIES = \
+               LIBCLI_SMB LIBCLI_NBT LIBCLI_DGRAM LIBCLI_WREPL torture_rpc
 # End SUBSYSTEM TORTURE_NBT
 #################################
 
 #################################
 # Start SUBSYSTEM TORTURE_NET
-[SUBSYSTEM::TORTURE_NET]
+[MODULE::TORTURE_NET]
+SUBSYSTEM = torture
+INIT_FUNCTION = torture_net_init
+PRIVATE_PROTO_HEADER = \
+               libnet/proto.h
 OBJ_FILES = \
+               libnet/libnet.o \
+               libnet/utils.o \
                libnet/userinfo.o \
                libnet/userman.o \
+               libnet/groupinfo.o \
+               libnet/groupman.o \
                libnet/domain.o \
                libnet/libnet_lookup.o \
                libnet/libnet_user.o \
+               libnet/libnet_group.o \
                libnet/libnet_share.o \
-               libnet/libnet_rpc.o
-REQUIRED_SUBSYSTEMS = \
-               NDR_ALL RPC_NDR_SAMR LIBNET
+               libnet/libnet_rpc.o \
+               libnet/libnet_domain.o \
+               libnet/libnet_BecomeDC.o
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-NET \
+               smbcalls \
+               POPT_CREDENTIALS \
+               torture_rpc
 # End SUBSYSTEM TORTURE_NET
 #################################
 
@@ -201,28 +304,16 @@ REQUIRED_SUBSYSTEMS = \
 # Start BINARY smbtorture
 [BINARY::smbtorture]
 INSTALLDIR = BINDIR
-PRIVATE_PROTO_HEADER = torture.h
 OBJ_FILES = \
-               torture.o \
-               torture_util.o
-REQUIRED_SUBSYSTEMS = \
-               TORTURE_BASIC \
-               TORTURE_RAW \
-               TORTURE_SMB2 \
-               TORTURE_RPC \
-               TORTURE_RAP \
-               TORTURE_AUTH \
-               TORTURE_LOCAL \
-               TORTURE_NBENCH \
-               TORTURE_LDAP \
-               TORTURE_COM \
-               TORTURE_NBT \
-               TORTURE_NET \
-               CONFIG \
-               LIBBASIC \
+               smbtorture.o
+PRIVATE_DEPENDENCIES = \
+               torture \
                LIBPOPT \
                POPT_SAMBA \
-               POPT_CREDENTIALS
+               POPT_CREDENTIALS \
+               dcerpc \
+               LIBCLI_SMB \
+               SMBREADLINE
 MANPAGE = man/smbtorture.1
 # End BINARY smbtorture
 #################################
@@ -232,12 +323,15 @@ MANPAGE = man/smbtorture.1
 [BINARY::gentest]
 INSTALLDIR = BINDIR
 OBJ_FILES = \
-               gentest.o \
-               torture_util.o
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB \
-               CONFIG \
-               LIBBASIC
+               gentest.o
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-CONFIG \
+               LIBSAMBA-UTIL \
+               LIBPOPT \
+               POPT_SAMBA \
+               POPT_CREDENTIALS \
+               LIBCLI_SMB \
+               LIBCLI_RAW
 MANPAGE = man/gentest.1
 # End BINARY gentest
 #################################
@@ -248,10 +342,13 @@ MANPAGE = man/gentest.1
 INSTALLDIR = BINDIR
 OBJ_FILES = \
                masktest.o
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB \
-               CONFIG \
-               LIBBASIC
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-CONFIG \
+               LIBSAMBA-UTIL \
+               LIBPOPT \
+               POPT_SAMBA \
+               POPT_CREDENTIALS \
+               LIBCLI_SMB
 MANPAGE = man/masktest.1
 # End BINARY masktest
 #################################
@@ -261,24 +358,46 @@ MANPAGE = man/masktest.1
 [BINARY::locktest]
 INSTALLDIR = BINDIR
 OBJ_FILES = \
-               locktest.o \
-               torture_util.o
-REQUIRED_SUBSYSTEMS = \
-               LIBSMB \
-               CONFIG \
-               LIBBASIC
+               locktest.o
+PRIVATE_DEPENDENCIES = \
+               LIBSAMBA-UTIL \
+               LIBCLI_SMB \
+               LIBSAMBA-CONFIG
 MANPAGE = man/locktest.1
 # End BINARY locktest
 #################################
 
-GCOV_FLAGS = -ftest-coverage -fprofile-arcs
-GCOV_LIBS = -lgcov
+GCOV_CFLAGS = -ftest-coverage -fprofile-arcs
+GCOV_LDFLAGS = $(GCOV_CFLAGS) -lgcov
 
-gcov: 
-       @$(MAKE) test \
-               CFLAGS="$(CFLAGS) $(GCOV_FLAGS)" \
-               LD_FLAGS="$(LD_FLAGS) $(GCOV_FLAGS)" \
-               LIBS="$(LIBS) $(GCOV_LIBS)"
+COV_TARGET = test
+
+COV_VARS = \
+       CFLAGS="$(CFLAGS) $(GCOV_CFLAGS)" \
+       BNLD_FLAGS="$(BNLD_FLAGS) $(GCOV_LDFLAGS)" \
+       SHLD_FLAGS="$(SHLD_FLAGS) $(GCOV_LDFLAGS)" \
+       MDLD_FLAGS="$(MDLD_FLAGS) $(GCOV_LDFLAGS)" \
+       HOSTCC_FLAGS="$(HOSTCC_FLAGS) $(GCOV_CFLAGS)" \
+       HOSTLD_FLAGS="$(HOSTLD_FLAGS) $(GCOV_LDFLAGS)"
+
+test_cov:
+       @$(MAKE) $(COV_TARGET) $(COV_VARS)
+
+gcov: test_cov
        for I in $(sort $(dir $(ALL_OBJS))); \
                do $(GCOV) -p -o $$I $$I/*.c; \
        done
+
+lcov-split: 
+       rm -f samba.info
+       @$(MAKE) $(COV_TARGET) $(COV_VARS) \
+               TEST_OPTIONS="--analyse-cmd=\"lcov --base-directory `pwd` --directory . --capture --output-file samba.info -t\""
+       -rm heimdal/lib/*/{lex,parse}.{gcda,gcno}
+       genhtml -o coverage samba.info
+
+lcov: test_cov
+       -rm heimdal/lib/*/{lex,parse}.{gcda,gcno}
+       lcov --base-directory `pwd` --directory . --capture --output-file samba.info
+       genhtml -o coverage samba.info
+
+testcov-html:: lcov