1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00
samba-mirror/source4/torture/wscript_build
Samuel Cabrero ebdacf187d selftest: Add test for handle types
The test is written for SAMR, but as the handle type is verified by the
server core library it also applies to other RPC services.

Signed-off-by: Samuel Cabrero <scabrero@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2020-05-24 23:55:36 +00:00

353 lines
12 KiB
Python

#!/usr/bin/env python
provision = bld.pyembed_libname('PROVISION')
samba_net = bld.pyembed_libname('samba-net')
bld.SAMBA_SUBSYSTEM('TORTURE_UTIL',
source='util_smb.c',
public_deps='torture popt POPT_CREDENTIALS',
deps='smbclient-raw'
)
bld.SAMBA_MODULE('TORTURE_BASIC',
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',
subsystem='smbtorture',
deps='LIBCLI_SMB popt POPT_CREDENTIALS TORTURE_UTIL smbclient-raw TORTURE_RAW',
internal_module=True,
autoproto='basic/proto.h',
init_function='torture_base_init',
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('TORTURE_RAW',
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',
autoproto='raw/proto.h',
subsystem='smbtorture',
init_function='torture_raw_init',
deps='LIBCLI_SMB LIBCLI_LSA LIBCLI_SMB_COMPOSITE popt POPT_CREDENTIALS TORTURE_UTIL',
internal_module=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.RECURSE('smb2')
bld.RECURSE('winbind')
bld.RECURSE('libnetapi')
bld.RECURSE('libsmbclient')
bld.RECURSE('gpo')
ntvfs_specific = dict(source='', deps='')
# Yes, the spoolss_notify test uses the NTVFS file server to run the SMB server expected
# to handle the RPC callback!
if bld.CONFIG_SET('WITH_NTVFS_FILESERVER'):
ntvfs_specific['source'] += ' rpc/spoolss_notify.c'
ntvfs_specific['deps'] += ' SMB_SERVER dcerpc_server ntvfs'
bld.SAMBA_SUBSYSTEM('TORTURE_NDR',
source='''ndr/ndr.c
ndr/winreg.c
ndr/atsvc.c
ndr/lsa.c
ndr/epmap.c
ndr/dfs.c
ndr/netlogon.c
ndr/drsuapi.c
ndr/spoolss.c
ndr/ntprinting.c
ndr/samr.c
ndr/dfsblob.c
ndr/drsblobs.c
ndr/dnsp.c
ndr/nbt.c
ndr/ntlmssp.c
ndr/string.c
ndr/backupkey.c
ndr/witness.c
ndr/clusapi.c
ndr/negoex.c
ndr/krb5pac.c
ndr/winspool.c
ndr/cabinet.c
ndr/charset.c
ndr/svcctl.c
''',
autoproto='ndr/proto.h',
deps='torture krb5samba',
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_SUBSYSTEM('IREMOTEWINSPOOL_COMMON',
source='rpc/iremotewinspool_common.c',
deps='talloc',
enabled=bld.PYTHON_BUILD_IS_ENABLED())
bld.SAMBA_MODULE('torture_rpc',
source='''
rpc/join.c
rpc/lsa.c
rpc/forest_trust.c
rpc/lsa_lookup.c
rpc/session_key.c
rpc/echo.c
rpc/dfs.c
rpc/drsuapi.c
rpc/drsuapi_w2k8.c
rpc/drsuapi_cracknames.c
rpc/dsgetinfo.c
rpc/spoolss.c
rpc/spoolss_win.c
rpc/spoolss_access.c
rpc/unixinfo.c
rpc/samr.c
rpc/samr_accessmask.c
rpc/samr_handletype.c
rpc/samr_priv.c
rpc/wkssvc.c
rpc/srvsvc.c
rpc/svcctl.c
rpc/atsvc.c
rpc/eventlog.c
rpc/epmapper.c
rpc/winreg.c
rpc/initshutdown.c
rpc/oxidresolve.c
rpc/remact.c
rpc/mgmt.c
rpc/scanner.c
rpc/countcalls.c
rpc/testjoin.c
rpc/schannel.c
rpc/netlogon.c
rpc/remote_pac.c
rpc/samlogon.c
rpc/samsync.c
rpc/dssetup.c
rpc/alter_context.c
rpc/bench.c
rpc/samba3rpc.c
rpc/rpc.c
rpc/async_bind.c
rpc/handles.c
rpc/frsapi.c
rpc/object_uuid.c
rpc/ntsvcs.c
rpc/browser.c
rpc/bind.c
rpc/fsrvp.c
rpc/clusapi.c
rpc/witness.c
rpc/iremotewinspool.c
rpc/iremotewinspool_driver.c
rpc/mdssvc.c
rpc/backupkey.c''' + ntvfs_specific['source'],
autoproto='rpc/proto.h',
subsystem='smbtorture',
init_function='torture_rpc_init',
deps='''
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_NETLOGON
RPC_NDR_ATSVC
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_DSSETUP
RPC_NDR_REMACT
RPC_NDR_OXIDRESOLVER
RPC_NDR_NTSVCS
%s
LIBCLI_AUTH
popt
POPT_CREDENTIALS
TORTURE_LDAP
TORTURE_UTIL
TORTURE_RAP
service
process_model
RPC_NDR_BROWSER
LIBCLI_DRSUAPI
TORTURE_DFS
RPC_NDR_FSRVP
RPC_NDR_CLUSAPI
RPC_NDR_WITNESS
RPC_NDR_BACKUPKEY
RPC_NDR_WINSPOOL
IREMOTEWINSPOOL_COMMON
printer_driver
RPC_NDR_MDSSVC
mdssvc
''' % samba_net + ntvfs_specific['deps'],
internal_module=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED())
bld.RECURSE('drs')
bld.RECURSE('dns')
bld.SAMBA_MODULE('TORTURE_RAP',
source='rap/rap.c rap/rpc.c rap/printing.c rap/sam.c',
autoproto='rap/proto.h',
subsystem='smbtorture',
init_function='torture_rap_init',
deps='TORTURE_UTIL LIBCLI_SMB NDR_RAP LIBCLI_RAP',
internal_module=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('TORTURE_DFS',
source='dfs/domaindfs.c dfs/common.c',
autoproto='dfs/proto.h',
subsystem='smbtorture',
init_function='torture_dfs_init',
deps='TORTURE_UTIL LIBCLI_SMB',
internal_module=True
)
bld.SAMBA_MODULE('TORTURE_AUTH',
source='auth/ntlmssp.c auth/pac.c auth/smbencrypt.c',
autoproto='auth/proto.h',
subsystem='smbtorture',
deps='LIBCLI_SMB gensec auth4 authkrb5 popt POPT_CREDENTIALS smbpasswdparser torture com_err gensec_ntlmssp',
internal_module=True
)
bld.RECURSE('local')
bld.RECURSE('krb5')
bld.SAMBA_MODULE('TORTURE_NBENCH',
source='nbench/nbio.c nbench/nbench.c',
autoproto='nbench/proto.h',
subsystem='smbtorture',
init_function='torture_nbench_init',
deps='TORTURE_UTIL',
internal_module=True
)
bld.SAMBA_MODULE('TORTURE_UNIX',
source='unix/unix.c unix/whoami.c unix/unix_info2.c',
autoproto='unix/proto.h',
subsystem='smbtorture',
init_function='torture_unix_init',
deps='TORTURE_UTIL',
internal_module=True
)
bld.SAMBA_MODULE('TORTURE_LDAP',
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',
subsystem='smbtorture',
deps='cli-ldap cli_cldap samdb popt POPT_CREDENTIALS torture ldbsamba',
internal_module=True,
autoproto='ldap/proto.h',
init_function='torture_ldap_init'
)
bld.SAMBA_MODULE('TORTURE_NBT',
source='nbt/query.c nbt/register.c nbt/wins.c nbt/winsbench.c nbt/winsreplication.c nbt/dgram.c nbt/nbt.c',
autoproto='nbt/proto.h',
subsystem='smbtorture',
init_function='torture_nbt_init',
deps='LIBCLI_SMB cli-nbt LIBCLI_DGRAM LIBCLI_WREPL torture_rpc',
internal_module=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('TORTURE_NET',
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',
autoproto='libnet/proto.h',
subsystem='smbtorture',
init_function='torture_net_init',
deps='%s popt POPT_CREDENTIALS torture_rpc %s' % (provision, samba_net),
internal_module=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('TORTURE_NTP',
source='ntp/ntp_signd.c',
autoproto='ntp/proto.h',
subsystem='smbtorture',
init_function='torture_ntp_init',
deps='popt POPT_CREDENTIALS torture_rpc',
internal_module=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_MODULE('TORTURE_VFS',
source='vfs/vfs.c vfs/fruit.c vfs/acl_xattr.c',
subsystem='smbtorture',
deps='LIBCLI_SMB POPT_CREDENTIALS TORTURE_UTIL smbclient-raw TORTURE_RAW',
internal_module=True,
autoproto='vfs/proto.h',
init_function='torture_vfs_init'
)
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'
bld.SAMBA_SUBSYSTEM('torturemain',
source='smbtorture.c torture.c shell.c',
subsystem_name='smbtorture',
deps='torture popt POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_BINARY('smbtorture',
source=[],
manpages='man/smbtorture.1',
private_headers='smbtorture.h',
deps='torturemain torture popt POPT_SAMBA POPT_CREDENTIALS dcerpc LIBCLI_SMB SMBREADLINE ' + TORTURE_MODULES,
pyembed=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)
bld.SAMBA_BINARY('gentest',
source='gentest.c',
manpages='man/gentest.1',
deps='samba-hostconfig samba-util popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB smbclient-raw param_options'
)
bld.SAMBA_BINARY('masktest',
source='masktest.c',
manpages='man/masktest.1',
deps='samba-hostconfig samba-util popt POPT_SAMBA POPT_CREDENTIALS LIBCLI_SMB param_options'
)
bld.SAMBA_BINARY('locktest',
source='locktest.c',
# COV_TARGET='test',
#ldflags='--coverage',
#cflags='--coverage',
# GCOV='1',
manpages='man/locktest.1',
deps='popt POPT_SAMBA POPT_CREDENTIALS samba-util LIBCLI_SMB samba-hostconfig param_options',
)
bld.SAMBA_MODULE('TORTURE_DSDB',
source="../../source4/dsdb/common/tests/dsdb.c",
autoproto='dsdb_proto.h',
subsystem='smbtorture',
init_function='torture_dsdb_init',
deps="TORTURE_UTIL samba-util",
internal_module=True,
enabled=bld.PYTHON_BUILD_IS_ENABLED()
)