s4-smbtorture: Added a torture test for forest trusts
[amitay/samba.git] / source4 / torture / config.mk
1 [SUBSYSTEM::TORTURE_UTIL]
2 PRIVATE_DEPENDENCIES = LIBCLI_RAW
3 PUBLIC_DEPENDENCIES = torture POPT_CREDENTIALS
4
5 TORTURE_UTIL_OBJ_FILES = $(addprefix $(torturesrcdir)/, util_smb.o)
6
7 #################################
8 # Start SUBSYSTEM TORTURE_BASIC
9 [MODULE::TORTURE_BASIC]
10 SUBSYSTEM = smbtorture
11 INIT_FUNCTION = torture_base_init
12 OUTPUT_TYPE = MERGED_OBJ
13 PRIVATE_DEPENDENCIES = \
14                 LIBCLI_SMB POPT_CREDENTIALS \
15                 TORTURE_UTIL LIBCLI_RAW \
16                 TORTURE_RAW
17 # End SUBSYSTEM TORTURE_BASIC
18 #################################
19
20 TORTURE_BASIC_OBJ_FILES = $(addprefix $(torturesrcdir)/basic/,  \
21                 base.o \
22                 misc.o \
23                 scanner.o \
24                 utable.o \
25                 charset.o \
26                 mangle_test.o \
27                 denytest.o \
28                 aliases.o \
29                 locking.o \
30                 secleak.o \
31                 rename.o \
32                 dir.o \
33                 delete.o \
34                 unlink.o \
35                 disconnect.o \
36                 delaywrite.o \
37                 attr.o \
38                 properties.o)
39
40 $(eval $(call proto_header_template,$(torturesrcdir)/basic/proto.h,$(TORTURE_BASIC_OBJ_FILES:.o=.c)))
41
42 #################################
43 # Start SUBSYSTEM TORTURE_RAW
44 [MODULE::TORTURE_RAW]
45 OUTPUT_TYPE = MERGED_OBJ
46 SUBSYSTEM = smbtorture
47 INIT_FUNCTION = torture_raw_init
48 PRIVATE_DEPENDENCIES = \
49                 LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE \
50                 POPT_CREDENTIALS TORTURE_UTIL
51 # End SUBSYSTEM TORTURE_RAW
52 #################################
53
54 TORTURE_RAW_OBJ_FILES = $(addprefix $(torturesrcdir)/raw/, \
55                 qfsinfo.o \
56                 qfileinfo.o \
57                 setfileinfo.o \
58                 search.o \
59                 close.o \
60                 open.o \
61                 mkdir.o \
62                 oplock.o \
63                 notify.o \
64                 mux.o \
65                 ioctl.o \
66                 chkpath.o \
67                 unlink.o \
68                 read.o \
69                 context.o \
70                 write.o \
71                 lock.o \
72                 pingpong.o \
73                 lockbench.o \
74                 lookuprate.o \
75                 tconrate.o \
76                 openbench.o \
77                 rename.o \
78                 eas.o \
79                 streams.o \
80                 acls.o \
81                 seek.o \
82                 samba3hide.o \
83                 samba3misc.o \
84                 composite.o \
85                 raw.o \
86                 offline.o)
87
88 $(eval $(call proto_header_template,$(torturesrcdir)/raw/proto.h,$(TORTURE_RAW_OBJ_FILES:.o=.c)))
89
90 mkinclude smb2/config.mk
91 mkinclude winbind/config.mk
92 mkinclude libnetapi/config.mk
93 mkinclude libsmbclient/config.mk
94
95 [SUBSYSTEM::TORTURE_NDR]
96 PRIVATE_DEPENDENCIES = torture SERVICE_SMB
97
98 TORTURE_NDR_OBJ_FILES = $(addprefix $(torturesrcdir)/ndr/, ndr.o winreg.o atsvc.o lsa.o epmap.o dfs.o netlogon.o drsuapi.o spoolss.o samr.o dfsblob.o drsblobs.o)
99
100 $(eval $(call proto_header_template,$(torturesrcdir)/ndr/proto.h,$(TORTURE_NDR_OBJ_FILES:.o=.c)))
101
102 [SUBSYSTEM::TORTURE_DFS]
103 PRIVATE_DEPENDENCIES = torture LIBCLI_SMB NDR_DFSBLOBS TORTURE_UTIL
104
105 TORTURE_DFS_OBJ_FILES = $(addprefix $(torturesrcdir)/dfs/, common.o domaindfs.o)
106
107 $(eval $(call proto_header_template,$(torturesrcdir)/dfs/proto.h,$(TORTURE_DFS_OBJ_FILES:.o=.c)))
108
109 [MODULE::torture_rpc]
110 OUTPUT_TYPE = MERGED_OBJ
111 # TORTURE_NET and TORTURE_NBT use functions from torture_rpc...
112 #OUTPUT_TYPE = MERGED_OBJ
113 SUBSYSTEM = smbtorture
114 INIT_FUNCTION = torture_rpc_init
115 PRIVATE_DEPENDENCIES = \
116                 NDR_TABLE RPC_NDR_UNIXINFO dcerpc_samr RPC_NDR_WINREG RPC_NDR_INITSHUTDOWN \
117                 RPC_NDR_OXIDRESOLVER RPC_NDR_EVENTLOG RPC_NDR_ECHO RPC_NDR_SVCCTL \
118                 RPC_NDR_NETLOGON dcerpc_atsvc dcerpc_mgmt RPC_NDR_DRSUAPI \
119                 RPC_NDR_LSA RPC_NDR_EPMAPPER RPC_NDR_DFS RPC_NDR_FRSAPI RPC_NDR_SPOOLSS \
120                 RPC_NDR_SRVSVC RPC_NDR_WKSSVC RPC_NDR_ROT RPC_NDR_DSSETUP \
121                 RPC_NDR_REMACT RPC_NDR_OXIDRESOLVER RPC_NDR_NTSVCS WB_HELPER LIBSAMBA-NET \
122                 LIBCLI_AUTH POPT_CREDENTIALS TORTURE_LDAP TORTURE_UTIL TORTURE_RAP TORTURE_DFS \
123                 dcerpc_server service process_model ntvfs SERVICE_SMB RPC_NDR_BROWSER LIBCLI_DRSUAPI TORTURE_LDB_MODULE
124
125 torture_rpc_OBJ_FILES = $(addprefix $(torturesrcdir)/rpc/, \
126                 join.o lsa.o forest_trust.o lsa_lookup.o session_key.o echo.o dfs.o drsuapi.o \
127                 drsuapi_cracknames.o dssync.o dsgetinfo.o spoolss.o spoolss_notify.o spoolss_win.o spoolss_access.o \
128                 unixinfo.o samr.o samr_accessmask.o wkssvc.o srvsvc.o svcctl.o atsvc.o \
129                 eventlog.o epmapper.o winreg.o initshutdown.o oxidresolve.o remact.o mgmt.o \
130                 scanner.o autoidl.o countcalls.o testjoin.o schannel.o netlogon.o remote_pac.o samlogon.o \
131                 samsync.o multi_bind.o dssetup.o alter_context.o bench.o samba3rpc.o rpc.o async_bind.o \
132                 handles.o frsapi.o object_uuid.o ntsvcs.o browser.o bind.o)
133
134 $(eval $(call proto_header_template,$(torturesrcdir)/rpc/proto.h,$(torture_rpc_OBJ_FILES:.o=.c)))
135
136 #################################
137 # RPC/Local DRSUAPI tests
138 mkinclude drs/config.mk
139
140 #################################
141 # Start SUBSYSTEM TORTURE_RAP
142 [MODULE::TORTURE_RAP]
143 OUTPUT_TYPE = MERGED_OBJ
144 SUBSYSTEM = smbtorture
145 INIT_FUNCTION = torture_rap_init
146 PRIVATE_DEPENDENCIES = TORTURE_UTIL LIBCLI_SMB NDR_RAP
147 # End SUBSYSTEM TORTURE_RAP
148 #################################
149
150 TORTURE_RAP_OBJ_FILES = $(torturesrcdir)/rap/rap.o $(torturesrcdir)/rap/rpc.o $(torturesrcdir)/rap/printing.o $(torturesrcdir)/rap/sam.o
151
152 $(eval $(call proto_header_template,$(torturesrcdir)/rap/proto.h,$(TORTURE_RAP_OBJ_FILES:.o=.c)))
153
154 #################################
155 # Start SUBSYSTEM TORTURE_AUTH
156 [MODULE::TORTURE_AUTH]
157 OUTPUT_TYPE = MERGED_OBJ
158 SUBSYSTEM = smbtorture
159 PRIVATE_DEPENDENCIES = \
160                 LIBCLI_SMB gensec auth KERBEROS \
161                 POPT_CREDENTIALS SMBPASSWD torture
162 # End SUBSYSTEM TORTURE_AUTH
163 #################################
164
165 TORTURE_AUTH_OBJ_FILES = $(addprefix $(torturesrcdir)/auth/, ntlmssp.o pac.o)
166
167 $(eval $(call proto_header_template,$(torturesrcdir)/auth/proto.h,$(TORTURE_AUTH_OBJ_FILES:.o=.c)))
168
169 mkinclude local/config.mk
170
171 #################################
172 # Start MODULE TORTURE_NBENCH
173 [MODULE::TORTURE_NBENCH]
174 OUTPUT_TYPE = MERGED_OBJ
175 SUBSYSTEM = smbtorture
176 INIT_FUNCTION = torture_nbench_init
177 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
178 # End MODULE TORTURE_NBENCH
179 #################################
180
181 TORTURE_NBENCH_OBJ_FILES = $(addprefix $(torturesrcdir)/nbench/, nbio.o nbench.o)
182
183 $(eval $(call proto_header_template,$(torturesrcdir)/nbench/proto.h,$(TORTURE_NBENCH_OBJ_FILES:.o=.c)))
184
185 #################################
186 # Start MODULE TORTURE_UNIX
187 [MODULE::TORTURE_UNIX]
188 SUBSYSTEM = smbtorture
189 OUTPUT_TYPE = MERGED_OBJ
190 INIT_FUNCTION = torture_unix_init
191 PRIVATE_DEPENDENCIES = TORTURE_UTIL 
192 # End MODULE TORTURE_UNIX
193 #################################
194
195 TORTURE_UNIX_OBJ_FILES = $(addprefix $(torturesrcdir)/unix/, unix.o whoami.o unix_info2.o)
196
197 $(eval $(call proto_header_template,$(torturesrcdir)/unix/proto.h,$(TORTURE_UNIX_OBJ_FILES:.o=.c)))
198
199 #################################
200 # Start SUBSYSTEM TORTURE_LDAP
201 [MODULE::TORTURE_LDAP]
202 SUBSYSTEM = smbtorture
203 OUTPUT_TYPE = MERGED_OBJ
204 INIT_FUNCTION = torture_ldap_init
205 PRIVATE_DEPENDENCIES = \
206                 LIBCLI_LDAP LIBCLI_CLDAP SAMDB POPT_CREDENTIALS torture LDB_WRAP
207 # End SUBSYSTEM TORTURE_LDAP
208 #################################
209
210 TORTURE_LDAP_OBJ_FILES = $(addprefix $(torturesrcdir)/ldap/, common.o basic.o schema.o uptodatevector.o \
211         cldap.o cldapbench.o ldap_sort.o nested_search.o)
212
213 $(eval $(call proto_header_template,$(torturesrcdir)/ldap/proto.h,$(TORTURE_LDAP_OBJ_FILES:.o=.c)))
214
215 #################################
216 # Start SUBSYSTEM TORTURE_NBT
217 [MODULE::TORTURE_NBT]
218 SUBSYSTEM = smbtorture
219 OUTPUT_TYPE = MERGED_OBJ
220 INIT_FUNCTION = torture_nbt_init
221 PRIVATE_DEPENDENCIES = \
222                 LIBCLI_SMB LIBCLI_NBT LIBCLI_DGRAM LIBCLI_WREPL torture_rpc
223 # End SUBSYSTEM TORTURE_NBT
224 #################################
225
226 TORTURE_NBT_OBJ_FILES = $(addprefix $(torturesrcdir)/nbt/, query.o register.o \
227         wins.o winsbench.o winsreplication.o dgram.o nbt.o)
228
229 $(eval $(call proto_header_template,$(torturesrcdir)/nbt/proto.h,$(TORTURE_NBT_OBJ_FILES:.o=.c)))
230
231 #################################
232 # Start SUBSYSTEM TORTURE_NET
233 [MODULE::TORTURE_NET]
234 SUBSYSTEM = smbtorture
235 OUTPUT_TYPE = MERGED_OBJ
236 INIT_FUNCTION = torture_net_init
237 PRIVATE_DEPENDENCIES = \
238                 LIBSAMBA-NET \
239                 POPT_CREDENTIALS \
240                 torture_rpc \
241                 PROVISION
242 # End SUBSYSTEM TORTURE_NET
243 #################################
244
245 TORTURE_NET_OBJ_FILES = $(addprefix $(torturesrcdir)/libnet/, libnet.o \
246                                            utils.o userinfo.o userman.o groupinfo.o groupman.o \
247                                            domain.o libnet_lookup.o libnet_user.o libnet_group.o \
248                                            libnet_share.o libnet_rpc.o libnet_domain.o libnet_BecomeDC.o)
249
250 $(eval $(call proto_header_template,$(torturesrcdir)/libnet/proto.h,$(TORTURE_NET_OBJ_FILES:.o=.c)))
251
252 #################################
253 # Start SUBSYSTEM TORTURE_NTP
254 [MODULE::TORTURE_NTP]
255 SUBSYSTEM = smbtorture
256 OUTPUT_TYPE = MERGED_OBJ
257 INIT_FUNCTION = torture_ntp_init
258 PRIVATE_DEPENDENCIES = \
259                 POPT_CREDENTIALS \
260                 torture_rpc 
261 # End SUBSYSTEM TORTURE_NTP
262 #################################
263
264 TORTURE_NTP_OBJ_FILES = $(addprefix $(torturesrcdir)/ntp/, ntp_signd.o)
265
266 $(eval $(call proto_header_template,$(torturesrcdir)/ntp/proto.h,$(TORTURE_NET_OBJ_FILES:.o=.c)))
267
268 #################################
269 # Start BINARY smbtorture
270 [BINARY::smbtorture]
271 INSTALLDIR = BINDIR
272 PRIVATE_DEPENDENCIES = \
273                 torture \
274                 LIBPOPT \
275                 POPT_SAMBA \
276                 POPT_CREDENTIALS \
277                 dcerpc \
278                 LIBCLI_SMB \
279                 SMBREADLINE
280 # End BINARY smbtorture
281 #################################
282
283 smbtorture_OBJ_FILES = \
284                 $(torturesrcdir)/smbtorture.o \
285                 $(torturesrcdir)/torture.o  \
286                 $(torturesrcdir)/shell.o
287
288 PUBLIC_HEADERS += $(torturesrcdir)/smbtorture.h
289 MANPAGES += $(torturesrcdir)/man/smbtorture.1
290
291 #################################
292 # Start BINARY gentest
293 [BINARY::gentest]
294 INSTALLDIR = BINDIR
295 PRIVATE_DEPENDENCIES = \
296                 LIBSAMBA-HOSTCONFIG \
297                 LIBSAMBA-UTIL \
298                 LIBPOPT \
299                 POPT_SAMBA \
300                 POPT_CREDENTIALS \
301                 LIBCLI_SMB \
302                 LIBCLI_RAW
303 # End BINARY gentest
304 #################################
305
306 gentest_OBJ_FILES = $(torturesrcdir)/gentest.o
307
308 MANPAGES += $(torturesrcdir)/man/gentest.1
309
310 #################################
311 # Start BINARY masktest
312 [BINARY::masktest]
313 INSTALLDIR = BINDIR
314 PRIVATE_DEPENDENCIES = \
315                 LIBSAMBA-HOSTCONFIG \
316                 LIBSAMBA-UTIL \
317                 LIBPOPT \
318                 POPT_SAMBA \
319                 POPT_CREDENTIALS \
320                 LIBCLI_SMB
321 # End BINARY masktest
322 #################################
323
324 masktest_OBJ_FILES = $(torturesrcdir)/masktest.o
325
326 MANPAGES += $(torturesrcdir)/man/masktest.1
327
328 #################################
329 # Start BINARY locktest
330 [BINARY::locktest]
331 INSTALLDIR = BINDIR
332 PRIVATE_DEPENDENCIES = \
333                 LIBPOPT \
334                 POPT_SAMBA \
335                 POPT_CREDENTIALS \
336                 LIBSAMBA-UTIL \
337                 LIBCLI_SMB \
338                 LIBSAMBA-HOSTCONFIG
339 # End BINARY locktest
340 #################################
341
342 locktest_OBJ_FILES = $(torturesrcdir)/locktest.o
343
344 MANPAGES += $(torturesrcdir)/man/locktest.1
345
346 GCOV=0
347
348 ifeq ($(MAKECMDGOALS),gcov)
349 GCOV=1
350 endif
351
352 ifeq ($(MAKECMDGOALS),lcov)
353 GCOV=1
354 endif
355
356 ifeq ($(MAKECMDGOALS),testcov-html)
357 GCOV=1
358 endif
359
360 ifeq ($(GCOV),1)
361 CFLAGS += --coverage
362 LDFLAGS += --coverage
363 endif
364
365 COV_TARGET = test
366
367 gcov: test
368         for I in $(sort $(dir $(ALL_OBJS))); \
369                 do $(GCOV) -p -o $$I $$I/*.c; \
370         done
371
372 samba4.info: test
373         -rm heimdal/lib/*/{lex,parse,sel-lex}.{gcda,gcno}
374         cd .. && lcov --base-directory `pwd`/source4 --directory source4 --directory nsswitch --directory libcli --directory librpc --directory lib --capture --output-file source4/samba4.info
375
376 lcov: samba4.info
377         genhtml -o coverage $<
378
379 testcov-html:: lcov
380
381 clean::
382         @rm -f samba.info