torture: start of a mdssvc packet (un)marshalling testsuite
[Samba.git] / source4 / torture / wscript_build
blobcc9c26399a5b943193c7ceb1e2c4a68acad6e3d7
1 #!/usr/bin/env python
3 provision = bld.pyembed_libname('PROVISION')
4 samba_net = bld.pyembed_libname('samba-net')
6 bld.SAMBA_SUBSYSTEM('TORTURE_UTIL',
7 source='util_smb.c',
8 public_deps='torture popt POPT_CREDENTIALS',
9 deps='smbclient-raw'
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 popt POPT_CREDENTIALS 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()
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 popt POPT_CREDENTIALS TORTURE_UTIL',
30 internal_module=True,
31 enabled=bld.PYTHON_BUILD_IS_ENABLED()
34 bld.RECURSE('smb2')
35 bld.RECURSE('winbind')
36 bld.RECURSE('libnetapi')
37 bld.RECURSE('libsmbclient')
38 bld.RECURSE('gpo')
40 ntvfs_specific = dict(source='', deps='')
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'
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 ''',
75 autoproto='ndr/proto.h',
76 deps='torture krb5samba',
77 enabled=bld.PYTHON_BUILD_IS_ENABLED()
80 bld.SAMBA_SUBSYSTEM('IREMOTEWINSPOOL_COMMON',
81 source='rpc/iremotewinspool_common.c',
82 deps='talloc',
83 enabled=bld.PYTHON_BUILD_IS_ENABLED())
85 torture_rpc_backupkey = ''
86 if bld.AD_DC_BUILD_IS_ENABLED():
87 if (bld.CONFIG_SET('HAVE_GNUTLS_PRIVKEY_EXPORT_X509') and
88 bld.CONFIG_SET('HAVE_GNUTLS_X509_CRT_SET_SUBJECT_UNIQUE_ID')):
89 torture_rpc_backupkey = 'rpc/backupkey.c'
90 else:
91 torture_rpc_backupkey = 'rpc/backupkey_heimdal.c'
92 bld.SAMBA_MODULE('torture_rpc',
93 source='''
94 rpc/join.c
95 rpc/lsa.c
96 rpc/forest_trust.c
97 rpc/lsa_lookup.c
98 rpc/session_key.c
99 rpc/echo.c
100 rpc/dfs.c
101 rpc/drsuapi.c
102 rpc/drsuapi_w2k8.c
103 rpc/drsuapi_cracknames.c
104 rpc/dsgetinfo.c
105 rpc/spoolss.c
106 rpc/spoolss_win.c
107 rpc/spoolss_access.c
108 rpc/unixinfo.c
109 rpc/samr.c
110 rpc/samr_accessmask.c
111 rpc/samr_priv.c
112 rpc/wkssvc.c
113 rpc/srvsvc.c
114 rpc/svcctl.c
115 rpc/atsvc.c
116 rpc/eventlog.c
117 rpc/epmapper.c
118 rpc/winreg.c
119 rpc/initshutdown.c
120 rpc/oxidresolve.c
121 rpc/remact.c
122 rpc/mgmt.c
123 rpc/scanner.c
124 rpc/countcalls.c
125 rpc/testjoin.c
126 rpc/schannel.c
127 rpc/netlogon.c
128 rpc/remote_pac.c
129 rpc/samlogon.c
130 rpc/samsync.c
131 rpc/dssetup.c
132 rpc/alter_context.c
133 rpc/bench.c
134 rpc/samba3rpc.c
135 rpc/rpc.c
136 rpc/async_bind.c
137 rpc/handles.c
138 rpc/frsapi.c
139 rpc/object_uuid.c
140 rpc/ntsvcs.c
141 rpc/browser.c
142 rpc/bind.c
143 rpc/fsrvp.c
144 rpc/clusapi.c
145 rpc/witness.c
146 rpc/iremotewinspool.c
147 rpc/iremotewinspool_driver.c
148 ''' + torture_rpc_backupkey + ntvfs_specific['source'],
149 autoproto='rpc/proto.h',
150 subsystem='smbtorture',
151 init_function='torture_rpc_init',
152 deps='''
153 ndr-table
154 RPC_NDR_UNIXINFO
155 dcerpc-samr
156 RPC_NDR_WINREG
157 RPC_NDR_INITSHUTDOWN
158 RPC_NDR_OXIDRESOLVER
159 RPC_NDR_EVENTLOG
160 RPC_NDR_ECHO
161 RPC_NDR_SVCCTL
162 RPC_NDR_NETLOGON
163 RPC_NDR_ATSVC
164 RPC_NDR_DRSUAPI
165 RPC_NDR_LSA
166 RPC_NDR_EPMAPPER
167 RPC_NDR_DFS
168 RPC_NDR_FRSAPI
169 RPC_NDR_SPOOLSS
170 RPC_NDR_SRVSVC
171 RPC_NDR_WKSSVC
172 RPC_NDR_ROT
173 RPC_NDR_DSSETUP
174 RPC_NDR_REMACT
175 RPC_NDR_OXIDRESOLVER
176 RPC_NDR_NTSVCS
178 LIBCLI_AUTH
179 popt
180 POPT_CREDENTIALS
181 TORTURE_LDAP
182 TORTURE_UTIL
183 TORTURE_RAP
184 service
185 process_model
186 RPC_NDR_BROWSER
187 LIBCLI_DRSUAPI
188 TORTURE_DFS
189 RPC_NDR_FSRVP
190 RPC_NDR_CLUSAPI
191 RPC_NDR_WITNESS
192 RPC_NDR_BACKUPKEY
193 RPC_NDR_WINSPOOL
194 IREMOTEWINSPOOL_COMMON
195 printer_driver
196 RPC_NDR_MDSSVC
197 mdssvc
198 ''' % samba_net + ntvfs_specific['deps'],
199 internal_module=True,
200 enabled=bld.PYTHON_BUILD_IS_ENABLED())
202 bld.RECURSE('drs')
203 bld.RECURSE('dns')
205 bld.SAMBA_MODULE('TORTURE_RAP',
206 source='rap/rap.c rap/rpc.c rap/printing.c rap/sam.c',
207 autoproto='rap/proto.h',
208 subsystem='smbtorture',
209 init_function='torture_rap_init',
210 deps='TORTURE_UTIL LIBCLI_SMB NDR_RAP LIBCLI_RAP',
211 internal_module=True,
212 enabled=bld.PYTHON_BUILD_IS_ENABLED()
215 bld.SAMBA_MODULE('TORTURE_DFS',
216 source='dfs/domaindfs.c dfs/common.c',
217 autoproto='dfs/proto.h',
218 subsystem='smbtorture',
219 init_function='torture_dfs_init',
220 deps='TORTURE_UTIL LIBCLI_SMB',
221 internal_module=True
225 bld.SAMBA_MODULE('TORTURE_AUTH',
226 source='auth/ntlmssp.c auth/pac.c auth/smbencrypt.c',
227 autoproto='auth/proto.h',
228 subsystem='smbtorture',
229 deps='LIBCLI_SMB gensec auth4 authkrb5 popt POPT_CREDENTIALS smbpasswdparser torture com_err gensec_ntlmssp',
230 internal_module=True
233 bld.RECURSE('local')
234 bld.RECURSE('krb5')
236 bld.SAMBA_MODULE('TORTURE_NBENCH',
237 source='nbench/nbio.c nbench/nbench.c',
238 autoproto='nbench/proto.h',
239 subsystem='smbtorture',
240 init_function='torture_nbench_init',
241 deps='TORTURE_UTIL',
242 internal_module=True
246 bld.SAMBA_MODULE('TORTURE_UNIX',
247 source='unix/unix.c unix/whoami.c unix/unix_info2.c',
248 autoproto='unix/proto.h',
249 subsystem='smbtorture',
250 init_function='torture_unix_init',
251 deps='TORTURE_UTIL',
252 internal_module=True
256 bld.SAMBA_MODULE('TORTURE_LDAP',
257 source='ldap/common.c ldap/basic.c ldap/schema.c ldap/uptodatevector.c ldap/cldap.c ldap/netlogon.c ldap/cldapbench.c ldap/ldap_sort.c ldap/nested_search.c',
258 subsystem='smbtorture',
259 deps='cli-ldap cli_cldap samdb popt POPT_CREDENTIALS torture ldbsamba',
260 internal_module=True,
261 autoproto='ldap/proto.h',
262 init_function='torture_ldap_init'
266 bld.SAMBA_MODULE('TORTURE_NBT',
267 source='nbt/query.c nbt/register.c nbt/wins.c nbt/winsbench.c nbt/winsreplication.c nbt/dgram.c nbt/nbt.c',
268 autoproto='nbt/proto.h',
269 subsystem='smbtorture',
270 init_function='torture_nbt_init',
271 deps='LIBCLI_SMB cli-nbt LIBCLI_DGRAM LIBCLI_WREPL torture_rpc',
272 internal_module=True,
273 enabled=bld.PYTHON_BUILD_IS_ENABLED()
277 bld.SAMBA_MODULE('TORTURE_NET',
278 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',
279 autoproto='libnet/proto.h',
280 subsystem='smbtorture',
281 init_function='torture_net_init',
282 deps='%s popt POPT_CREDENTIALS torture_rpc %s' % (provision, samba_net),
283 internal_module=True,
284 enabled=bld.PYTHON_BUILD_IS_ENABLED()
288 bld.SAMBA_MODULE('TORTURE_NTP',
289 source='ntp/ntp_signd.c',
290 autoproto='ntp/proto.h',
291 subsystem='smbtorture',
292 init_function='torture_ntp_init',
293 deps='popt POPT_CREDENTIALS torture_rpc',
294 internal_module=True,
295 enabled=bld.PYTHON_BUILD_IS_ENABLED()
298 bld.SAMBA_MODULE('TORTURE_VFS',
299 source='vfs/vfs.c vfs/fruit.c vfs/acl_xattr.c',
300 subsystem='smbtorture',
301 deps='LIBCLI_SMB POPT_CREDENTIALS TORTURE_UTIL smbclient-raw TORTURE_RAW',
302 internal_module=True,
303 autoproto='vfs/proto.h',
304 init_function='torture_vfs_init'
307 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'
309 bld.SAMBA_SUBSYSTEM('torturemain',
310 source='smbtorture.c torture.c shell.c',
311 subsystem_name='smbtorture',
312 deps='torture popt POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
313 enabled=bld.PYTHON_BUILD_IS_ENABLED()
316 bld.SAMBA_BINARY('smbtorture',
317 source=[],
318 manpages='man/smbtorture.1',
319 private_headers='smbtorture.h',
320 deps='torturemain torture popt POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
321 pyembed=True,
322 enabled=bld.PYTHON_BUILD_IS_ENABLED()
325 bld.SAMBA_BINARY('gentest',
326 source='gentest.c',
327 manpages='man/gentest.1',
328 deps='samba-hostconfig samba-util popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB smbclient-raw param_options'
332 bld.SAMBA_BINARY('masktest',
333 source='masktest.c',
334 manpages='man/masktest.1',
335 deps='samba-hostconfig samba-util popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB param_options'
339 bld.SAMBA_BINARY('locktest',
340 source='locktest.c',
341 # COV_TARGET='test',
342 #ldflags='--coverage',
343 #cflags='--coverage',
344 # GCOV='1',
345 manpages='man/locktest.1',
346 deps='popt POPT_SAMBA POPT_CREDENTIALS samba-util LIBCLI_SMB samba-hostconfig param_options',
349 bld.SAMBA_MODULE('TORTURE_DSDB',
350 source="../../source4/dsdb/common/tests/dsdb.c",
351 autoproto='dsdb_proto.h',
352 subsystem='smbtorture',
353 init_function='torture_dsdb_init',
354 deps="TORTURE_UTIL samba-util",
355 internal_module=True,
356 enabled=bld.PYTHON_BUILD_IS_ENABLED()