s4-torture: add odj ndr testsuite
[gd/samba/.git] / source4 / torture / wscript_build
1 #!/usr/bin/env python
2
3 provision = bld.pyembed_libname('PROVISION')
4 samba_net = bld.pyembed_libname('samba-net')
5
6 bld.SAMBA_SUBSYSTEM('TORTURE_UTIL',
7         source='util_smb.c',
8         public_deps='torture',
9         deps='smbclient-raw CMDLINE_S4'
10         )
11
12
13 bld.SAMBA_MODULE('TORTURE_BASIC',
14         source='basic/base.c basic/misc.c basic/scanner.c basic/utable.c basic/charset.c basic/mangle_test.c basic/denytest.c basic/aliases.c basic/locking.c basic/secleak.c basic/rename.c basic/dir.c basic/delete.c basic/unlink.c basic/disconnect.c basic/delaywrite.c basic/attr.c basic/properties.c',
15         subsystem='smbtorture',
16         deps='LIBCLI_SMB TORTURE_UTIL smbclient-raw TORTURE_RAW',
17         internal_module=True,
18         autoproto='basic/proto.h',
19         init_function='torture_base_init',
20         enabled=bld.PYTHON_BUILD_IS_ENABLED()
21         )
22
23
24 bld.SAMBA_MODULE('TORTURE_RAW',
25         source='raw/qfsinfo.c raw/qfileinfo.c raw/setfileinfo.c raw/search.c raw/close.c raw/open.c raw/mkdir.c raw/oplock.c raw/notify.c raw/mux.c raw/ioctl.c raw/chkpath.c raw/unlink.c raw/read.c raw/context.c raw/session.c raw/write.c raw/lock.c raw/pingpong.c raw/lockbench.c raw/lookuprate.c raw/tconrate.c raw/openbench.c raw/rename.c raw/eas.c raw/streams.c raw/acls.c raw/seek.c raw/samba3hide.c raw/samba3misc.c raw/composite.c raw/raw.c raw/offline.c',
26         autoproto='raw/proto.h',
27         subsystem='smbtorture',
28         init_function='torture_raw_init',
29         deps='LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE TORTURE_UTIL',
30         internal_module=True,
31         enabled=bld.PYTHON_BUILD_IS_ENABLED()
32         )
33
34 bld.RECURSE('smb2')
35 bld.RECURSE('winbind')
36 bld.RECURSE('libnetapi')
37 bld.RECURSE('libsmbclient')
38 bld.RECURSE('gpo')
39
40 ntvfs_specific = dict(source='', deps='')
41
42 # Yes, the spoolss_notify test uses the NTVFS file server to run the SMB server expected
43 # to handle the RPC callback!
44 if bld.CONFIG_SET('WITH_NTVFS_FILESERVER'):
45         ntvfs_specific['source'] += ' rpc/spoolss_notify.c'
46         ntvfs_specific['deps'] += ' SMB_SERVER dcerpc_server ntvfs'
47
48 bld.SAMBA_SUBSYSTEM('TORTURE_NDR',
49         source='''ndr/ndr.c
50                   ndr/winreg.c
51                   ndr/atsvc.c
52                   ndr/lsa.c
53                   ndr/epmap.c
54                   ndr/dfs.c
55                   ndr/netlogon.c
56                   ndr/drsuapi.c
57                   ndr/spoolss.c
58                   ndr/ntprinting.c
59                   ndr/samr.c
60                   ndr/dfsblob.c
61                   ndr/drsblobs.c
62                   ndr/dnsp.c
63                   ndr/nbt.c
64                   ndr/ntlmssp.c
65                   ndr/string.c
66                   ndr/backupkey.c
67                   ndr/witness.c
68                   ndr/clusapi.c
69                   ndr/negoex.c
70                   ndr/krb5pac.c
71                   ndr/winspool.c
72                   ndr/cabinet.c
73                   ndr/charset.c
74                   ndr/svcctl.c
75                   ndr/odj.c
76                   ''',
77         autoproto='ndr/proto.h',
78         deps='torture krb5samba',
79         enabled=bld.PYTHON_BUILD_IS_ENABLED()
80         )
81
82 bld.SAMBA_SUBSYSTEM('IREMOTEWINSPOOL_COMMON',
83                     source='rpc/iremotewinspool_common.c',
84                     deps='talloc',
85                     enabled=bld.PYTHON_BUILD_IS_ENABLED())
86
87 bld.SAMBA_MODULE('torture_rpc',
88                  source='''
89                         rpc/join.c
90                         rpc/lsa.c
91                         rpc/forest_trust.c
92                         rpc/lsa_lookup.c
93                         rpc/session_key.c
94                         rpc/echo.c
95                         rpc/dfs.c
96                         rpc/drsuapi.c
97                         rpc/drsuapi_w2k8.c
98                         rpc/drsuapi_cracknames.c
99                         rpc/dsgetinfo.c
100                         rpc/spoolss.c
101                         rpc/spoolss_win.c
102                         rpc/spoolss_access.c
103                         rpc/unixinfo.c
104                         rpc/samr.c
105                         rpc/samr_accessmask.c
106                         rpc/samr_handletype.c
107                         rpc/samr_priv.c
108                         rpc/wkssvc.c
109                         rpc/srvsvc.c
110                         rpc/svcctl.c
111                         rpc/atsvc.c
112                         rpc/eventlog.c
113                         rpc/epmapper.c
114                         rpc/winreg.c
115                         rpc/initshutdown.c
116                         rpc/oxidresolve.c
117                         rpc/remact.c
118                         rpc/mgmt.c
119                         rpc/scanner.c
120                         rpc/countcalls.c
121                         rpc/testjoin.c
122                         rpc/schannel.c
123                         rpc/netlogon.c
124                         rpc/remote_pac.c
125                         rpc/samlogon.c
126                         rpc/samsync.c
127                         rpc/dssetup.c
128                         rpc/alter_context.c
129                         rpc/bench.c
130                         rpc/samba3rpc.c
131                         rpc/rpc.c
132                         rpc/async_bind.c
133                         rpc/handles.c
134                         rpc/frsapi.c
135                         rpc/object_uuid.c
136                         rpc/ntsvcs.c
137                         rpc/browser.c
138                         rpc/bind.c
139                         rpc/fsrvp.c
140                         rpc/clusapi.c
141                         rpc/witness.c
142                         rpc/iremotewinspool.c
143                         rpc/iremotewinspool_driver.c
144                         rpc/mdssvc.c
145                         rpc/backupkey.c''' + ntvfs_specific['source'],
146                  autoproto='rpc/proto.h',
147                  subsystem='smbtorture',
148                  init_function='torture_rpc_init',
149                  deps='''
150                       ndr-table
151                       RPC_NDR_UNIXINFO
152                       dcerpc-samr
153                       RPC_NDR_WINREG
154                       RPC_NDR_INITSHUTDOWN
155                       RPC_NDR_OXIDRESOLVER
156                       RPC_NDR_EVENTLOG
157                       RPC_NDR_ECHO
158                       RPC_NDR_SVCCTL
159                       RPC_NDR_NETLOGON
160                       RPC_NDR_ATSVC
161                       RPC_NDR_DRSUAPI
162                       RPC_NDR_LSA
163                       RPC_NDR_EPMAPPER
164                       RPC_NDR_DFS
165                       RPC_NDR_FRSAPI
166                       RPC_NDR_SPOOLSS
167                       RPC_NDR_SRVSVC
168                       RPC_NDR_WKSSVC
169                       RPC_NDR_DSSETUP
170                       RPC_NDR_REMACT
171                       RPC_NDR_OXIDRESOLVER
172                       RPC_NDR_NTSVCS
173                       %s
174                       LIBCLI_AUTH
175                       popt
176                       CMDLINE_S4
177                       TORTURE_LDAP
178                       TORTURE_UTIL
179                       TORTURE_RAP
180                       service
181                       process_model
182                       RPC_NDR_BROWSER
183                       LIBCLI_DRSUAPI
184                       TORTURE_DFS
185                       RPC_NDR_FSRVP
186                       RPC_NDR_CLUSAPI
187                       RPC_NDR_WITNESS
188                       RPC_NDR_BACKUPKEY
189                       RPC_NDR_WINSPOOL
190                       IREMOTEWINSPOOL_COMMON
191                       printer_driver
192                       RPC_NDR_MDSSVC
193                       mdssvc
194                       ''' % samba_net + ntvfs_specific['deps'],
195                  internal_module=True,
196                  enabled=bld.PYTHON_BUILD_IS_ENABLED())
197
198 bld.RECURSE('drs')
199 bld.RECURSE('dns')
200
201 bld.SAMBA_MODULE('TORTURE_RAP',
202         source='rap/rap.c rap/rpc.c rap/printing.c rap/sam.c',
203         autoproto='rap/proto.h',
204         subsystem='smbtorture',
205         init_function='torture_rap_init',
206         deps='TORTURE_UTIL LIBCLI_SMB NDR_RAP LIBCLI_RAP',
207         internal_module=True,
208         enabled=bld.PYTHON_BUILD_IS_ENABLED()
209         )
210
211 bld.SAMBA_MODULE('TORTURE_DFS',
212         source='dfs/domaindfs.c dfs/common.c',
213         autoproto='dfs/proto.h',
214         subsystem='smbtorture',
215         init_function='torture_dfs_init',
216         deps='TORTURE_UTIL LIBCLI_SMB',
217         internal_module=True
218         )
219
220
221 bld.SAMBA_MODULE('TORTURE_AUTH',
222         source='auth/ntlmssp.c auth/pac.c auth/smbencrypt.c',
223         autoproto='auth/proto.h',
224         subsystem='smbtorture',
225         deps='LIBCLI_SMB gensec auth4 authkrb5 smbpasswdparser torture com_err gensec_ntlmssp CMDLINE_S4',
226         internal_module=True
227         )
228
229 bld.RECURSE('local')
230 bld.RECURSE('krb5')
231
232 bld.SAMBA_MODULE('TORTURE_NBENCH',
233         source='nbench/nbio.c nbench/nbench.c',
234         autoproto='nbench/proto.h',
235         subsystem='smbtorture',
236         init_function='torture_nbench_init',
237         deps='TORTURE_UTIL',
238         internal_module=True
239         )
240
241
242 bld.SAMBA_MODULE('TORTURE_UNIX',
243         source='unix/unix.c unix/whoami.c unix/unix_info2.c',
244         autoproto='unix/proto.h',
245         subsystem='smbtorture',
246         init_function='torture_unix_init',
247         deps='TORTURE_UTIL',
248         internal_module=True
249         )
250
251
252 bld.SAMBA_MODULE('TORTURE_LDAP',
253         source='''
254             ldap/common.c
255             ldap/basic.c
256             ldap/schema.c
257             ldap/uptodatevector.c
258             ldap/cldap.c
259             ldap/netlogon.c
260             ldap/cldapbench.c
261             ldap/ldap_sort.c
262             ldap/nested_search.c
263             ldap/session_expiry.c
264             ''',
265         subsystem='smbtorture',
266         deps='cli-ldap cli_cldap samdb torture ldbsamba CMDLINE_S4',
267         internal_module=True,
268         autoproto='ldap/proto.h',
269         init_function='torture_ldap_init'
270         )
271
272
273 bld.SAMBA_MODULE('TORTURE_NBT',
274         source='nbt/query.c nbt/register.c nbt/wins.c nbt/winsbench.c nbt/winsreplication.c nbt/dgram.c nbt/nbt.c',
275         autoproto='nbt/proto.h',
276         subsystem='smbtorture',
277         init_function='torture_nbt_init',
278         deps='LIBCLI_SMB cli-nbt LIBCLI_DGRAM LIBCLI_WREPL torture_rpc',
279         internal_module=True,
280         enabled=bld.PYTHON_BUILD_IS_ENABLED()
281         )
282
283
284 bld.SAMBA_MODULE('TORTURE_NET',
285         source='libnet/libnet.c libnet/utils.c libnet/userinfo.c libnet/userman.c libnet/groupinfo.c libnet/groupman.c libnet/domain.c libnet/libnet_lookup.c libnet/libnet_user.c libnet/libnet_group.c libnet/libnet_share.c libnet/libnet_rpc.c libnet/libnet_domain.c libnet/libnet_BecomeDC.c',
286         autoproto='libnet/proto.h',
287         subsystem='smbtorture',
288         init_function='torture_net_init',
289         deps='%s torture_rpc %s' % (provision, samba_net),
290         internal_module=True,
291         enabled=bld.PYTHON_BUILD_IS_ENABLED()
292         )
293
294
295 bld.SAMBA_MODULE('TORTURE_NTP',
296         source='ntp/ntp_signd.c',
297         autoproto='ntp/proto.h',
298         subsystem='smbtorture',
299         init_function='torture_ntp_init',
300         deps='torture_rpc',
301         internal_module=True,
302         enabled=bld.PYTHON_BUILD_IS_ENABLED()
303         )
304
305 bld.SAMBA_MODULE('TORTURE_VFS',
306         source='vfs/vfs.c vfs/fruit.c vfs/acl_xattr.c',
307         subsystem='smbtorture',
308         deps='LIBCLI_SMB TORTURE_UTIL smbclient-raw TORTURE_RAW',
309         internal_module=True,
310         autoproto='vfs/proto.h',
311         init_function='torture_vfs_init'
312         )
313
314 TORTURE_MODULES = 'TORTURE_BASIC TORTURE_RAW torture_rpc TORTURE_RAP TORTURE_AUTH TORTURE_NBENCH TORTURE_UNIX TORTURE_LDAP TORTURE_NBT TORTURE_NET TORTURE_NTP torture_registry TORTURE_VFS'
315
316 bld.SAMBA_SUBSYSTEM('torturemain',
317                     source='smbtorture.c torture.c shell.c',
318                     subsystem_name='smbtorture',
319                     deps='torture dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
320                     enabled=bld.PYTHON_BUILD_IS_ENABLED()
321                     )
322
323 bld.SAMBA_BINARY('smbtorture',
324                  source=[],
325                  manpages='man/smbtorture.1',
326                  private_headers='smbtorture.h',
327                  deps='torturemain torture popt CMDLINE_S4 dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
328                  pyembed=True,
329                  enabled=bld.PYTHON_BUILD_IS_ENABLED()
330                  )
331
332 bld.SAMBA_BINARY('gentest',
333         source='gentest.c',
334         manpages='man/gentest.1',
335         deps='samba-hostconfig samba-util popt CMDLINE_S4 LIBCLI_SMB smbclient-raw param_options'
336         )
337
338
339 bld.SAMBA_BINARY('masktest',
340         source='masktest.c',
341         manpages='man/masktest.1',
342         deps='samba-hostconfig samba-util popt CMDLINE_S4 LIBCLI_SMB param_options'
343         )
344
345
346 bld.SAMBA_BINARY('locktest',
347         source='locktest.c',
348         # COV_TARGET='test',
349         #ldflags='--coverage',
350         #cflags='--coverage',
351         # GCOV='1',
352         manpages='man/locktest.1',
353         deps='popt CMDLINE_S4 samba-util LIBCLI_SMB samba-hostconfig param_options',
354         )
355
356 bld.SAMBA_MODULE('TORTURE_DSDB',
357         source="../../source4/dsdb/common/tests/dsdb.c",
358         autoproto='dsdb_proto.h',
359         subsystem='smbtorture',
360         init_function='torture_dsdb_init',
361         deps="TORTURE_UTIL samba-util",
362         internal_module=True,
363         enabled=bld.PYTHON_BUILD_IS_ENABLED()
364         )