1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-27 03:21:53 +03:00
samba-mirror/source4/torture/wscript_build
Aaron Haslett 24efa3ca53 ldb: cmocka test for empty attributes bug
Cmocka test exposing LDB bug where a request with an empty attributes
list returns a response containing all attributes.  The bug is in the
ACL module and will be fixed in the next commit.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=13836

Signed-off-by: Aaron Haslett <aaronhaslett@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
2019-03-29 17:29:31 +00:00

356 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/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
''',
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())
torture_rpc_backupkey = ''
if bld.AD_DC_BUILD_IS_ENABLED():
if bld.CONFIG_SET('HAVE_GNUTLS_3_4_7'):
torture_rpc_backupkey = 'rpc/backupkey.c'
else:
torture_rpc_backupkey = 'rpc/backupkey_heimdal.c'
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_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/autoidl.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
''' + torture_rpc_backupkey + 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_ROT
RPC_NDR_DSSETUP
RPC_NDR_REMACT
RPC_NDR_OXIDRESOLVER
RPC_NDR_NTSVCS
WB_HELPER
%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
''' % 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()
)