1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-05 09:18:06 +03:00
samba-mirror/source4/selftest/tests.py

1145 lines
82 KiB
Python
Raw Normal View History

#!/usr/bin/python
# This script generates a list of testsuites that should be run as part of
# the Samba 4 test suite.
# The output of this script is parsed by selftest.pl, which then decides
# which of the tests to actually run. It will, for example, skip all tests
# listed in selftest/skip or only run a subset during "make quicktest".
# The idea is that this script outputs all of the tests of Samba 4, not
# just those that are known to pass, and list those that should be skipped
# or are known to fail in selftest/skip or selftest/knownfail. This makes it
# very easy to see what functionality is still missing in Samba 4 and makes
# it possible to run the testsuite against other servers, such as Samba 3 or
# Windows that have a different set of features.
# The syntax for a testsuite is "-- TEST --" on a single line, followed
# by the name of the test, the environment it needs and the command to run, all
# three separated by newlines. All other lines in the output are considered
# comments.
from __future__ import print_function
import os, sys
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "../../selftest"))
import selftesthelpers
from selftesthelpers import *
print("OPTIONS %s" % " ".join(smbtorture4_options), file=sys.stderr)
def plansmbtorture4testsuite(name, env, options, modname=None):
return selftesthelpers.plansmbtorture4testsuite(name, env, options,
target='samba4', modname=modname)
samba4srcdir = source4dir()
samba4bindir = bindir()
validate = os.getenv("VALIDATE", "")
if validate:
validate_list = [validate]
else:
validate_list = []
nmblookup4 = binpath('nmblookup4')
smbclient4 = binpath('smbclient4')
bbdir = os.path.join(srcdir(), "testprogs/blackbox")
# Simple tests for LDAP and CLDAP
for auth_type in ['', '-k no', '-k yes']:
for auth_level in ['--option=clientldapsaslwrapping=plain', '--sign', '--encrypt']:
creds = '-U"$USERNAME%$PASSWORD"'
options = creds + ' ' + auth_type + ' ' + auth_level
plantestsuite("samba4.ldb.ldap with options %r(ad_dc_ntvfs)" % options, "ad_dc_ntvfs", "%s/test_ldb.sh ldap $SERVER %s" % (bbdir, options))
# see if we support ADS on the Samba3 side
try:
config_h = os.environ["CONFIG_H"]
except KeyError:
config_h = os.path.join(samba4bindir, "default/include/config.h")
# check available features
config_hash = dict()
f = open(config_h, 'r')
try:
lines = f.readlines()
config_hash = dict((x[0], ' '.join(x[1:]))
for x in map(lambda line: line.strip().split(' ')[1:],
filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
finally:
f.close()
have_heimdal_support = ("SAMBA4_USES_HEIMDAL" in config_hash)
for options in ['-U"$USERNAME%$PASSWORD"']:
plantestsuite("samba4.ldb.ldaps with options %s(ad_dc_ntvfs)" % options, "ad_dc_ntvfs",
"%s/test_ldb.sh ldaps $SERVER_IP %s" % (bbdir, options))
creds_options = [
'--simple-bind-dn=$USERNAME@$REALM --password=$PASSWORD',
]
peer_options = {
'SERVER_IP': '$SERVER_IP',
'SERVER_NAME': '$SERVER',
'SERVER.REALM': '$SERVER.$REALM',
}
tls_verify_options = [
'--option="tlsverifypeer=no_check"',
'--option="tlsverifypeer=ca_only"',
'--option="tlsverifypeer=ca_and_name_if_available"',
'--option="tlsverifypeer=ca_and_name"',
'--option="tlsverifypeer=as_strict_as_possible"',
]
# we use :local for fl2008r2dc because of the self-signed certificate
for env in ["ad_dc_ntvfs", "fl2008r2dc:local"]:
for peer_key in peer_options.keys():
peer_val = peer_options[peer_key]
for creds in creds_options:
for tls_verify in tls_verify_options:
options = creds + ' ' + tls_verify
plantestsuite("samba4.ldb.simple.ldaps with options %s %s(%s)" % (
peer_key, options, env), env,
"%s/test_ldb_simple.sh ldaps %s %s" % (bbdir, peer_val, options))
# test all "ldap server require strong auth" combinations
for env in ["ad_dc_ntvfs", "fl2008r2dc", "fl2003dc"]:
options = '--simple-bind-dn="$USERNAME@$REALM" --password="$PASSWORD"'
plantestsuite("samba4.ldb.simple.ldap with SIMPLE-BIND %s(%s)" % (options, env),
env, "%s/test_ldb_simple.sh ldap $SERVER %s" % (bbdir, options))
options += ' --option="tlsverifypeer=no_check"'
plantestsuite("samba4.ldb.simple.ldaps with SIMPLE-BIND %s(%s)" % (options, env),
env, "%s/test_ldb_simple.sh ldaps $SERVER %s" % (bbdir, options))
auth_options = [
'--option=clientldapsaslwrapping=plain',
'--sign',
'--encrypt',
'-k yes --option=clientldapsaslwrapping=plain',
'-k yes --sign',
'-k yes --encrypt',
'-k no --option=clientldapsaslwrapping=plain',
'-k no --sign --option=ntlmssp_client:ldap_style_send_seal=no',
'-k no --sign',
'-k no --encrypt',
]
for auth_option in auth_options:
options = '-U"$USERNAME%$PASSWORD"' + ' ' + auth_option
plantestsuite("samba4.ldb.simple.ldap with SASL-BIND %s(%s)" % (options, env),
env, "%s/test_ldb_simple.sh ldap $SERVER %s" % (bbdir, options))
options = '-U"$USERNAME%$PASSWORD" --option="tlsverifypeer=no_check"'
plantestsuite("samba4.ldb.simple.ldaps with SASL-BIND %s(%s)" % (options, env),
env, "%s/test_ldb_simple.sh ldaps $SERVER %s" % (bbdir, options))
for options in ['-U"$USERNAME%$PASSWORD"']:
plantestsuite("samba4.ldb.ldapi with options %s(ad_dc_ntvfs:local)" % options, "ad_dc_ntvfs:local",
"%s/test_ldb.sh ldapi $PREFIX_ABS/ad_dc_ntvfs/private/ldapi %s" % (bbdir, options))
for t in smbtorture4_testsuites("ldap."):
plansmbtorture4testsuite(t, "ad_dc_ntvfs", '-U"$USERNAME%$PASSWORD" //$SERVER_IP/_none_')
ldbdir = os.path.join(srcdir(), "lib/ldb")
# Don't run LDB tests when using system ldb, as we won't have ldbtest installed
if os.path.exists(os.path.join(samba4bindir, "ldbtest")):
plantestsuite("ldb.base", "none", "%s/tests/test-tdb-subunit.sh %s" % (ldbdir, samba4bindir))
else:
skiptestsuite("ldb.base", "Using system LDB, ldbtest not available")
# Tests for RPC
# add tests to this list as they start passing, so we test
# that they stay passing
ncacn_np_tests = ["rpc.schannel", "rpc.join", "rpc.lsa", "rpc.dssetup", "rpc.altercontext", "rpc.netlogon", "rpc.netlogon.admin", "rpc.handles", "rpc.samsync", "rpc.samba3-sessionkey", "rpc.samba3-getusername", "rpc.samba3-lsa", "rpc.samba3-bind", "rpc.samba3-netlogon", "rpc.asyncbind", "rpc.lsalookup", "rpc.lsa-getuser", "rpc.schannel2", "rpc.authcontext"]
ncalrpc_tests = ["rpc.schannel", "rpc.join", "rpc.lsa", "rpc.dssetup", "rpc.altercontext", "rpc.netlogon", "rpc.netlogon.admin", "rpc.asyncbind", "rpc.lsalookup", "rpc.lsa-getuser", "rpc.schannel2", "rpc.authcontext"]
drs_rpc_tests = smbtorture4_testsuites("drs.rpc")
ncacn_ip_tcp_tests = ["rpc.schannel", "rpc.join", "rpc.lsa", "rpc.dssetup", "rpc.drsuapi", "rpc.drsuapi_w2k8", "rpc.netlogon", "rpc.netlogon.admin", "rpc.asyncbind", "rpc.lsalookup", "rpc.lsa-getuser", "rpc.schannel2", "rpc.authcontext", "rpc.samr.passwords.validate"] + drs_rpc_tests
slow_ncacn_np_tests = ["rpc.samlogon", "rpc.samr", "rpc.samr.users", "rpc.samr.large-dc", "rpc.samr.users.privileges", "rpc.samr.passwords", "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount"]
slow_ncacn_ip_tcp_tests = ["rpc.cracknames"]
all_rpc_tests = ncalrpc_tests + ncacn_np_tests + ncacn_ip_tcp_tests + slow_ncacn_np_tests + slow_ncacn_ip_tcp_tests + ["rpc.lsa.secrets", "rpc.pac", "rpc.samba3-sharesec", "rpc.countcalls"]
# Make sure all tests get run
rpc_tests = smbtorture4_testsuites("rpc.")
auto_rpc_tests = filter(lambda t: t not in all_rpc_tests, rpc_tests)
for bindoptions in ["seal,padcheck"] + validate_list + ["bigendian"]:
for transport in ["ncalrpc", "ncacn_np", "ncacn_ip_tcp"]:
env = "ad_dc_ntvfs"
if transport == "ncalrpc":
tests = ncalrpc_tests
env = "ad_dc_ntvfs:local"
elif transport == "ncacn_np":
tests = ncacn_np_tests
elif transport == "ncacn_ip_tcp":
tests = ncacn_ip_tcp_tests
2011-12-08 05:42:08 +04:00
else:
raise AssertionError("invalid transport %r" % transport)
for t in tests:
plansmbtorture4testsuite(t, env, ["%s:$SERVER[%s]" % (transport, bindoptions), '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.%s on %s with %s" % (t, transport, bindoptions))
plansmbtorture4testsuite('rpc.samba3-sharesec', env, ["%s:$SERVER[%s]" % (transport, bindoptions), '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', '--option=torture:share=tmp'], "samba4.rpc.samba3.sharesec on %s with %s" % (transport, bindoptions))
#Plugin S4 DC tests (confirms named pipe auth forwarding). This can be expanded once kerberos is supported in the plugin DC
#
for bindoptions in ["seal,padcheck"] + validate_list + ["bigendian"]:
for t in ncacn_np_tests:
env = "ad_dc"
transport = "ncacn_np"
plansmbtorture4testsuite(t, env, ["%s:$SERVER[%s]" % (transport, bindoptions), '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.%s with %s" % (t, bindoptions))
for bindoptions in [""] + validate_list + ["bigendian"]:
for t in auto_rpc_tests:
plansmbtorture4testsuite(t, "ad_dc_ntvfs", ["$SERVER[%s]" % bindoptions, '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.%s with %s" % (t, bindoptions))
t = "rpc.countcalls"
plansmbtorture4testsuite(t, "ad_dc_ntvfs:local", ["$SERVER[%s]" % bindoptions, '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], modname="samba4.%s" % t)
for transport in ["ncacn_np", "ncacn_ip_tcp"]:
env = "ad_dc_ntvfs"
if transport == "ncacn_np":
tests = slow_ncacn_np_tests
elif transport == "ncacn_ip_tcp":
tests = slow_ncacn_ip_tcp_tests
2011-12-08 05:42:08 +04:00
else:
raise AssertionError("Invalid transport %r" % transport)
for t in tests:
bindoptions = ''
if t == 'rpc.cracknames':
bindoptions = 'seal'
plansmbtorture4testsuite(t, env, ["%s:$SERVER[%s]" % (transport, bindoptions), '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.%s on %s with %s" % (t, transport, bindoptions))
# Tests for the DFS referral calls implementation
for t in smbtorture4_testsuites("dfs."):
plansmbtorture4testsuite(t, "ad_dc_ntvfs", '//$SERVER/ipc\$ -U$USERNAME%$PASSWORD')
plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/ipc\$ -U$USERNAME%$PASSWORD')
# Tests for the NET API (net.api.become.dc tested below against all the roles)
net_tests = filter(lambda x: "net.api.become.dc" not in x, smbtorture4_testsuites("net."))
for t in net_tests:
plansmbtorture4testsuite(t, "ad_dc_ntvfs", '$SERVER[%s] -U$USERNAME%%$PASSWORD -W$DOMAIN' % validate)
# Tests for session keys and encryption of RPC pipes
# FIXME: Integrate these into a single smbtorture test
transport = "ncacn_np"
for env in ["ad_dc_ntvfs", "nt4_dc"]:
for ntlmoptions in [
"-k no --option=clientusespnego=yes",
"-k no --option=clientusespnego=yes --option=ntlmssp_client:128bit=no",
"-k no --option=clientusespnego=yes --option=ntlmssp_client:56bit=yes",
"-k no --option=clientusespnego=yes --option=ntlmssp_client:56bit=no",
"-k no --option=clientusespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes",
"-k no --option=clientusespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=no",
"-k no --option=clientusespnego=yes --option=clientntlmv2auth=yes",
"-k no --option=clientusespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no",
"-k no --option=clientusespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes",
"-k no --option=clientusespnego=no --option=clientntlmv2auth=yes",
"-k no --option=gensec:spnego=no --option=clientntlmv2auth=yes",
"-k no --option=clientusespnego=no"]:
name = "rpc.lsa.secrets on %s with with %s" % (transport, ntlmoptions)
plansmbtorture4testsuite('rpc.lsa.secrets', env, ["%s:$SERVER[]" % (transport), ntlmoptions, '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', '--option=gensec:target_hostname=$NETBIOSNAME'], "samba4.%s" % name)
plantestsuite("samba.blackbox.pdbtest(%s)" % env, "%s:local" % env, [os.path.join(bbdir, "test_pdbtest.sh"), '$SERVER', "$PREFIX", "pdbtest", smbclient4, '$SMB_CONF_PATH', configuration])
gpo = smbtorture4_testsuites("gpo.")
for t in gpo:
plansmbtorture4testsuite(t, 'ad_dc:local', ['//$SERVER/sysvol', '-U$USERNAME%$PASSWORD'])
transports = ["ncacn_np", "ncacn_ip_tcp"]
#Kerberos varies between functional levels, so it is important to check this on all of them
for env in ["ad_dc_ntvfs", "fl2000dc", "fl2003dc", "fl2008r2dc", "ad_dc"]:
transport = "ncacn_np"
plansmbtorture4testsuite('rpc.pac', env, ["%s:$SERVER[]" % (transport, ), '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.pac on %s" % (transport,))
plansmbtorture4testsuite('rpc.lsa.secrets', env, ["%s:$SERVER[]" % (transport, ), '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', '--option=gensec:target_hostname=$NETBIOSNAME', 'rpc.lsa.secrets'], "samba4.rpc.lsa.secrets on %s with Kerberos" % (transport,))
plansmbtorture4testsuite('rpc.lsa.secrets', env, ["%s:$SERVER[]" % (transport, ), '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', "--option=clientusespnegoprincipal=yes", '--option=gensec:target_hostname=$NETBIOSNAME'], "samba4.rpc.lsa.secrets on %s with Kerberos - use target principal" % (transport,))
plansmbtorture4testsuite('rpc.lsa.secrets', env, ["%s:$SERVER[target_principal=dcom/$NETBIOSNAME]" % (transport, ), '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.lsa.secrets on %s with Kerberos - netbios name principal dcom" % (transport,))
plansmbtorture4testsuite('rpc.lsa.secrets', env, ["%s:$SERVER[target_principal=$NETBIOSNAME\$]" % (transport, ), '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.lsa.secrets on %s with Kerberos - netbios name principal dollar" % (transport,))
plansmbtorture4testsuite('rpc.lsa.secrets', env, ["%s:$SERVER[target_principal=$NETBIOSNAME]" % (transport, ), '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.lsa.secrets on %s with Kerberos - netbios name principal" % (transport,))
plansmbtorture4testsuite('rpc.lsa.secrets.none*', env, ["%s:$SERVER" % transport, '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', "--option=gensec:fake_gssapi_krb5=yes", '--option=gensec:gssapi_krb5=no', '--option=gensec:target_hostname=$NETBIOSNAME'], "samba4.rpc.lsa.secrets on %s with Kerberos - use Samba3 style login" % transport)
plansmbtorture4testsuite('rpc.lsa.secrets.none*', env, ["%s:$SERVER" % transport, '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', "--option=gensec:fake_gssapi_krb5=yes", '--option=gensec:gssapi_krb5=no', '--option=gensec:target_hostname=$NETBIOSNAME', '--option=gensec_krb5:send_authenticator_checksum=false'], "samba4.rpc.lsa.secrets on %s with Kerberos - use raw-krb5-no-authenticator-checksum style login" % transport)
plansmbtorture4testsuite('rpc.lsa.secrets.none*', env, ["%s:$SERVER" % transport, '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', "--option=clientusespnegoprincipal=yes", '--option=gensec:fake_gssapi_krb5=yes', '--option=gensec:gssapi_krb5=no', '--option=gensec:target_hostname=$NETBIOSNAME'], "samba4.rpc.lsa.secrets on %s with Kerberos - use Samba3 style login, use target principal" % transport)
# Winreg tests test bulk Kerberos encryption of DCE/RPC
# We test rpc.winreg here too, because the winreg interface if
# handled by the source3/rpc_server code.
for bindoptions in ["connect", "packet", "krb5", "krb5,packet", "krb5,sign", "krb5,seal", "spnego", "spnego,packet", "spnego,sign", "spnego,seal"]:
plansmbtorture4testsuite('rpc.winreg', env, ["%s:$SERVER[%s]" % (transport, bindoptions), '-k', 'yes', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.winreg on %s with %s" % (transport, bindoptions))
for transport in transports:
plansmbtorture4testsuite('rpc.echo', env, ["%s:$SERVER[]" % (transport,), '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.echo on %s" % (transport, ))
# Echo tests test bulk Kerberos encryption of DCE/RPC
for bindoptions in ["connect", "krb5", "krb5,sign", "krb5,seal", "spnego", "spnego,sign", "spnego,seal"] + validate_list + ["padcheck", "bigendian", "bigendian,seal"]:
echooptions = "--option=socket:testnonblock=True --option=torture:quick=yes -k yes"
plansmbtorture4testsuite('rpc.echo', env, ["%s:$SERVER[%s]" % (transport, bindoptions), echooptions, '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.echo on %s with %s and %s" % (transport, bindoptions, echooptions))
for env in ["fl2000dc", "fl2008r2dc"]:
plansmbtorture4testsuite("net.api.become.dc", env, '$SERVER[%s] -U$USERNAME%%$PASSWORD -W$DOMAIN' % validate)
for bindoptions in ["sign", "seal"]:
plansmbtorture4testsuite('rpc.backupkey', "ad_dc_ntvfs", ["ncacn_np:$SERVER[%s]" % (bindoptions), '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.backupkey with %s" % (bindoptions))
for transport in transports:
for bindoptions in ["sign", "seal"]:
for ntlmoptions in [
"--option=ntlmssp_client:ntlm2=yes --option=torture:quick=yes",
"--option=ntlmssp_client:ntlm2=no --option=torture:quick=yes",
"--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:128bit=no --option=torture:quick=yes",
"--option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:128bit=no --option=torture:quick=yes",
"--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes",
"--option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes",
"--option=clientntlmv2auth=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes",
"--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=yes --option=torture:quick=yes",
"--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes"]:
if transport == "ncalrpc":
env = "ad_dc_ntvfs:local"
else:
env = "ad_dc_ntvfs"
plansmbtorture4testsuite('rpc.echo', env, ["%s:$SERVER[%s]" % (transport, bindoptions), ntlmoptions, '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.echo on %s with %s and %s" % (transport, bindoptions, ntlmoptions))
plansmbtorture4testsuite('rpc.echo', "ad_dc_ntvfs", ['ncacn_np:$SERVER[smb2]', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.rpc.echo on ncacn_np over smb2")
for env in ["ad_dc", "nt4_dc"]:
plansmbtorture4testsuite('rpc.echo', env, ['60a15ec5-4de8-11d7-a637-005056a20182@ncacn_np:$SERVER[]', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', '--option=torture:quick=yes'], "samba4.rpc.echo on ncacn_np with object")
plansmbtorture4testsuite('rpc.echo', env, ['60a15ec5-4de8-11d7-a637-005056a20182@ncacn_ip_tcp:$SERVER[]', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', '--option=torture:quick=yes'], "samba4.rpc.echo on ncacn_ip_tcp with object")
plansmbtorture4testsuite('ntp.signd', "ad_dc_ntvfs:local", ['ncacn_np:$SERVER', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], "samba4.ntp.signd")
nbt_tests = smbtorture4_testsuites("nbt.")
for t in nbt_tests:
plansmbtorture4testsuite(t, "ad_dc_ntvfs", "//$SERVER/_none_ -U\"$USERNAME%$PASSWORD\"")
# Tests against the NTVFS POSIX backend
ntvfsargs = ["--option=torture:sharedelay=100000", "--option=torture:oplocktimeout=3", "--option=torture:writetimeupdatedelay=500000"]
# Filter smb2 tests that should not run against ad_dc_ntvfs
smb2_s3only = ["smb2.change_notify_disabled", "smb2.dosmode", "smb2.credits", "smb2.kernel-oplocks"]
smb2 = [x for x in smbtorture4_testsuites("smb2.") if x not in smb2_s3only]
#The QFILEINFO-IPC test needs to be on ipc$
raw = filter(lambda x: "raw.qfileinfo.ipc" not in x, smbtorture4_testsuites("raw."))
base = smbtorture4_testsuites("base.")
netapi = smbtorture4_testsuites("netapi.")
libsmbclient = smbtorture4_testsuites("libsmbclient.")
libsmbclient_testargs = ["--option=torture:smburl=smb://$USERNAME:$PASSWORD@$SERVER/tmp",
"--option=torture:replace_smbconf=%s/testdata/samba3/smb_new.conf" % srcdir()]
for t in base + raw + smb2 + netapi + libsmbclient:
plansmbtorture4testsuite(t, "ad_dc_ntvfs", ['//$SERVER/tmp', '-U$USERNAME%$PASSWORD'] + ntvfsargs + libsmbclient_testargs)
plansmbtorture4testsuite("raw.qfileinfo.ipc", "ad_dc_ntvfs", '//$SERVER/ipc\$ -U$USERNAME%$PASSWORD')
for t in smbtorture4_testsuites("rap."):
plansmbtorture4testsuite(t, "ad_dc_ntvfs", '//$SERVER/IPC\$ -U$USERNAME%$PASSWORD')
# Tests against the NTVFS CIFS backend
for t in base + raw:
plansmbtorture4testsuite(t, "ad_dc_ntvfs", ['//$NETBIOSNAME/cifs', '-U$USERNAME%$PASSWORD', '--kerberos=yes'] + ntvfsargs, modname="samba4.ntvfs.cifs.krb5.%s" % t)
# Test NTVFS CIFS backend with S4U2Self and S4U2Proxy
t = "base.unlink"
plansmbtorture4testsuite(t, "ad_dc_ntvfs", ['//$NETBIOSNAME/cifs', '-U$USERNAME%$PASSWORD', '--kerberos=no'] + ntvfsargs, "samba4.ntvfs.cifs.ntlm.%s" % t)
plansmbtorture4testsuite(t, "rpc_proxy", ['//$NETBIOSNAME/cifs_to_dc', '-U$DC_USERNAME%$DC_PASSWORD', '--kerberos=yes'] + ntvfsargs, "samba4.ntvfs.cifs.krb5.%s" % t)
plansmbtorture4testsuite(t, "rpc_proxy", ['//$NETBIOSNAME/cifs_to_dc', '-U$DC_USERNAME%$DC_PASSWORD', '--kerberos=no'] + ntvfsargs, "samba4.ntvfs.cifs.ntlm.%s" % t)
plansmbtorture4testsuite('echo.udp', 'ad_dc_ntvfs:local', '//$SERVER/whatever')
# Local tests
for t in smbtorture4_testsuites("local."):
#The local.resolve test needs a name to look up using real system (not emulated) name routines
plansmbtorture4testsuite(t, "none", "ncalrpc:localhost")
# Confirm these tests with the system iconv too
for t in ["local.convert_string_handle", "local.convert_string", "local.ndr"]:
options = "ncalrpc: --option='iconv:use_builtin_handlers=false'"
plansmbtorture4testsuite(t, "none", options,
modname="samba4.%s.system.iconv" % t)
tdbtorture4 = binpath("tdbtorture")
if os.path.exists(tdbtorture4):
plantestsuite("tdb.stress", "none", valgrindify(tdbtorture4))
else:
skiptestsuite("tdb.stress", "Using system TDB, tdbtorture not available")
plansmbtorture4testsuite("drs.unit", "none", "ncalrpc:")
# Pidl tests
for f in sorted(os.listdir(os.path.join(samba4srcdir, "../pidl/tests"))):
if f.endswith(".pl"):
2010-09-30 20:29:58 +04:00
planperltestsuite("pidl.%s" % f[:-3], os.path.normpath(os.path.join(samba4srcdir, "../pidl/tests", f)))
2011-11-11 03:32:09 +04:00
# DNS tests
plantestsuite_loadlist("samba.tests.dns", "fl2003dc:local", [python, os.path.join(srcdir(), "python/samba/tests/dns.py"), '$SERVER', '$SERVER_IP', '--machine-pass', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba.tests.dns", "rodc:local", [python, os.path.join(srcdir(), "python/samba/tests/dns.py"), '$SERVER', '$SERVER_IP', '--machine-pass', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba.tests.dns", "vampire_dc:local", [python, os.path.join(srcdir(), "python/samba/tests/dns.py"), '$SERVER', '$SERVER_IP', '--machine-pass', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba.tests.dns_forwarder", "fl2003dc:local", [python, os.path.join(srcdir(), "python/samba/tests/dns_forwarder.py"), '$SERVER', '$SERVER_IP', '$DNS_FORWARDER1', '$DNS_FORWARDER2', '--machine-pass', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba.tests.dns_tkey", "fl2008r2dc", [python, os.path.join(srcdir(), "python/samba/tests/dns_tkey.py"), '$SERVER', '$SERVER_IP', '--machine-pass', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba.tests.dns_wildcard", "ad_dc", [python, os.path.join(srcdir(), "python/samba/tests/dns_wildcard.py"), '$SERVER', '$SERVER_IP', '--machine-pass', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba.tests.dns_invalid", "ad_dc", [python, os.path.join(srcdir(), "python/samba/tests/dns_invalid.py"), '$SERVER_IP', '--machine-pass', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
for t in smbtorture4_testsuites("dns_internal."):
plansmbtorture4testsuite(t, "ad_dc_ntvfs:local", '//$SERVER/whavever')
# Local tests
for t in smbtorture4_testsuites("dlz_bind9."):
#The dlz_bind9 tests needs to look at the DNS database
plansmbtorture4testsuite(t, "chgdcpass:local", ["ncalrpc:$SERVER", '-U$USERNAME%$PASSWORD'])
2011-11-11 03:32:09 +04:00
planpythontestsuite("nt4_dc", "samba.tests.libsmb_samba_internal", py3_compatible=True);
# Blackbox Tests:
# tests that interact directly with the command-line tools rather than using
# the API. These mainly test that the various command-line options of commands
# work correctly.
for env in ["ad_member", "s4member", "ad_dc_ntvfs", "chgdcpass"]:
plantestsuite("samba4.blackbox.smbclient(%s:local)" % env, "%s:local" % env, [os.path.join(samba4srcdir, "utils/tests/test_smbclient.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$DOMAIN', smbclient4])
plantestsuite("samba4.blackbox.samba_tool(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(samba4srcdir, "utils/tests/test_samba_tool.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$DOMAIN', smbclient4])
plantestsuite("samba4.blackbox.net_rpc_user(ad_dc)", "ad_dc", [os.path.join(bbdir, "test_net_rpc_user.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$DOMAIN'])
if have_heimdal_support:
for env in ["ad_dc_ntvfs", "ad_dc"]:
plantestsuite("samba4.blackbox.pkinit(%s:local)" % env, "%s:local" % env, [os.path.join(bbdir, "test_pkinit_heimdal.sh"), '$SERVER', 'pkinit', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX/%s' % env, "aes256-cts-hmac-sha1-96", smbclient4, configuration])
plantestsuite("samba4.blackbox.pkinit_pac(%s:local)" % env, "%s:local" % env, [os.path.join(bbdir, "test_pkinit_pac_heimdal.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX/%s' % env, "aes256-cts-hmac-sha1-96", configuration])
plantestsuite("samba4.blackbox.kinit(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(bbdir, "test_kinit_heimdal.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX', "aes256-cts-hmac-sha1-96", smbclient4, configuration])
plantestsuite("samba4.blackbox.kinit(fl2000dc:local)", "fl2000dc:local", [os.path.join(bbdir, "test_kinit_heimdal.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX', "arcfour-hmac-md5", smbclient4, configuration])
plantestsuite("samba4.blackbox.kinit(fl2008r2dc:local)", "fl2008r2dc:local", [os.path.join(bbdir, "test_kinit_heimdal.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX', "aes256-cts-hmac-sha1-96", smbclient4, configuration])
plantestsuite("samba4.blackbox.kinit_trust(fl2008r2dc:local)", "fl2008r2dc:local", [os.path.join(bbdir, "test_kinit_trusts_heimdal.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_SERVER', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$PREFIX', "forest", "aes256-cts-hmac-sha1-96"])
plantestsuite("samba4.blackbox.kinit_trust(fl2003dc:local)", "fl2003dc:local", [os.path.join(bbdir, "test_kinit_trusts_heimdal.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_SERVER', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$PREFIX', "external", "arcfour-hmac-md5"])
plantestsuite("samba4.blackbox.export.keytab(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(bbdir, "test_export_keytab_heimdal.sh"), '$SERVER', '$USERNAME', '$REALM', '$DOMAIN', "$PREFIX", smbclient4])
plantestsuite("samba4.blackbox.kpasswd(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(bbdir, "test_kpasswd_heimdal.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', "$PREFIX/ad_dc_ntvfs"])
else:
plantestsuite("samba4.blackbox.kinit(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(bbdir, "test_kinit_mit.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX', smbclient4, configuration])
plantestsuite("samba4.blackbox.kinit(fl2000dc:local)", "fl2000dc:local", [os.path.join(bbdir, "test_kinit_mit.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX', smbclient4, configuration])
plantestsuite("samba4.blackbox.kinit(fl2008r2dc:local)", "fl2008r2dc:local", [os.path.join(bbdir, "test_kinit_mit.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$PREFIX', smbclient4, configuration])
plantestsuite("samba4.blackbox.kinit_trust(fl2008r2dc:local)", "fl2008r2dc:local", [os.path.join(bbdir, "test_kinit_trusts_mit.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_SERVER', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$PREFIX', "forest"])
plantestsuite("samba4.blackbox.kinit_trust(fl2003dc:local)", "fl2003dc:local", [os.path.join(bbdir, "test_kinit_trusts_mit.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_SERVER', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$PREFIX', "external"])
plantestsuite("samba4.blackbox.export.keytab(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(bbdir, "test_export_keytab_mit.sh"), '$SERVER', '$USERNAME', '$REALM', '$DOMAIN', "$PREFIX", smbclient4])
plantestsuite("samba4.blackbox.kpasswd(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(bbdir, "test_kpasswd_mit.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', "$PREFIX/ad_dc_ntvfs"])
plantestsuite("samba4.blackbox.trust_ntlm", "fl2008r2dc:local", [os.path.join(bbdir, "test_trust_ntlm.sh"), '$SERVER_IP', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', 'forest', 'auto', 'NT_STATUS_LOGON_FAILURE'])
plantestsuite("samba4.blackbox.trust_ntlm", "fl2003dc:local", [os.path.join(bbdir, "test_trust_ntlm.sh"), '$SERVER_IP', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', 'external', 'auto', 'NT_STATUS_LOGON_FAILURE'])
plantestsuite("samba4.blackbox.trust_ntlm", "ad_member:local", [os.path.join(bbdir, "test_trust_ntlm.sh"), '$SERVER_IP', '$USERNAME', '$PASSWORD', '$SERVER', '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$REALM', '$DOMAIN', 'member', 'auto', 'NT_STATUS_LOGON_FAILURE'])
plantestsuite("samba4.blackbox.trust_ntlm", "nt4_member:local", [os.path.join(bbdir, "test_trust_ntlm.sh"), '$SERVER_IP', '$USERNAME', '$PASSWORD', '$SERVER', '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$DOMAIN', '$DOMAIN', 'member', 'auto', 'NT_STATUS_LOGON_FAILURE'])
plantestsuite("samba4.blackbox.trust_utils(fl2008r2dc:local)", "fl2008r2dc:local", [os.path.join(bbdir, "test_trust_utils.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_SERVER', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$PREFIX', "forest"])
plantestsuite("samba4.blackbox.trust_utils(fl2003dc:local)", "fl2003dc:local", [os.path.join(bbdir, "test_trust_utils.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$TRUST_SERVER', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$PREFIX', "external"])
plantestsuite("samba4.blackbox.trust_token", "fl2008r2dc", [os.path.join(bbdir, "test_trust_token.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$DOMSID', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$TRUST_DOMSID', 'forest'])
plantestsuite("samba4.blackbox.trust_token", "fl2003dc", [os.path.join(bbdir, "test_trust_token.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', '$DOMSID', '$TRUST_USERNAME', '$TRUST_PASSWORD', '$TRUST_REALM', '$TRUST_DOMAIN', '$TRUST_DOMSID', 'external'])
plantestsuite("samba4.blackbox.ktpass(ad_dc_ntvfs)", "ad_dc_ntvfs", [os.path.join(bbdir, "test_ktpass.sh"), '$PREFIX/ad_dc_ntvfs'])
plantestsuite("samba4.blackbox.password_settings(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(bbdir, "test_password_settings.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$REALM', '$DOMAIN', "$PREFIX/ad_dc_ntvfs"])
plantestsuite("samba4.blackbox.cifsdd(ad_dc_ntvfs)", "ad_dc_ntvfs", [os.path.join(samba4srcdir, "client/tests/test_cifsdd.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "$DOMAIN"])
plantestsuite("samba4.blackbox.nmblookup(ad_dc_ntvfs)", "ad_dc_ntvfs", [os.path.join(samba4srcdir, "utils/tests/test_nmblookup.sh"), '$NETBIOSNAME', '$NETBIOSALIAS', '$SERVER', '$SERVER_IP', nmblookup4])
plantestsuite("samba4.blackbox.locktest(ad_dc_ntvfs)", "ad_dc_ntvfs", [os.path.join(samba4srcdir, "torture/tests/test_locktest.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$DOMAIN', '$PREFIX'])
plantestsuite("samba4.blackbox.masktest", "ad_dc_ntvfs", [os.path.join(samba4srcdir, "torture/tests/test_masktest.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$DOMAIN', '$PREFIX'])
plantestsuite("samba4.blackbox.gentest(ad_dc_ntvfs)", "ad_dc_ntvfs", [os.path.join(samba4srcdir, "torture/tests/test_gentest.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$DOMAIN', "$PREFIX"])
plantestsuite("samba4.blackbox.rfc2307_mapping(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", [os.path.join(samba4srcdir, "../nsswitch/tests/test_rfc2307_mapping.sh"), '$DOMAIN', '$USERNAME', '$PASSWORD', "$SERVER", "$UID_RFC2307TEST", "$GID_RFC2307TEST", configuration])
plantestsuite("samba4.blackbox.chgdcpass", "chgdcpass", [os.path.join(bbdir, "test_chgdcpass.sh"), '$SERVER', "CHGDCPASS\$", '$REALM', '$DOMAIN', '$PREFIX', "aes256-cts-hmac-sha1-96", '$SELFTEST_PREFIX/chgdcpass', smbclient4])
plantestsuite("samba4.blackbox.samba_upgradedns(chgdcpass:local)", "chgdcpass:local", [os.path.join(bbdir, "test_samba_upgradedns.sh"), '$SERVER', '$REALM', '$PREFIX', '$SELFTEST_PREFIX/chgdcpass'])
plantestsuite("samba4.blackbox.net_ads(ad_dc:client)", "ad_dc:client", [os.path.join(bbdir, "test_net_ads.sh"), '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$PREFIX_ABS'])
plantestsuite("samba4.blackbox.client_etypes_all(ad_dc:client)", "ad_dc:client", [os.path.join(bbdir, "test_client_etypes.sh"), '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$PREFIX_ABS', 'all', '17_18_23'])
plantestsuite("samba4.blackbox.client_etypes_legacy(ad_dc:client)", "ad_dc:client", [os.path.join(bbdir, "test_client_etypes.sh"), '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$PREFIX_ABS', 'legacy', '23'])
plantestsuite("samba4.blackbox.client_etypes_strong(ad_dc:client)", "ad_dc:client", [os.path.join(bbdir, "test_client_etypes.sh"), '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$PREFIX_ABS', 'strong', '17_18'])
plantestsuite("samba4.blackbox.net_ads_dns(ad_member:local)", "ad_member:local", [os.path.join(bbdir, "test_net_ads_dns.sh"), '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD', '$REALM', '$USERNAME', '$PASSWORD'])
plantestsuite_loadlist("samba4.rpc.echo against NetBIOS alias", "ad_dc_ntvfs", [valgrindify(smbtorture4), "$LISTOPT", "$LOADLIST", 'ncacn_np:$NETBIOSALIAS', '-U$DOMAIN/$USERNAME%$PASSWORD', 'rpc.echo'])
# Tests using the "Simple" NTVFS backend
for t in ["base.rw1"]:
plansmbtorture4testsuite(t, "ad_dc_ntvfs", ["//$SERVER/simple", '-U$USERNAME%$PASSWORD'], modname="samba4.ntvfs.simple.%s" % t)
# Domain S4member Tests
plansmbtorture4testsuite('rpc.echo', "s4member", ['ncacn_np:$NETBIOSNAME', '-U$NETBIOSNAME/$USERNAME%$PASSWORD'], "samba4.rpc.echo against s4member server with local creds")
plansmbtorture4testsuite('rpc.echo', "s4member", ['ncacn_np:$NETBIOSNAME', '-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'], "samba4.rpc.echo against s4member server with domain creds")
plansmbtorture4testsuite('rpc.samr', "s4member", ['ncacn_np:$NETBIOSNAME', '-U$NETBIOSNAME/$USERNAME%$PASSWORD'], "samba4.rpc.samr against s4member server with local creds")
plansmbtorture4testsuite('rpc.samr.users', "s4member", ['ncacn_np:$NETBIOSNAME', '-U$NETBIOSNAME/$USERNAME%$PASSWORD'], "samba4.rpc.samr.users against s4member server with local creds",)
plansmbtorture4testsuite('rpc.samr.passwords', "s4member", ['ncacn_np:$NETBIOSNAME', '-U$NETBIOSNAME/$USERNAME%$PASSWORD'], "samba4.rpc.samr.passwords against s4member server with local creds")
plantestsuite("samba4.blackbox.smbclient against s4member server with local creds", "s4member", [os.path.join(samba4srcdir, "client/tests/test_smbclient.sh"), '$NETBIOSNAME', '$USERNAME', '$PASSWORD', '$NETBIOSNAME', '$PREFIX', smbclient4])
# RPC Proxy
plansmbtorture4testsuite("rpc.echo", "rpc_proxy", ['ncacn_ip_tcp:$NETBIOSNAME', '-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'], modname="samba4.rpc.echo against rpc proxy with domain creds")
# Tests SMB signing
for mech in [
"-k no",
"-k no --option=clientusespnego=no",
"-k no --option=gensec:spengo=no",
"-k yes",
"-k yes --option=gensec:fake_gssapi_krb5=yes --option=gensec:gssapi_krb5=no"]:
for signing in ["--signing=on", "--signing=required"]:
signoptions = "%s %s" % (mech, signing)
name = "smb.signing on with %s" % signoptions
plansmbtorture4testsuite('base.xcopy', "ad_dc_ntvfs", ['//$NETBIOSNAME/xcopy_share', signoptions, '-U$USERNAME%$PASSWORD'], modname="samba4.%s" % name)
for mech in [
"-k no",
"-k no --option=clientusespnego=no",
"-k no --option=gensec:spengo=no",
"-k yes"]:
signoptions = "%s --signing=off" % mech
name = "smb.signing disabled on with %s" % signoptions
plansmbtorture4testsuite('base.xcopy', "s4member", ['//$NETBIOSNAME/xcopy_share', signoptions, '-U$DC_USERNAME%$DC_PASSWORD'], "samba4.%s domain-creds" % name)
plansmbtorture4testsuite('base.xcopy', "ad_member", ['//$NETBIOSNAME/xcopy_share', signoptions, '-U$DC_USERNAME%$DC_PASSWORD'], "samba4.%s domain-creds" % name)
plansmbtorture4testsuite('base.xcopy', "ad_dc", ['//$NETBIOSNAME/xcopy_share', signoptions, '-U$USERNAME%$PASSWORD'], "samba4.%s" % name)
plansmbtorture4testsuite('base.xcopy', "ad_dc",
['//$NETBIOSNAME/xcopy_share', signoptions, '-U$DC_USERNAME%$DC_PASSWORD'], "samba4.%s administrator" % name)
plantestsuite("samba4.blackbox.bogusdomain", "ad_member", ["testprogs/blackbox/bogus.sh", "$NETBIOSNAME", "xcopy_share", '$USERNAME', '$PASSWORD', '$DC_USERNAME', '$DC_PASSWORD', smbclient4])
for mech in [
"-k no",
"-k no --option=clientusespnego=no",
"-k no --option=gensec:spengo=no"]:
signoptions = "%s --signing=off" % mech
plansmbtorture4testsuite('base.xcopy', "s4member", ['//$NETBIOSNAME/xcopy_share', signoptions, '-U$NETBIOSNAME/$USERNAME%$PASSWORD'], modname="samba4.smb.signing on with %s local-creds" % signoptions)
plansmbtorture4testsuite('base.xcopy', "ad_dc_ntvfs", ['//$NETBIOSNAME/xcopy_share', '-k', 'no', '--signing=yes', '-U%'], modname="samba4.smb.signing --signing=yes anon")
plansmbtorture4testsuite('base.xcopy', "ad_dc_ntvfs", ['//$NETBIOSNAME/xcopy_share', '-k', 'no', '--signing=required', '-U%'], modname="samba4.smb.signing --signing=required anon")
plansmbtorture4testsuite('base.xcopy', "s4member", ['//$NETBIOSNAME/xcopy_share', '-k', 'no', '--signing=no', '-U%'], modname="samba4.smb.signing --signing=no anon")
wb_opts_default = ["--option=\"torture:strict mode=no\"", "--option=\"torture:timelimit=1\"", "--option=\"torture:winbindd_separator=/\"", "--option=\"torture:winbindd_netbios_name=$SERVER\"", "--option=\"torture:winbindd_netbios_domain=$DOMAIN\""]
winbind_ad_client_tests = smbtorture4_testsuites("winbind.struct") + smbtorture4_testsuites("winbind.pac")
winbind_wbclient_tests = smbtorture4_testsuites("winbind.wbclient")
for env in ["ad_dc", "s4member", "ad_member", "nt4_member"]:
wb_opts = wb_opts_default[:]
if env in ["ad_member"]:
wb_opts += ["--option=\"torture:winbindd_domain_without_prefix=$DOMAIN\""]
for t in winbind_ad_client_tests:
plansmbtorture4testsuite(t, "%s:local" % env, wb_opts + ['//$SERVER/tmp', '--realm=$REALM', '--machine-pass', '--option=torture:addc=$DC_SERVER'])
for env in ["nt4_dc", "fl2003dc"]:
for t in winbind_wbclient_tests:
plansmbtorture4testsuite(t, "%s:local" % env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
for env in ["nt4_dc", "nt4_member", "ad_dc", "ad_member", "s4member", "chgdcpass", "rodc"]:
tests = ["--ping", "--separator",
"--own-domain",
"--all-domains",
"--trusted-domains",
"--domain-info=BUILTIN",
"--domain-info=$DOMAIN",
"--online-status",
"--online-status --domain=BUILTIN",
"--online-status --domain=$DOMAIN",
"--check-secret --domain=$DOMAIN",
"--change-secret --domain=$DOMAIN",
"--check-secret --domain=$DOMAIN",
"--online-status --domain=$DOMAIN",
"--domain-users",
"--domain-groups",
"--name-to-sid=$DC_USERNAME",
"--name-to-sid=$DOMAIN/$DC_USERNAME",
"--user-info=$DOMAIN/$DC_USERNAME",
"--user-groups=$DOMAIN/$DC_USERNAME",
"--authenticate=$DOMAIN/$DC_USERNAME%$DC_PASSWORD",
"--allocate-uid",
"--allocate-gid"]
for t in tests:
plantestsuite("samba.wbinfo_simple.%s" % (t.replace(" --", ".").replace("--", "")), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
plantestsuite(
"samba.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
[os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
plantestsuite(
"samba.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
[os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), ntlm_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
plantestsuite("samba.ntlm_auth.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_s3.sh"), valgrindify(python), samba3srcdir, ntlm_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
for env in ["s4member_dflt_domain", "s4member"]:
for cmd in ["id", "getent"]:
users = ["$DC_USERNAME", "$DC_USERNAME@$REALM"]
if env == "s4member":
users = ["$DOMAIN/$DC_USERNAME", "$DC_USERNAME@$REALM"]
for usr in users:
plantestsuite("samba4.winbind.dom_name_parse.cmd", env, "%s/dom_parse.sh %s %s" % (bbdir, cmd, usr))
nsstest4 = binpath("nsstest")
for env in ["ad_dc:local", "s4member:local", "nt4_dc:local", "ad_member:local", "nt4_member:local"]:
if os.path.exists(nsstest4):
plantestsuite("samba.nss.test using winbind(%s)" % env, env, [os.path.join(bbdir, "nsstest.sh"), nsstest4, os.path.join(samba4bindir, "shared/libnss_wrapper_winbind.so.2")])
else:
skiptestsuite("samba.nss.test using winbind(%s)" % env, "nsstest not available")
subunitrun = valgrindify(python) + " " + os.path.join(samba4srcdir, "scripting/bin/subunitrun")
if extra_python is not None:
subunitrun3 = valgrindify(extra_python) + " " + os.path.join(samba4srcdir, "scripting/bin/subunitrun")
def planoldpythontestsuite(env, module, name=None, extra_path=[], environ={}, extra_args=[], py3_compatible=False):
environ = dict(environ)
py_path = list(extra_path)
if py_path:
environ["PYTHONPATH"] = ":".join(["$PYTHONPATH"] + py_path)
args = ["%s=%s" % item for item in environ.items()]
args += [subunitrun, "$LISTOPT", "$LOADLIST", module]
args += extra_args
if name is None:
name = module
plantestsuite_loadlist(name, env, args)
if py3_compatible and extra_python is not None:
args[args.index(subunitrun)] = subunitrun3
plantestsuite_loadlist(name, env, args)
planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.gensec", extra_args=['-U"$USERNAME%$PASSWORD"'], py3_compatible=True)
planoldpythontestsuite("none", "simple", extra_path=["%s/lib/tdb/python/tests" % srcdir()], name="tdb.python")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.sam", py3_compatible=True)
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dsdb", py3_compatible=True)
planpythontestsuite("none", "samba.tests.dsdb_lock")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.bare", py3_compatible=True)
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.unix")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.srvsvc")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.timecmd")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.join")
planpythontestsuite("none", "samba.tests.samba_tool.visualize")
# test fsmo show
for env in ["ad_dc_ntvfs", "fl2000dc", "fl2003dc", "fl2008r2dc"]:
planpythontestsuite(env + ":local", "samba.tests.samba_tool.fsmo")
# test user.edit
for env in ["ad_dc:local", "ad_dc_ntvfs:local", "fl2000dc:local", "fl2003dc:local", "fl2008r2dc:local"]:
plantestsuite("samba.tests.samba_tool.edit", env, [os.path.join(srcdir(), "python/samba/tests/samba_tool/edit.sh"), '$SERVER', '$USERNAME', '$PASSWORD'])
# We run this test against both AD DC implemetnations because it is
# the only test we have of GPO get/set behaviour, and this involves
# the file server as well as the LDAP server.
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.gpo")
planpythontestsuite("ad_dc:local", "samba.tests.samba_tool.gpo")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.processes")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.user")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.user_wdigest")
planpythontestsuite("ad_dc:local", "samba.tests.samba_tool.user")
planpythontestsuite("ad_dc:local", "samba.tests.samba_tool.user_virtualCryptSHA")
planpythontestsuite("chgdcpass:local", "samba.tests.samba_tool.user_check_password_script")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.group")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.ou")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.computer")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.forest")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.schema")
planpythontestsuite("ad_dc:local", "samba.tests.samba_tool.ntacl")
planpythontestsuite("none", "samba.tests.samba_tool.provision_password_check")
planpythontestsuite("none", "samba.tests.samba_tool.help")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.samba_tool.passwordsettings")
# Run these against chgdcpass to share the runtime load
planpythontestsuite("chgdcpass:local", "samba.tests.samba_tool.sites")
planpythontestsuite("chgdcpass:local", "samba.tests.samba_tool.dnscmd")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dcerpc.rpcecho", py3_compatible=True)
planoldpythontestsuite("nt4_dc", "samba.tests.netbios", extra_args=['-U"$USERNAME%$PASSWORD"'], py3_compatible=True)
planoldpythontestsuite("ad_dc:local", "samba.tests.gpo", extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc:local", "samba.tests.dckeytab", extra_args=['-U"$USERNAME%$PASSWORD"'], py3_compatible=True)
planoldpythontestsuite("ad_dc:local", "samba.tests.smb", extra_args=['-U"$USERNAME%$PASSWORD"'], py3_compatible=True)
planoldpythontestsuite(
"ad_dc_ntvfs:local", "samba.tests.dcerpc.registry",
extra_args=['-U"$USERNAME%$PASSWORD"'], py3_compatible=True)
planoldpythontestsuite(
"ad_dc:local", "samba.tests.ntacls_backup",
extra_args=['-U"$USERNAME%$PASSWORD"'], py3_compatible=True)
planoldpythontestsuite("ad_dc_ntvfs", "samba.tests.dcerpc.dnsserver", extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc", "samba.tests.dcerpc.dnsserver", extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("chgdcpass", "samba.tests.dcerpc.raw_protocol", extra_args=['-U"$USERNAME%$PASSWORD"'])
if have_heimdal_support:
planoldpythontestsuite("ad_dc:local", "samba.tests.auth_log", extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.auth_log", extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc:local", "samba.tests.auth_log_pass_change", extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.auth_log_pass_change", extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.auth_log_ncalrpc", extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc:local", "samba.tests.auth_log_ncalrpc", extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc:local", "samba.tests.auth_log_samlogon",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.auth_log_samlogon",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc:local", "samba.tests.auth_log_netlogon",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc_ntvfs:local", "samba.tests.auth_log_netlogon",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc:local",
"samba.tests.auth_log_netlogon_bad_creds",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc_ntvfs:local",
"samba.tests.auth_log_netlogon_bad_creds",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc:local", "samba.tests.audit_log_pass_change",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc:local", "samba.tests.audit_log_dsdb",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("ad_dc:local", "samba.tests.group_audit",
extra_args=['-U"$USERNAME%$PASSWORD"'],
environ={'CLIENT_IP': '127.0.0.11',
'SOCKET_WRAPPER_DEFAULT_IFACE': 11})
planoldpythontestsuite("fl2008r2dc:local",
"samba.tests.getdcname",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc",
"samba.tests.net_join_no_spnego",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc",
"samba.tests.net_join",
extra_args=['-U"$USERNAME%$PASSWORD"'])
# Need to test the password hashing in multiple environments to ensure that
# all the possible options are covered
#
# ad_dc:local functional_level >= 2008, gpg keys available
planoldpythontestsuite("ad_dc:local",
"samba.tests.password_hash_gpgme",
extra_args=['-U"$USERNAME%$PASSWORD"'])
# ad_dc_ntvfs:local functional level >= 2008, gpg keys not available
planoldpythontestsuite("ad_dc_ntvfs:local",
"samba.tests.password_hash_fl2008",
extra_args=['-U"$USERNAME%$PASSWORD"'])
# fl2003dc:local functional level < 2008, gpg keys not available
planoldpythontestsuite("fl2003dc:local",
"samba.tests.password_hash_fl2003",
extra_args=['-U"$USERNAME%$PASSWORD"'])
# ad_dc: wDigest values over ldap
planoldpythontestsuite("ad_dc",
"samba.tests.password_hash_ldap",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc:local",
"samba.tests.domain_backup",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("none",
"samba.tests.domain_backup_offline")
# Encrypted secrets
# ensure default provision (ad_dc) and join (vampire_dc)
# encrypt secret values on disk.
planoldpythontestsuite("ad_dc:local",
"samba.tests.encrypted_secrets",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("vampire_dc:local",
"samba.tests.encrypted_secrets",
extra_args=['-U"$USERNAME%$PASSWORD"'])
# The fl2000dc environment is provisioned with the --plaintext_secrets option
# so this test will fail, which proves the secrets are not being encrypted.
# There is an entry in known_fail.d.
planoldpythontestsuite("fl2000dc:local",
"samba.tests.encrypted_secrets",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planpythontestsuite("ad_dc_ntvfs:local",
"samba.tests.lsa_string",
py3_compatible=True)
planoldpythontestsuite("ad_dc_ntvfs",
"samba.tests.krb5_credentials",
py3_compatible=True,
extra_args=['-U"$USERNAME%$PASSWORD"'])
for env in ["ad_dc_ntvfs", "vampire_dc", "promoted_dc"]:
planoldpythontestsuite(env,
"samba.tests.py_credentials",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc_ntvfs",
"samba.tests.emulate.traffic",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc_ntvfs",
"samba.tests.emulate.traffic_packet",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc_ntvfs",
"samba.tests.blackbox.traffic_replay",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc_ntvfs",
"samba.tests.blackbox.traffic_learner",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("ad_dc_ntvfs",
"samba.tests.blackbox.traffic_summary",
extra_args=['-U"$USERNAME%$PASSWORD"'])
planoldpythontestsuite("none", "samba.tests.loadparm")
#
# Want a selection of environments across the process models
#
for env in ["ad_dc_ntvfs:local", "ad_dc:local",
"fl2003dc:local", "fl2008r2dc:local",
"promoted_dc:local"]:
planoldpythontestsuite(env, "samba.tests.blackbox.smbcontrol")
plantestsuite_loadlist("samba4.ldap.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/ldap.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.tokengroups.krb5.python(ad_dc_ntvfs)", "ad_dc_ntvfs:local", [python, os.path.join(samba4srcdir, "dsdb/tests/python/token_group.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '-k', 'yes', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.tokengroups.ntlm.python(ad_dc_ntvfs)", "ad_dc_ntvfs:local", [python, os.path.join(samba4srcdir, "dsdb/tests/python/token_group.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '-k', 'no', '$LOADLIST', '$LISTOPT'])
plantestsuite("samba4.sam.python(fl2008r2dc)", "fl2008r2dc", [python, os.path.join(samba4srcdir, "dsdb/tests/python/sam.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN'])
plantestsuite("samba4.sam.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/sam.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN'])
plantestsuite("samba4.user_account_control.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/user_account_control.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN'])
planoldpythontestsuite("ad_dc_ntvfs", "dsdb_schema_info",
extra_path=[os.path.join(samba4srcdir, 'dsdb/tests/python')],
name="samba4.schemaInfo.python(ad_dc_ntvfs)",
extra_args=['-U"$DOMAIN/$DC_USERNAME%$DC_PASSWORD"'])
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.dsdb_schema_attributes")
plantestsuite_loadlist("samba4.urgent_replication.python(ad_dc_ntvfs)", "ad_dc_ntvfs:local", [python, os.path.join(samba4srcdir, "dsdb/tests/python/urgent_replication.py"), '$PREFIX_ABS/ad_dc_ntvfs/private/sam.ldb', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.dirsync.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/dirsync.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.match_rules.python", "ad_dc_ntvfs", [python, os.path.join(srcdir(), "lib/ldb-samba/tests/match_rules.py"), '$PREFIX_ABS/ad_dc_ntvfs/private/sam.ldb', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.notification.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/notification.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.sites.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/sites.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.sort.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/sort.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.vlv.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/vlv.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.linked_attributes.python(ad_dc_ntvfs)", "ad_dc_ntvfs:local", [python, os.path.join(samba4srcdir, "dsdb/tests/python/linked_attributes.py"), '$PREFIX_ABS/ad_dc_ntvfs/private/sam.ldb', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
# These should be the first tests run against testenvs created by backup/restore
for env in ['offlinebackupdc', 'restoredc', 'renamedc', 'labdc']:
# check that a restored DC matches the original DC (backupfromdc)
plantestsuite("samba4.blackbox.ldapcmp_restore", env,
["PYTHON=%s" % python,
os.path.join(bbdir, "ldapcmp_restoredc.sh"),
'$PREFIX_ABS/backupfromdc', '$PREFIX_ABS/%s' % env])
# basic test that we can join the testenv DC
plantestsuite("samba4.blackbox.join_ldapcmp", env,
["PYTHON=%s" % python, os.path.join(bbdir, "join_ldapcmp.sh")])
plantestsuite_loadlist("samba4.ldap.rodc.python(rodc)", "rodc",
[python,
os.path.join(samba4srcdir, "dsdb/tests/python/rodc.py"),
'$SERVER', '-U"$USERNAME%$PASSWORD"',
'--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.rodc_rwdc.python(rodc)", "rodc:local",
[python,
os.path.join(samba4srcdir,
"dsdb/tests/python/rodc_rwdc.py"),
'$SERVER', '$DC_SERVER', '-U"$USERNAME%$PASSWORD"',
'--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
planoldpythontestsuite("rodc:local", "replica_sync_rodc",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.replica_sync_rodc.python(rodc)",
environ={'DC1': '$DC_SERVER', 'DC2': '$RODC_DC_SERVER'},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite("ad_dc_ntvfs", "password_settings",
extra_path=[os.path.join(samba4srcdir, 'dsdb/tests/python')],
name="samba4.ldap.password_settings.python",
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
for env in ["ad_dc_ntvfs", "fl2000dc", "fl2003dc", "fl2008r2dc"]:
plantestsuite_loadlist("samba4.ldap_schema.python(%s)" % env, env, [python, os.path.join(samba4srcdir, "dsdb/tests/python/ldap_schema.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite("samba4.ldap.possibleInferiors.python(%s)" % env, env, [python, os.path.join(samba4srcdir, "dsdb/samdb/ldb_modules/tests/possibleinferiors.py"), "ldap://$SERVER", '-U"$USERNAME%$PASSWORD"', "-W$DOMAIN"])
plantestsuite_loadlist("samba4.ldap.secdesc.python(%s)" % env, env, [python, os.path.join(samba4srcdir, "dsdb/tests/python/sec_descriptor.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite_loadlist("samba4.ldap.acl.python(%s)" % env, env, [python, os.path.join(samba4srcdir, "dsdb/tests/python/acl.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
if env != "fl2000dc":
# This test makes excessive use of the "userPassword" attribute which
# isn't available on DCs with Windows 2000 domain function level -
# therefore skip it in that configuration
plantestsuite_loadlist("samba4.ldap.passwords.python(%s)" % env, env, [python, os.path.join(samba4srcdir, "dsdb/tests/python/passwords.py"), "$SERVER", '-U"$USERNAME%$PASSWORD"', "-W$DOMAIN", '$LOADLIST', '$LISTOPT'])
env = "ad_dc_ntvfs"
plantestsuite_loadlist("samba4.ldap.confidential_attr.python(%s)" % env, env, [python, os.path.join(samba4srcdir, "dsdb/tests/python/confidential_attr.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
for env in ["ad_dc_ntvfs"]:
# This test takes a lot of time, so we run it against a minimum of
# environments, please only add new ones if there's really a
# difference we need to test
plantestsuite_loadlist("samba4.ldap.password_lockout.python(%s)" % env, env, [python, os.path.join(samba4srcdir, "dsdb/tests/python/password_lockout.py"), "$SERVER", '-U"$USERNAME%$PASSWORD"', "-W$DOMAIN", "--realm=$REALM", '$LOADLIST', '$LISTOPT'])
planoldpythontestsuite(env, "tombstone_reanimation",
name="samba4.tombstone_reanimation.python",
environ={'TEST_SERVER': '$SERVER', 'TEST_USERNAME': '$USERNAME', 'TEST_PASSWORD': '$PASSWORD'},
extra_path=[os.path.join(samba4srcdir, 'dsdb/tests/python')]
)
# this is a basic sanity-check of Kerberos/NTLM user login
for env in ["offlinebackupdc", "restoredc", "renamedc", "labdc"]:
plantestsuite_loadlist("samba4.ldap.login_basics.python(%s)" % env, env,
[python, os.path.join(samba4srcdir, "dsdb/tests/python/login_basics.py"),
"$SERVER", '-U"$USERNAME%$PASSWORD"', "-W$DOMAIN", "--realm=$REALM",
'$LOADLIST', '$LISTOPT'])
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.upgradeprovisionneeddc")
planpythontestsuite("ad_dc:local", "samba.tests.posixacl", py3_compatible=True)
planpythontestsuite("ad_dc_no_nss:local", "samba.tests.posixacl", py3_compatible=True)
plantestsuite_loadlist("samba4.deletetest.python(ad_dc_ntvfs)", "ad_dc_ntvfs", [python, os.path.join(samba4srcdir, "dsdb/tests/python/deletetest.py"),
'$SERVER', '-U"$USERNAME%$PASSWORD"', '--workgroup=$DOMAIN', '$LOADLIST', '$LISTOPT'])
plantestsuite("samba4.blackbox.samba3dump", "none", [os.path.join(samba4srcdir, "selftest/test_samba3dump.sh")])
plantestsuite("samba4.blackbox.upgrade", "none", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_s3upgrade.sh"), '$PREFIX/provision'])
plantestsuite("samba4.blackbox.provision.py", "none", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_provision.sh"), '$PREFIX/provision'])
plantestsuite("samba4.blackbox.supported_features", "none",
["PYTHON=%s" % python,
os.path.join(samba4srcdir,
"setup/tests/blackbox_supported_features.sh"),
'$PREFIX/provision'])
plantestsuite("samba4.blackbox.start_backup", "none",
["PYTHON=%s" % python,
os.path.join(samba4srcdir,
"setup/tests/blackbox_start_backup.sh"),
'$PREFIX/provision'])
plantestsuite("samba4.blackbox.upgradeprovision.current", "none", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_upgradeprovision.sh"), '$PREFIX/provision'])
plantestsuite("samba4.blackbox.setpassword.py", "none", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_setpassword.sh"), '$PREFIX/provision'])
plantestsuite("samba4.blackbox.newuser.py", "none", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_newuser.sh"), '$PREFIX/provision'])
plantestsuite("samba4.blackbox.group.py", "none", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_group.sh"), '$PREFIX/provision'])
plantestsuite("samba4.blackbox.spn.py(ad_dc_ntvfs:local)", "ad_dc_ntvfs:local", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_spn.sh"), '$PREFIX/ad_dc_ntvfs'])
plantestsuite_loadlist("samba4.ldap.bind(fl2008r2dc)", "fl2008r2dc", [python, os.path.join(srcdir(), "auth/credentials/tests/bind.py"), '$SERVER', '-U"$USERNAME%$PASSWORD"', '$LOADLIST', '$LISTOPT'])
# This makes sure we test the rid allocation code
t = "rpc.samr.large-dc"
plansmbtorture4testsuite(t, "vampire_dc", ['$SERVER', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], modname=("samba4.%s.one" % t))
plansmbtorture4testsuite(t, "vampire_dc", ['$SERVER', '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], modname="samba4.%s.two" % t)
# RPC smoke-tests for testenvs of interest (RODC, etc)
for env in ['rodc', 'offlinebackupdc', 'restoredc', 'renamedc', 'labdc']:
plansmbtorture4testsuite('rpc.echo', env, ['ncacn_np:$SERVER', "-k", "yes", '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN'], modname="samba4.rpc.echo")
plansmbtorture4testsuite('rpc.echo', "%s:local" % env, ['ncacn_np:$SERVER', "-k", "yes", '-P', '--workgroup=$DOMAIN'], modname="samba4.rpc.echo")
plansmbtorture4testsuite('rpc.echo', "%s:local" % env, ['ncacn_np:$SERVER', "-k", "no", '-Utestallowed\ account%$DC_PASSWORD', '--workgroup=$DOMAIN'], modname="samba4.rpc.echo.testallowed")
plansmbtorture4testsuite('rpc.echo', "%s:local" % env, ['ncacn_np:$SERVER', "-k", "no", '-Utestdenied%$DC_PASSWORD', '--workgroup=$DOMAIN'], modname="samba4.rpc.echo.testdenied")
plantestsuite("samba4.blackbox.smbclient(%s:local)" % env, "%s:local" % env, [os.path.join(samba4srcdir, "utils/tests/test_smbclient.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$DOMAIN', smbclient4])
planpythontestsuite("rodc:local", "samba.tests.samba_tool.rodc")
plantestsuite("samba.blackbox.rpcclient_samlogon", "rodc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
"$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$SERVER", configuration])
plantestsuite("samba.blackbox.rpcclient_samlogon_testallowed", "rodc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
"testallowed\ account", "$DC_PASSWORD", "ncacn_np:$SERVER", configuration])
plantestsuite("samba.blackbox.rpcclient_samlogon_testdenied", "rodc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
"testdenied", "$DC_PASSWORD", "ncacn_np:$SERVER", configuration])
plantestsuite("samba4.blackbox.provision-backend", "none", ["PYTHON=%s" % python, os.path.join(samba4srcdir, "setup/tests/blackbox_provision-backend.sh"), '$PREFIX/provision'])
# Test renaming the DC
plantestsuite("samba4.blackbox.renamedc.sh", "none", ["PYTHON=%s" % python, os.path.join(bbdir, "renamedc.sh"), '$PREFIX/provision'])
# DRS python tests
env = 'vampire_dc'
planoldpythontestsuite(env, "ridalloc_exop",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.ridalloc_exop.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
for env in ['vampire_dc', 'promoted_dc']:
planoldpythontestsuite("%s:local" % env, "samba_tool_drs",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.samba_tool_drs.python(%s)" % env,
environ={'DC1': '$DC_SERVER', 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite("%s:local" % env, "samba_tool_drs_showrepl",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.samba_tool_drs_showrepl.python(%s)" % env,
environ={'DC1': '$DC_SERVER', 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite("%s:local" % env, "replica_sync",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.replica_sync.python(%s)" % env,
environ={'DC1': '$DC_SERVER', 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "delete_object",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.delete_object.python(%s)" % env,
environ={'DC1': '$DC_SERVER', 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "fsmo",
name="samba4.drs.fsmo.python(%s)" % env,
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "repl_move",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.repl_move.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "getnc_exop",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.getnc_exop.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "getnc_unpriv",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.getnc_unpriv.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "linked_attributes_drs",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.linked_attributes_drs.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "link_conflicts",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.link_conflicts.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
for env in ['vampire_dc', 'promoted_dc', 'vampire_2000_dc']:
planoldpythontestsuite(env, "repl_schema",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.repl_schema.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
s4:selftest: run wbinfo tests at the end... This avoids flakey crashes in the promoted_dc environment. See the examples below, we had up to 50% of the daily build failing... Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> https://git.samba.org/autobuild.flakey/2013-12-23-1942/samba.stdout [1586/1594 in 1h39m20s] samba4.drs.fsmo.python(promoted_dc) Testing for schema role transfer from localdc.samba.example.com to PROMOTEDVDC.samba.example.com FSMO transfer of 'schema' role successful Testing for schema role transfer from PROMOTEDVDC.samba.example.com to localdc.samba.example.com ERROR: Failed to initiate transfer of 'schema' role: LDAP error 52 LDAP_UNAVAILABLE - <Failed FSMO transfer: WERR_DS_DRA_INTERNAL_ERROR> <> UNEXPECTED(failure): samba4.drs.fsmo.python(promoted_dc).fsmo.DrsFsmoTestCase.test_SchemaMasterTransfer(promoted_dc) REASON: _StringException: _StringException: Content-Type: text/x-traceback;charset=utf8,language=python traceback 380 https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stdout [1583/1594 in 1h36m4s] samba.tests.blackbox.samba_tool_drs ERROR: Testsuite[samba.tests.blackbox.samba_tool_drs] REASON: unable to set up environment promoted_dc - exiting https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stderr Unable to convert 1.2.840.86419.1.5.9939 to an attid, and can_change_pfm=false! Unable to convert governsID on CN=test-class30318,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com to DRS object - WERR_NOT_FOUND ../source4/rpc_server/drsuapi/getncchanges.c:1646: DsGetNCChanges 2nd replication on different DN CN=Configuration,DC=samba,DC=example,DC=com CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com (last_dn CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com) =============================================================== INTERNAL ERROR: Signal 11 in pid 884274 (4.2.0pre1-DEVELOPERBUILD) Please read the Trouble-Shooting section of the Samba HOWTO =============================================================== smb_panic(): calling panic action [/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274] [Thread debugging using libthread_db enabled] 0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>, stat_loc=0x7fff67c7709c, options=<value optimized out>) at ../sysdeps/unix/sysv/linux/waitpid.c:32 32 ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory. in ../sysdeps/unix/sysv/linux/waitpid.c #0 0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>, stat_loc=0x7fff67c7709c, options=<value optimized out>) at ../sysdeps/unix/sysv/linux/waitpid.c:32 oldtype = <value optimized out> result = <value optimized out> #1 0x00002af6b5baeb39 in do_system (line=<value optimized out>) at ../sysdeps/posix/system.c:149 __result = -512 _buffer = {__routine = 0x2af6b5baee90 <cancel_handler>, __arg = 0x7fff67c77098, __canceltype = 0, __prev = 0x0} _avail = 1 status = <value optimized out> save = <value optimized out> pid = 886733 sa = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {65536, 0 <repeats 15 times>}}, sa_flags = 0, sa_restorer = 0x2af6b5b730f0} omask = {__val = {7808, 4294967295, 140734934511616, 1, 2195512, 0, 0, 0, 47239032274944, 47239027992529, 140733193388033, 0, 0, 47239099003120, 140734934511792, 47239558787328}} #2 0x00002af6b311821f in smb_panic_default ( why=0x2af6b312a875 "internal error") at ../lib/util/fault.c:134 result = 32767 pidstr = "884274\000\000\001\375\376\320\366*\000\000\260\377\377\377" cmdstring = "/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274\000\307g\377\177\000\000\001\000\000\000\000\000\000\000\320\301#", '\000' <repeats 30 times>"\240, \017\263\366*\000\000\321\247{\261\366*\000\000\001\000\000\000\005", '\000' <repeats 11 times>"\260, \016\v\321\366*\000\000X\351\017\263\366*\000\000\260q\307g\377\177\000\000\000\361\036\321\366*\000\000\020r\307g\377\177\000\000\240\301z\326\366*\000\000\000Z\304\320\366*\000" __FUNCTION__ = "smb_panic_default" #3 0x00002af6b31183b5 in smb_panic (why=0x2af6b312a875 "internal error") at ../lib/util/fault.c:162 No locals. #4 0x00002af6b311809f in fault_report (sig=11) at ../lib/util/fault.c:77 counter = 1 __FUNCTION__ = "fault_report" #5 0x00002af6b31180b4 in sig_fault (sig=11) at ../lib/util/fault.c:88 No locals. #6 <signal handler called> No symbol table info available. #7 0x00002af6cabef930 in replmd_check_urgent_objectclass ( objectclass_el=0x0, situation=REPL_URGENT_ON_UPDATE) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:205 i = 2 j = 0 #8 0x00002af6cabf29b6 in replmd_update_rpmd (module=0x2af6b17f2c20, schema=0x2af6d05e5570, req=0x2af6d05e8ad0, rename_attrs=0x0, msg=0x2af6d11ef100, seq_num=0x2af6d0c315b8, t=1387895162, is_urgent=0x7fff67c778bf, rodc=0x7fff67c778be) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:1432 omd_value = 0x7fff67c77810 ndr_err = 3508465920 omd = {version = 1741125552, reserved = 32767, ctr = {ctr1 = { count = 3008684740, reserved = 10998, array = 0x7fff67c777b0}}} i = 10998 now = 130323687620000000 our_invocation_id = 0x2af6d1796390 ret = 0 attrs = 0x7fff67c77750 attrs1 = {0x2af6cabff775 "replPropertyMetaData", 0x2af6cabffc8b "*", 0x0} attrs2 = {0x2af6cabff76a "uSNChanged", 0x2af6cabffa98 "objectClass", 0x2af6cabffc8d "instanceType", 0x0} res = 0x2af6d10b0eb0 ldb = 0x2af6b17f2470 objectclass_el = 0x0 situation = REPL_URGENT_ON_UPDATE rmd_is_provided = false __FUNCTION__ = "replmd_update_rpmd" #9 0x00002af6cabf5a06 in replmd_modify (module=0x2af6b17f2c20, req=0x2af6d05e8ad0) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:2455 msds_intid_struct = 0x2af6d05e8ad0 ldb = 0x2af6b17f2470 ac = 0x2af6d0c31580 down_req = 0x2af6d0e6a100 msg = 0x2af6d11ef100 t = 1387895162 ret = 1741125936 is_urgent = false rodc = false functional_level = 3 guid_blob = 0x0 sd_propagation_control = 0x0 #10 0x00002af6bf69f94d in dsdb_module_modify (module=0x2af6b17f2c20, message=0x2af6d1183fe0, dsdb_flags=4194304, parent=0x2af6ce6ea980) at ../source4/dsdb/samdb/ldb_modules/util.c:460 ops = 0x2af6cae06b40 mod_req = 0x2af6d05e8ad0 ret = 0 ldb = 0x2af6b17f2470 tmp_ctx = 0x2af6d0ed62f0 res = 0x2af6d0e6a100 __FUNCTION__ = "dsdb_module_modify" #11 0x00002af6cabf7ebc in replmd_delete_internals (module=0x2af6b17f2c20, req=0x2af6ce6ea980, re_delete=true) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3309 ret = 0 retb = true disallow_move_on_delete = false old_dn = 0x2af6d6a2a010 new_dn = 0x2af6d0794a90 rdn_name = 0x2af6d0885c10 "CN" rdn_value = 0x2af6d10d7368 new_rdn_value = 0x2af6d0c45a00 guid = {time_low = 48, time_mid = 0, time_hi_and_version = 0, clock_seq = "\200\251", node = "n\316\366*\000"} ldb = 0x2af6b17f2470 schema = 0x2af6d05e5570 msg = 0x2af6d1183fe0 old_msg = 0x2af6d1902800 el = 0x2af6d0874900 tmp_ctx = 0x2af6d0b77560 res = 0x2af6d0d57980 parent_res = 0x30 preserved_attrs = {0x2af6cac00fe1 "nTSecurityDescriptor", 0x2af6cac055c3 "attributeID", 0x2af6cac055cf "attributeSyntax", 0x2af6cac055df "dNReferenceUpdate", 0x2af6cac055f1 "dNSHostName", 0x2af6cac055fd "flatName", 0x2af6cac05606 "governsID", 0x2af6cac05610 "groupType", 0x2af6cabffc8d "instanceType", 0x2af6cac0561a "lDAPDisplayName", 0x2af6cac0562a "legacyExchangeDN", 0x2af6cabfe94d "isDeleted", 0x2af6cabfe957 "isRecycled", 0x2af6cac020f8 "lastKnownParent", 0x2af6cac021e8 "msDS-LastKnownRDN", 0x2af6cac0563b "mS-DS-CreatorSID", 0x2af6cac0564c "mSMQOwnerID", 0x2af6cac05658 "nCName", 0x2af6cabffa98 "objectClass", 0x2af6cac0565f "distinguishedName", 0x2af6cabff5b5 "objectGUID", 0x2af6cac05671 "objectSid", 0x2af6cac0567b "oMSyntax", 0x2af6cac05684 "proxiedObjectName", 0x2af6cac014d8 "name", 0x2af6cabff775 "replPropertyMetaData", 0x2af6cac05696 "sAMAccountName", 0x2af6cac056a5 "securityIdentifier", 0x2af6cac056b8 "sIDHistory", 0x2af6cac056c3 "subClassOf", 0x2af6cac01ba8 "systemFlags", 0x2af6cac056ce "trustPartner", 0x2af6cac056db "trustDirection", 0x2af6cac056ea "trustType", 0x2af6cac056f4 "trustAttributes", 0x2af6cabfe9b8 "userAccountControl", 0x2af6cabff76a "uSNChanged", 0x2af6cabff75f "uSNCreated", 0x2af6cabff747 "whenCreated", 0x2af6cabff753 "whenChanged", 0x0} i = 12 el_count = 1 deletion_state = OBJECT_TOMBSTONE next_deletion_state = OBJECT_TOMBSTONE __FUNCTION__ = "replmd_delete_internals" #12 0x00002af6cabfbbe3 in replmd_replicated_apply_isDeleted ( ar=0x2af6d74c0b40) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:4718 del_req = 0x2af6ce6ea980 res = 0x2af6d0cdebf0 tmp_ctx = 0x2af6d0949230 deleted_objects_dn = 0x2af6d1a49f00 msg = 0x2af6d0a39620 ret = 0 #13 0x00002af6cabf0766 in replmd_op_callback (req=0x2af6d05a21e0, ares=0x2af6d0d715c0) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:526 ret = 10998 ac = 0x2af6d74c0b40 replmd_private = 0x2af6b188c7c0 modified_partition = 0x2af6d141b670 partition_ctrl = 0x2af6d1905f40 partition = 0x2af6ce6bdbe0 controls = 0x0 __FUNCTION__ = "replmd_op_callback" #14 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0, ctrls=0x2af6d1629aa0, response=0x0, error=0) at ../lib/ldb/common/ldb_modules.c:832 ares = 0x2af6d0d715c0 #15 0x00002af6cabf896b in replmd_op_possible_conflict_callback ( req=0x2af6d05a21e0, ares=0x2af6b1883eb0, callback=0x2af6cabf0334 <replmd_op_callback>) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3606 conflict_dn = 0x2af6cac03470 ar = 0x2af6d74c0b40 res = 0x2af6b354f89b attrs = {0x2af6cabff775 "replPropertyMetaData", 0x2af6cabff5b5 "objectGUID", 0x0} ret = -682882240 omd_value = 0x7fff67c77e20 omd = {version = 1741127104, reserved = 32767, ctr = {ctr1 = { count = 0, reserved = 0, array = 0x28}}} rmd = 0x2af6d74c0ae0 ndr_err = 10998 rename_incoming_record = false rodc = false rmd_name = 0x7fff67c77e10 omd_name = 0x2af6d74c0b40 msg = 0x2af6b1883e50 __FUNCTION__ = "replmd_op_possible_conflict_callback" #16 0x00002af6cabf93fb in replmd_op_add_callback (req=0x2af6d05a21e0, ares=0x2af6b1883eb0) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3802 ar = 0x2af6d74c0b40 #17 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0, ctrls=0x2af6d1629aa0, response=0x0, error=0) at ../lib/ldb/common/ldb_modules.c:832 ares = 0x2af6b1883eb0 #18 0x00002af6ca3c8b6a in partition_req_callback (req=0x2af6d087a1e0, ares=0x2af6d05a1fa0) at ../source4/dsdb/samdb/ldb_modules/partition.c:213 ac = 0x2af6d0949370 module = 0x2af6cd27bf12 nreq = 0x2af6d05b67b0 ret = 0 partition_ctrl = 0x2af6d0d71740 #19 0x00002af6cd2752ab in ltdb_request_done (ctx=0x2af6d1cd7ed0, error=0) at ../lib/ldb/ldb_tdb/ldb_tdb.c:1280 ldb = 0x2af6b17f2470 req = 0x2af6d087a1e0 ares = 0x2af6d05a1fa0 #20 0x00002af6cd275597 in ltdb_callback (ev=0x2af6b17ef8c0, te=0x2af6d17f75d0, t=..., private_data=0x2af6d1cd7ed0) at ../lib/ldb/ldb_tdb/ldb_tdb.c:1390 ctx = 0x2af6d1cd7ed0 ret = 0 #21 0x00002af6b3343259 in tevent_common_loop_timer_delay (ev=0x2af6b17ef8c0) at ../lib/tevent/tevent_timed.c:341 current_time = {tv_sec = 0, tv_usec = 0} te = 0x2af6d17f75d0 #22 0x00002af6b334558a in epoll_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621") at ../lib/tevent/tevent_epoll.c:912 epoll_ev = 0x2af6b17efb00 tval = {tv_sec = 47239056876603, tv_usec = 47239028210096} panic_triggered = false #23 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621") at ../lib/tevent/tevent_standard.c:112 glue_ptr = 0x2af6b17ef9b0 glue = 0x2af6b17ef9b0 ret = 10998 #24 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621") at ../lib/tevent/tevent.c:530 ret = 0 nesting_stack_ptr = 0x0 #25 0x00002af6b1e154c4 in ldb_wait (handle=0x2af6d67624c0, type=LDB_WAIT_ALL) at ../lib/ldb/common/ldb.c:621 ev = 0x2af6b17ef8c0 ret = 0 #26 0x00002af6b1e1786b in ldb_extended (ldb=0x2af6b17f2470, oid=0x2af6b4c4f9ce "1.3.6.1.4.1.7165.4.4.1", data=0x2af6d0e2bc60, _res=0x7fff67c78240) at ../lib/ldb/common/ldb.c:1506 req = 0x2af6d0c45a00 ret = 0 res = 0x2af6d69238f0 #27 0x00002af6b4c4a0d6 in dsdb_replicated_objects_commit (ldb=0x2af6b17f2470, working_schema=0x0, objects=0x2af6d0e2bc60, notify_uSN=0x2af6d14a65f0) at ../source4/dsdb/repl/replicated_objects.c:773 werr = {w = 0} ext_res = 0x0 cur_schema = 0x0 new_schema = 0x0 ret = 0 seq_num1 = 5554 seq_num2 = 47239626746464 used_global_schema = false tmp_ctx = 0x2af6d03c5860 __FUNCTION__ = "dsdb_replicated_objects_commit" #28 0x00002af6c1c6babb in dreplsrv_op_pull_source_apply_changes_trigger ( req=0x2af6d17daed0, r=0x2af6d17db0d0, ctr_level=6, ctr1=0x0, ctr6=0x2af6d1b02bb0) at ../source4/dsdb/repl/drepl_out_helpers.c:717 state = 0x2af6d17db050 rf1 = {blobsize = 274, consecutive_sync_failures = 0, last_success = 130323684670000000, last_attempt = 130323687610000000, result_last_attempt = {w = 0}, other_info = 0x2af6d0949910, other_info_length = 66, replica_flags = 112, schedule = '\021' <repeats 84 times>, reserved = 0, highwatermark = {tmp_highest_usn = 12398, reserved_usn = 0, highest_usn = 12398}, source_dsa_obj_guid = { time_low = 984092159, time_mid = 850, time_hi_and_version = 18870, clock_seq = "\251X", node = "UF\324\223\205\241"}, source_dsa_invocation_id = { time_low = 1460694408, time_mid = 52035, time_hi_and_version = 18738, clock_seq = "\204}", node = "\264\365\276\372\256\303"}, transport_guid = { time_low = 0, time_mid = 0, time_hi_and_version = 0, clock_seq = "\000", node = "\000\000\000\000\000"}} service = 0x2af6d0ff6b00 partition = 0x2af6d0b6f220 drsuapi = 0x2af6d1c8d480 schema = 0x2af6d05e5570 working_schema = 0x0 mapping_ctr = 0x2af6d1b02c10 object_count = 50 first_object = 0x2af6d0571800 linked_attributes_count = 0 linked_attributes = 0x2af6d5212140 uptodateness_vector = 0x2af6d1a741c0 objects = 0x2af6d0e2bc60 more_data = false status = {w = 0} nt_status = {v = 3006553120} dsdb_repl_flags = 0 __FUNCTION__ = "dreplsrv_op_pull_source_apply_changes_trigger" #29 0x00002af6c1c6b3e7 in dreplsrv_op_pull_source_get_changes_done ( subreq=0x0) at ../source4/dsdb/repl/drepl_out_helpers.c:599 req = 0x2af6d17daed0 state = 0x2af6d17db050 status = {v = 0} r = 0x2af6d17db0d0 ctr_level = 6 ctr1 = 0x0 ctr6 = 0x2af6d1b02bb0 extended_ret = DRSUAPI_EXOP_ERR_NONE #30 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d1a73f70, location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712") at ../lib/tevent/tevent_req.c:102 No locals. #31 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d1a73f70, state=TEVENT_REQ_DONE, location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712") at ../lib/tevent/tevent_req.c:117 No locals. #32 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d1a73f70, location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712") at ../lib/tevent/tevent_req.c:123 No locals. #33 0x00002af6c1c708df in dcerpc_drsuapi_DsGetNCChanges_r_done ( subreq=0x2af6d122f4c0) at default/librpc/gen_ndr/ndr_drsuapi_c.c:712 req = 0x2af6d1a73f70 status = {v = 0} #34 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d122f4c0, location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517") at ../lib/tevent/tevent_req.c:102 No locals. #35 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d122f4c0, state=TEVENT_REQ_DONE, location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517") at ../lib/tevent/tevent_req.c:117 No locals. #36 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d122f4c0, location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517") at ../lib/tevent/tevent_req.c:123 No locals. #37 0x00002af6b5757ede in dcerpc_binding_handle_call_done (subreq=0x0) at ../librpc/rpc/binding_handle.c:517 req = 0x2af6d122f4c0 state = 0x2af6d122f640 h = 0x2af6d0959d10 error = {v = 0} out_flags = 0 ndr_err = NDR_ERR_SUCCESS #38 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d522f7a0, location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188") at ../lib/tevent/tevent_req.c:102 No locals. #39 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d522f7a0, state=TEVENT_REQ_DONE, location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188") at ../lib/tevent/tevent_req.c:117 No locals. #40 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d522f7a0, location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188") at ../lib/tevent/tevent_req.c:123 No locals. #41 0x00002af6b5757398 in dcerpc_binding_handle_raw_call_done (subreq=0x0) at ../librpc/rpc/binding_handle.c:188 req = 0x2af6d522f7a0 state = 0x2af6d522f920 error = {v = 0} #42 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d0712430, location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322") at ../lib/tevent/tevent_req.c:102 No locals. #43 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d0712430, state=TEVENT_REQ_DONE, location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322") at ../lib/tevent/tevent_req.c:117 No locals. #44 0x00002af6b333e472 in tevent_req_trigger (ev=0x2af6b17ef8c0, im=0x2af6d0712500, private_data=0x2af6d0712430) at ../lib/tevent/tevent_req.c:174 req = 0x2af6d0712430 #45 0x00002af6b333d6d4 in tevent_common_loop_immediate (ev=0x2af6b17ef8c0) at ../lib/tevent/tevent_immediate.c:135 im = 0x2af6d0712500 handler = 0x2af6b333e423 <tevent_req_trigger> private_data = 0x2af6d0712430 #46 0x00002af6b3345570 in epoll_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent_epoll.c:907 epoll_ev = 0x2af6b17efb00 tval = {tv_sec = 47239056876603, tv_usec = 47239028210096} panic_triggered = false #47 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent_standard.c:112 glue_ptr = 0x2af6b17ef9b0 glue = 0x2af6b17ef9b0 ret = 10998 #48 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent.c:530 ret = 0 nesting_stack_ptr = 0x0 #49 0x00002af6b333ca11 in tevent_common_loop_wait (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent.c:634 ret = 0 #50 0x00002af6b3342405 in std_event_loop_wait (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent_standard.c:138 glue_ptr = 0x2af6b17ef9b0 glue = 0x2af6b17ef9b0 ret = 10998 #51 0x00002af6b333cadc in _tevent_loop_wait (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent.c:653 No locals. #52 0x00002af6b15a37bc in binary_smbd_main ( binary_name=0x2af6b15a737b "samba", argc=6, argv=0x7fff67c78de8) at ../source4/smbd/server.c:503 opt_daemon = false opt_interactive = true opt = -1 pc = 0x2af6b17d5040 static_init = {0x2af6b2ac7d8c <server_service_auth_init>, 0x2af6b2aca9e7 <server_service_echo_init>, 0} shared_init = 0x2af6b18143b0 event_ctx = 0x2af6b17ef8c0 stdin_event_flags = 1 status = {v = 0} model = 0x2af6b17d5b90 "single" max_runtime = 7500 Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Mon Jan 6 01:16:13 CET 2014 on sn-devel-104
2014-01-03 15:56:38 +04:00
# A side-effect of the getncchanges tests is that they will create hundreds of
# tombstone objects, so run them last to avoid interferring with (and slowing
# down) the other DRS tests
for env in ['vampire_dc', 'promoted_dc']:
planoldpythontestsuite(env, "getncchanges",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.getncchanges.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$%s_SERVER' % env.upper()},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
for env in ['ad_dc_ntvfs']:
planoldpythontestsuite(env, "repl_rodc",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.repl_rodc.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$DC_SERVER'},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "samba.tests.join",
name="samba.tests.join.python(%s)" % env,
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite(env, "cracknames",
extra_path=[os.path.join(samba4srcdir, 'torture/drs/python')],
name="samba4.drs.cracknames.python(%s)" % env,
environ={'DC1': "$DC_SERVER", 'DC2': '$DC_SERVER'},
extra_args=['-U$DOMAIN/$DC_USERNAME%$DC_PASSWORD'])
planoldpythontestsuite("chgdcpass:local", "samba.tests.blackbox.samba_dnsupdate",
environ={'DNS_SERVER_IP': '$SERVER_IP'})
for env in ["ad_dc_ntvfs", "s4member", "rodc", "promoted_dc", "ad_dc", "ad_member"]:
plantestsuite("samba.blackbox.wbinfo(%s:local)" % env, "%s:local" % env, [os.path.join(samba4srcdir, "../nsswitch/tests/test_wbinfo.sh"), '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', env])
s4:selftest: run wbinfo tests at the end... This avoids flakey crashes in the promoted_dc environment. See the examples below, we had up to 50% of the daily build failing... Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org> https://git.samba.org/autobuild.flakey/2013-12-23-1942/samba.stdout [1586/1594 in 1h39m20s] samba4.drs.fsmo.python(promoted_dc) Testing for schema role transfer from localdc.samba.example.com to PROMOTEDVDC.samba.example.com FSMO transfer of 'schema' role successful Testing for schema role transfer from PROMOTEDVDC.samba.example.com to localdc.samba.example.com ERROR: Failed to initiate transfer of 'schema' role: LDAP error 52 LDAP_UNAVAILABLE - <Failed FSMO transfer: WERR_DS_DRA_INTERNAL_ERROR> <> UNEXPECTED(failure): samba4.drs.fsmo.python(promoted_dc).fsmo.DrsFsmoTestCase.test_SchemaMasterTransfer(promoted_dc) REASON: _StringException: _StringException: Content-Type: text/x-traceback;charset=utf8,language=python traceback 380 https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stdout [1583/1594 in 1h36m4s] samba.tests.blackbox.samba_tool_drs ERROR: Testsuite[samba.tests.blackbox.samba_tool_drs] REASON: unable to set up environment promoted_dc - exiting https://git.samba.org/autobuild.flakey/2013-12-24-1546/samba.stderr Unable to convert 1.2.840.86419.1.5.9939 to an attid, and can_change_pfm=false! Unable to convert governsID on CN=test-class30318,CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com to DRS object - WERR_NOT_FOUND ../source4/rpc_server/drsuapi/getncchanges.c:1646: DsGetNCChanges 2nd replication on different DN CN=Configuration,DC=samba,DC=example,DC=com CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com (last_dn CN=Schema,CN=Configuration,DC=samba,DC=example,DC=com) =============================================================== INTERNAL ERROR: Signal 11 in pid 884274 (4.2.0pre1-DEVELOPERBUILD) Please read the Trouble-Shooting section of the Samba HOWTO =============================================================== smb_panic(): calling panic action [/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274] [Thread debugging using libthread_db enabled] 0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>, stat_loc=0x7fff67c7709c, options=<value optimized out>) at ../sysdeps/unix/sysv/linux/waitpid.c:32 32 ../sysdeps/unix/sysv/linux/waitpid.c: No such file or directory. in ../sysdeps/unix/sysv/linux/waitpid.c #0 0x00002af6b5c1977e in __libc_waitpid (pid=<value optimized out>, stat_loc=0x7fff67c7709c, options=<value optimized out>) at ../sysdeps/unix/sysv/linux/waitpid.c:32 oldtype = <value optimized out> result = <value optimized out> #1 0x00002af6b5baeb39 in do_system (line=<value optimized out>) at ../sysdeps/posix/system.c:149 __result = -512 _buffer = {__routine = 0x2af6b5baee90 <cancel_handler>, __arg = 0x7fff67c77098, __canceltype = 0, __prev = 0x0} _avail = 1 status = <value optimized out> save = <value optimized out> pid = 886733 sa = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction = 0x1}, sa_mask = {__val = {65536, 0 <repeats 15 times>}}, sa_flags = 0, sa_restorer = 0x2af6b5b730f0} omask = {__val = {7808, 4294967295, 140734934511616, 1, 2195512, 0, 0, 0, 47239032274944, 47239027992529, 140733193388033, 0, 0, 47239099003120, 140734934511792, 47239558787328}} #2 0x00002af6b311821f in smb_panic_default ( why=0x2af6b312a875 "internal error") at ../lib/util/fault.c:134 result = 32767 pidstr = "884274\000\000\001\375\376\320\366*\000\000\260\377\377\377" cmdstring = "/memdisk/autobuild/fl/b302436/samba/selftest/gdb_backtrace 884274\000\307g\377\177\000\000\001\000\000\000\000\000\000\000\320\301#", '\000' <repeats 30 times>"\240, \017\263\366*\000\000\321\247{\261\366*\000\000\001\000\000\000\005", '\000' <repeats 11 times>"\260, \016\v\321\366*\000\000X\351\017\263\366*\000\000\260q\307g\377\177\000\000\000\361\036\321\366*\000\000\020r\307g\377\177\000\000\240\301z\326\366*\000\000\000Z\304\320\366*\000" __FUNCTION__ = "smb_panic_default" #3 0x00002af6b31183b5 in smb_panic (why=0x2af6b312a875 "internal error") at ../lib/util/fault.c:162 No locals. #4 0x00002af6b311809f in fault_report (sig=11) at ../lib/util/fault.c:77 counter = 1 __FUNCTION__ = "fault_report" #5 0x00002af6b31180b4 in sig_fault (sig=11) at ../lib/util/fault.c:88 No locals. #6 <signal handler called> No symbol table info available. #7 0x00002af6cabef930 in replmd_check_urgent_objectclass ( objectclass_el=0x0, situation=REPL_URGENT_ON_UPDATE) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:205 i = 2 j = 0 #8 0x00002af6cabf29b6 in replmd_update_rpmd (module=0x2af6b17f2c20, schema=0x2af6d05e5570, req=0x2af6d05e8ad0, rename_attrs=0x0, msg=0x2af6d11ef100, seq_num=0x2af6d0c315b8, t=1387895162, is_urgent=0x7fff67c778bf, rodc=0x7fff67c778be) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:1432 omd_value = 0x7fff67c77810 ndr_err = 3508465920 omd = {version = 1741125552, reserved = 32767, ctr = {ctr1 = { count = 3008684740, reserved = 10998, array = 0x7fff67c777b0}}} i = 10998 now = 130323687620000000 our_invocation_id = 0x2af6d1796390 ret = 0 attrs = 0x7fff67c77750 attrs1 = {0x2af6cabff775 "replPropertyMetaData", 0x2af6cabffc8b "*", 0x0} attrs2 = {0x2af6cabff76a "uSNChanged", 0x2af6cabffa98 "objectClass", 0x2af6cabffc8d "instanceType", 0x0} res = 0x2af6d10b0eb0 ldb = 0x2af6b17f2470 objectclass_el = 0x0 situation = REPL_URGENT_ON_UPDATE rmd_is_provided = false __FUNCTION__ = "replmd_update_rpmd" #9 0x00002af6cabf5a06 in replmd_modify (module=0x2af6b17f2c20, req=0x2af6d05e8ad0) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:2455 msds_intid_struct = 0x2af6d05e8ad0 ldb = 0x2af6b17f2470 ac = 0x2af6d0c31580 down_req = 0x2af6d0e6a100 msg = 0x2af6d11ef100 t = 1387895162 ret = 1741125936 is_urgent = false rodc = false functional_level = 3 guid_blob = 0x0 sd_propagation_control = 0x0 #10 0x00002af6bf69f94d in dsdb_module_modify (module=0x2af6b17f2c20, message=0x2af6d1183fe0, dsdb_flags=4194304, parent=0x2af6ce6ea980) at ../source4/dsdb/samdb/ldb_modules/util.c:460 ops = 0x2af6cae06b40 mod_req = 0x2af6d05e8ad0 ret = 0 ldb = 0x2af6b17f2470 tmp_ctx = 0x2af6d0ed62f0 res = 0x2af6d0e6a100 __FUNCTION__ = "dsdb_module_modify" #11 0x00002af6cabf7ebc in replmd_delete_internals (module=0x2af6b17f2c20, req=0x2af6ce6ea980, re_delete=true) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3309 ret = 0 retb = true disallow_move_on_delete = false old_dn = 0x2af6d6a2a010 new_dn = 0x2af6d0794a90 rdn_name = 0x2af6d0885c10 "CN" rdn_value = 0x2af6d10d7368 new_rdn_value = 0x2af6d0c45a00 guid = {time_low = 48, time_mid = 0, time_hi_and_version = 0, clock_seq = "\200\251", node = "n\316\366*\000"} ldb = 0x2af6b17f2470 schema = 0x2af6d05e5570 msg = 0x2af6d1183fe0 old_msg = 0x2af6d1902800 el = 0x2af6d0874900 tmp_ctx = 0x2af6d0b77560 res = 0x2af6d0d57980 parent_res = 0x30 preserved_attrs = {0x2af6cac00fe1 "nTSecurityDescriptor", 0x2af6cac055c3 "attributeID", 0x2af6cac055cf "attributeSyntax", 0x2af6cac055df "dNReferenceUpdate", 0x2af6cac055f1 "dNSHostName", 0x2af6cac055fd "flatName", 0x2af6cac05606 "governsID", 0x2af6cac05610 "groupType", 0x2af6cabffc8d "instanceType", 0x2af6cac0561a "lDAPDisplayName", 0x2af6cac0562a "legacyExchangeDN", 0x2af6cabfe94d "isDeleted", 0x2af6cabfe957 "isRecycled", 0x2af6cac020f8 "lastKnownParent", 0x2af6cac021e8 "msDS-LastKnownRDN", 0x2af6cac0563b "mS-DS-CreatorSID", 0x2af6cac0564c "mSMQOwnerID", 0x2af6cac05658 "nCName", 0x2af6cabffa98 "objectClass", 0x2af6cac0565f "distinguishedName", 0x2af6cabff5b5 "objectGUID", 0x2af6cac05671 "objectSid", 0x2af6cac0567b "oMSyntax", 0x2af6cac05684 "proxiedObjectName", 0x2af6cac014d8 "name", 0x2af6cabff775 "replPropertyMetaData", 0x2af6cac05696 "sAMAccountName", 0x2af6cac056a5 "securityIdentifier", 0x2af6cac056b8 "sIDHistory", 0x2af6cac056c3 "subClassOf", 0x2af6cac01ba8 "systemFlags", 0x2af6cac056ce "trustPartner", 0x2af6cac056db "trustDirection", 0x2af6cac056ea "trustType", 0x2af6cac056f4 "trustAttributes", 0x2af6cabfe9b8 "userAccountControl", 0x2af6cabff76a "uSNChanged", 0x2af6cabff75f "uSNCreated", 0x2af6cabff747 "whenCreated", 0x2af6cabff753 "whenChanged", 0x0} i = 12 el_count = 1 deletion_state = OBJECT_TOMBSTONE next_deletion_state = OBJECT_TOMBSTONE __FUNCTION__ = "replmd_delete_internals" #12 0x00002af6cabfbbe3 in replmd_replicated_apply_isDeleted ( ar=0x2af6d74c0b40) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:4718 del_req = 0x2af6ce6ea980 res = 0x2af6d0cdebf0 tmp_ctx = 0x2af6d0949230 deleted_objects_dn = 0x2af6d1a49f00 msg = 0x2af6d0a39620 ret = 0 #13 0x00002af6cabf0766 in replmd_op_callback (req=0x2af6d05a21e0, ares=0x2af6d0d715c0) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:526 ret = 10998 ac = 0x2af6d74c0b40 replmd_private = 0x2af6b188c7c0 modified_partition = 0x2af6d141b670 partition_ctrl = 0x2af6d1905f40 partition = 0x2af6ce6bdbe0 controls = 0x0 __FUNCTION__ = "replmd_op_callback" #14 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0, ctrls=0x2af6d1629aa0, response=0x0, error=0) at ../lib/ldb/common/ldb_modules.c:832 ares = 0x2af6d0d715c0 #15 0x00002af6cabf896b in replmd_op_possible_conflict_callback ( req=0x2af6d05a21e0, ares=0x2af6b1883eb0, callback=0x2af6cabf0334 <replmd_op_callback>) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3606 conflict_dn = 0x2af6cac03470 ar = 0x2af6d74c0b40 res = 0x2af6b354f89b attrs = {0x2af6cabff775 "replPropertyMetaData", 0x2af6cabff5b5 "objectGUID", 0x0} ret = -682882240 omd_value = 0x7fff67c77e20 omd = {version = 1741127104, reserved = 32767, ctr = {ctr1 = { count = 0, reserved = 0, array = 0x28}}} rmd = 0x2af6d74c0ae0 ndr_err = 10998 rename_incoming_record = false rodc = false rmd_name = 0x7fff67c77e10 omd_name = 0x2af6d74c0b40 msg = 0x2af6b1883e50 __FUNCTION__ = "replmd_op_possible_conflict_callback" #16 0x00002af6cabf93fb in replmd_op_add_callback (req=0x2af6d05a21e0, ares=0x2af6b1883eb0) at ../source4/dsdb/samdb/ldb_modules/repl_meta_data.c:3802 ar = 0x2af6d74c0b40 #17 0x00002af6b1df7ca2 in ldb_module_done (req=0x2af6d05a21e0, ctrls=0x2af6d1629aa0, response=0x0, error=0) at ../lib/ldb/common/ldb_modules.c:832 ares = 0x2af6b1883eb0 #18 0x00002af6ca3c8b6a in partition_req_callback (req=0x2af6d087a1e0, ares=0x2af6d05a1fa0) at ../source4/dsdb/samdb/ldb_modules/partition.c:213 ac = 0x2af6d0949370 module = 0x2af6cd27bf12 nreq = 0x2af6d05b67b0 ret = 0 partition_ctrl = 0x2af6d0d71740 #19 0x00002af6cd2752ab in ltdb_request_done (ctx=0x2af6d1cd7ed0, error=0) at ../lib/ldb/ldb_tdb/ldb_tdb.c:1280 ldb = 0x2af6b17f2470 req = 0x2af6d087a1e0 ares = 0x2af6d05a1fa0 #20 0x00002af6cd275597 in ltdb_callback (ev=0x2af6b17ef8c0, te=0x2af6d17f75d0, t=..., private_data=0x2af6d1cd7ed0) at ../lib/ldb/ldb_tdb/ldb_tdb.c:1390 ctx = 0x2af6d1cd7ed0 ret = 0 #21 0x00002af6b3343259 in tevent_common_loop_timer_delay (ev=0x2af6b17ef8c0) at ../lib/tevent/tevent_timed.c:341 current_time = {tv_sec = 0, tv_usec = 0} te = 0x2af6d17f75d0 #22 0x00002af6b334558a in epoll_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621") at ../lib/tevent/tevent_epoll.c:912 epoll_ev = 0x2af6b17efb00 tval = {tv_sec = 47239056876603, tv_usec = 47239028210096} panic_triggered = false #23 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621") at ../lib/tevent/tevent_standard.c:112 glue_ptr = 0x2af6b17ef9b0 glue = 0x2af6b17ef9b0 ret = 10998 #24 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b1e1eef8 "../lib/ldb/common/ldb.c:621") at ../lib/tevent/tevent.c:530 ret = 0 nesting_stack_ptr = 0x0 #25 0x00002af6b1e154c4 in ldb_wait (handle=0x2af6d67624c0, type=LDB_WAIT_ALL) at ../lib/ldb/common/ldb.c:621 ev = 0x2af6b17ef8c0 ret = 0 #26 0x00002af6b1e1786b in ldb_extended (ldb=0x2af6b17f2470, oid=0x2af6b4c4f9ce "1.3.6.1.4.1.7165.4.4.1", data=0x2af6d0e2bc60, _res=0x7fff67c78240) at ../lib/ldb/common/ldb.c:1506 req = 0x2af6d0c45a00 ret = 0 res = 0x2af6d69238f0 #27 0x00002af6b4c4a0d6 in dsdb_replicated_objects_commit (ldb=0x2af6b17f2470, working_schema=0x0, objects=0x2af6d0e2bc60, notify_uSN=0x2af6d14a65f0) at ../source4/dsdb/repl/replicated_objects.c:773 werr = {w = 0} ext_res = 0x0 cur_schema = 0x0 new_schema = 0x0 ret = 0 seq_num1 = 5554 seq_num2 = 47239626746464 used_global_schema = false tmp_ctx = 0x2af6d03c5860 __FUNCTION__ = "dsdb_replicated_objects_commit" #28 0x00002af6c1c6babb in dreplsrv_op_pull_source_apply_changes_trigger ( req=0x2af6d17daed0, r=0x2af6d17db0d0, ctr_level=6, ctr1=0x0, ctr6=0x2af6d1b02bb0) at ../source4/dsdb/repl/drepl_out_helpers.c:717 state = 0x2af6d17db050 rf1 = {blobsize = 274, consecutive_sync_failures = 0, last_success = 130323684670000000, last_attempt = 130323687610000000, result_last_attempt = {w = 0}, other_info = 0x2af6d0949910, other_info_length = 66, replica_flags = 112, schedule = '\021' <repeats 84 times>, reserved = 0, highwatermark = {tmp_highest_usn = 12398, reserved_usn = 0, highest_usn = 12398}, source_dsa_obj_guid = { time_low = 984092159, time_mid = 850, time_hi_and_version = 18870, clock_seq = "\251X", node = "UF\324\223\205\241"}, source_dsa_invocation_id = { time_low = 1460694408, time_mid = 52035, time_hi_and_version = 18738, clock_seq = "\204}", node = "\264\365\276\372\256\303"}, transport_guid = { time_low = 0, time_mid = 0, time_hi_and_version = 0, clock_seq = "\000", node = "\000\000\000\000\000"}} service = 0x2af6d0ff6b00 partition = 0x2af6d0b6f220 drsuapi = 0x2af6d1c8d480 schema = 0x2af6d05e5570 working_schema = 0x0 mapping_ctr = 0x2af6d1b02c10 object_count = 50 first_object = 0x2af6d0571800 linked_attributes_count = 0 linked_attributes = 0x2af6d5212140 uptodateness_vector = 0x2af6d1a741c0 objects = 0x2af6d0e2bc60 more_data = false status = {w = 0} nt_status = {v = 3006553120} dsdb_repl_flags = 0 __FUNCTION__ = "dreplsrv_op_pull_source_apply_changes_trigger" #29 0x00002af6c1c6b3e7 in dreplsrv_op_pull_source_get_changes_done ( subreq=0x0) at ../source4/dsdb/repl/drepl_out_helpers.c:599 req = 0x2af6d17daed0 state = 0x2af6d17db050 status = {v = 0} r = 0x2af6d17db0d0 ctr_level = 6 ctr1 = 0x0 ctr6 = 0x2af6d1b02bb0 extended_ret = DRSUAPI_EXOP_ERR_NONE #30 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d1a73f70, location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712") at ../lib/tevent/tevent_req.c:102 No locals. #31 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d1a73f70, state=TEVENT_REQ_DONE, location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712") at ../lib/tevent/tevent_req.c:117 No locals. #32 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d1a73f70, location=0x2af6c1c7d5f8 "default/librpc/gen_ndr/ndr_drsuapi_c.c:712") at ../lib/tevent/tevent_req.c:123 No locals. #33 0x00002af6c1c708df in dcerpc_drsuapi_DsGetNCChanges_r_done ( subreq=0x2af6d122f4c0) at default/librpc/gen_ndr/ndr_drsuapi_c.c:712 req = 0x2af6d1a73f70 status = {v = 0} #34 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d122f4c0, location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517") at ../lib/tevent/tevent_req.c:102 No locals. #35 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d122f4c0, state=TEVENT_REQ_DONE, location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517") at ../lib/tevent/tevent_req.c:117 No locals. #36 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d122f4c0, location=0x2af6b575b688 "../librpc/rpc/binding_handle.c:517") at ../lib/tevent/tevent_req.c:123 No locals. #37 0x00002af6b5757ede in dcerpc_binding_handle_call_done (subreq=0x0) at ../librpc/rpc/binding_handle.c:517 req = 0x2af6d122f4c0 state = 0x2af6d122f640 h = 0x2af6d0959d10 error = {v = 0} out_flags = 0 ndr_err = NDR_ERR_SUCCESS #38 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d522f7a0, location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188") at ../lib/tevent/tevent_req.c:102 No locals. #39 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d522f7a0, state=TEVENT_REQ_DONE, location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188") at ../lib/tevent/tevent_req.c:117 No locals. #40 0x00002af6b333e374 in _tevent_req_done (req=0x2af6d522f7a0, location=0x2af6b575b1d0 "../librpc/rpc/binding_handle.c:188") at ../lib/tevent/tevent_req.c:123 No locals. #41 0x00002af6b5757398 in dcerpc_binding_handle_raw_call_done (subreq=0x0) at ../librpc/rpc/binding_handle.c:188 req = 0x2af6d522f7a0 state = 0x2af6d522f920 error = {v = 0} #42 0x00002af6b333e2f8 in _tevent_req_notify_callback (req=0x2af6d0712430, location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322") at ../lib/tevent/tevent_req.c:102 No locals. #43 0x00002af6b333e34d in tevent_req_finish (req=0x2af6d0712430, state=TEVENT_REQ_DONE, location=0x2af6b44b8810 "../source4/librpc/rpc/dcerpc.c:322") at ../lib/tevent/tevent_req.c:117 No locals. #44 0x00002af6b333e472 in tevent_req_trigger (ev=0x2af6b17ef8c0, im=0x2af6d0712500, private_data=0x2af6d0712430) at ../lib/tevent/tevent_req.c:174 req = 0x2af6d0712430 #45 0x00002af6b333d6d4 in tevent_common_loop_immediate (ev=0x2af6b17ef8c0) at ../lib/tevent/tevent_immediate.c:135 im = 0x2af6d0712500 handler = 0x2af6b333e423 <tevent_req_trigger> private_data = 0x2af6d0712430 #46 0x00002af6b3345570 in epoll_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent_epoll.c:907 epoll_ev = 0x2af6b17efb00 tval = {tv_sec = 47239056876603, tv_usec = 47239028210096} panic_triggered = false #47 0x00002af6b3342363 in std_event_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent_standard.c:112 glue_ptr = 0x2af6b17ef9b0 glue = 0x2af6b17ef9b0 ret = 10998 #48 0x00002af6b333c799 in _tevent_loop_once (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent.c:530 ret = 0 nesting_stack_ptr = 0x0 #49 0x00002af6b333ca11 in tevent_common_loop_wait (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent.c:634 ret = 0 #50 0x00002af6b3342405 in std_event_loop_wait (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent_standard.c:138 glue_ptr = 0x2af6b17ef9b0 glue = 0x2af6b17ef9b0 ret = 10998 #51 0x00002af6b333cadc in _tevent_loop_wait (ev=0x2af6b17ef8c0, location=0x2af6b15a7b9f "../source4/smbd/server.c:503") at ../lib/tevent/tevent.c:653 No locals. #52 0x00002af6b15a37bc in binary_smbd_main ( binary_name=0x2af6b15a737b "samba", argc=6, argv=0x7fff67c78de8) at ../source4/smbd/server.c:503 opt_daemon = false opt_interactive = true opt = -1 pc = 0x2af6b17d5040 static_init = {0x2af6b2ac7d8c <server_service_auth_init>, 0x2af6b2aca9e7 <server_service_echo_init>, 0} shared_init = 0x2af6b18143b0 event_ctx = 0x2af6b17ef8c0 stdin_event_flags = 1 status = {v = 0} model = 0x2af6b17d5b90 "single" max_runtime = 7500 Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Mon Jan 6 01:16:13 CET 2014 on sn-devel-104
2014-01-03 15:56:38 +04:00
#
# KDC Tests
#
# This test is for users cached at the RODC
plansmbtorture4testsuite('krb5.kdc', "rodc", ['ncacn_np:$SERVER_IP', "-k", "yes", '-Utestdenied%$PASSWORD',
'--workgroup=$DOMAIN', '--realm=$REALM',
'--option=torture:krb5-upn=testdenied_upn@$REALM.upn',
'--option=torture:expect_rodc=true'],
"samba4.krb5.kdc with account DENIED permission to replicate to an RODC")
plansmbtorture4testsuite('krb5.kdc', "rodc", ['ncacn_np:$SERVER_IP', "-k", "yes", '-Utestallowed\ account%$PASSWORD',
'--workgroup=$DOMAIN', '--realm=$REALM',
'--option=torture:expect_machine_account=true',
'--option=torture:krb5-upn=testallowed\ upn@$REALM',
'--option=torture:krb5-hostname=testallowed',
'--option=torture:expect_rodc=true',
'--option=torture:expect_cached_at_rodc=true'],
"samba4.krb5.kdc with account ALLOWED permission to replicate to an RODC")
# This ensures we have correct behaviour on a server that is not not the PDC emulator
env = "promoted_dc"
plansmbtorture4testsuite('krb5.kdc', env, ['ncacn_np:$SERVER_IP', "-k", "yes", '-U$USERNAME%$PASSWORD', '--workgroup=$DOMAIN', '--realm=$REALM'],
"samba4.krb5.kdc with specified account")
for env in ["rodc", "promoted_dc", "fl2000dc", "fl2008r2dc"]:
if env == "rodc":
# The machine account is cached at the RODC, as it is the local account
extra_options = ['--option=torture:expect_rodc=true', '--option=torture:expect_cached_at_rodc=true']
else:
extra_options = []
plansmbtorture4testsuite('krb5.kdc', "%s:local" % env, ['ncacn_np:$SERVER_IP', "-k", "yes", '-P',
'--workgroup=$DOMAIN', '--realm=$REALM',
'--option=torture:krb5-hostname=$SERVER',
'--option=torture:run_removedollar_test=true',
'--option=torture:expect_machine_account=true'] + extra_options,
"samba4.krb5.kdc with machine account")
for env in [
'vampire_dc',
'promoted_dc']:
planoldpythontestsuite(env, "samba.tests.kcc",
name="samba.tests.kcc",
environ={'TEST_SERVER': '$SERVER', 'TEST_USERNAME': '$USERNAME',
'TEST_PASSWORD': '$PASSWORD',
'TEST_ENV': env
},
extra_path=[os.path.join(srcdir(), "samba/python"), ]
)
planpythontestsuite(env, "samba.tests.samba_tool.visualize_drs")
planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.kcc.kcc_utils")
for env in ["simpleserver", "fileserver", "nt4_dc", "ad_dc", "ad_dc_ntvfs",
"ad_member", "offlinebackupdc", "restoredc", "renamedc", "labdc"]:
planoldpythontestsuite(env, "netlogonsvc",
extra_path=[os.path.join(srcdir(), 'python/samba/tests')],
name="samba.tests.netlogonsvc.python(%s)" % env)
for env in ["ktest", "ad_member", "ad_dc_no_ntlm"]:
planoldpythontestsuite(env, "ntlmdisabled",
extra_path=[os.path.join(srcdir(), 'python/samba/tests')],
name="samba.tests.ntlmdisabled.python(%s)" % env)
# Demote the vampire DC, it must be the last test each DC, before the dbcheck
for env in ['vampire_dc', 'promoted_dc', 'rodc']:
planoldpythontestsuite(env, "samba.tests.samba_tool.demote",
name="samba.tests.samba_tool.demote",
environ={
'CONFIGFILE': '$PREFIX/%s/etc/smb.conf' % env
},
extra_args=['-U"$USERNAME%$PASSWORD"'],
extra_path=[os.path.join(srcdir(), "samba/python")]
)
# TODO: Verifying the databases really should be a part of the
# environment teardown.
# check the databases are all OK. PLEASE LEAVE THIS AS THE LAST TEST
for env in ["ad_dc_ntvfs", "ad_dc", "fl2000dc", "fl2003dc", "fl2008r2dc",
'vampire_dc', 'promoted_dc', 'backupfromdc', 'restoredc',
'renamedc', 'offlinebackupdc', 'labdc']:
plantestsuite("samba4.blackbox.dbcheck(%s)" % env, env + ":local", ["PYTHON=%s" % python, os.path.join(bbdir, "dbcheck.sh"), '$PREFIX/provision', configuration])
# cmocka tests not requiring a specific environment
#
plantestsuite("samba4.dsdb.samdb.ldb_modules.unique_object_sids", "none",
[os.path.join(bindir(), "test_unique_object_sids")])
plantestsuite("samba4.dsdb.samdb.ldb_modules.encrypted_secrets", "none",
[os.path.join(bindir(), "test_encrypted_secrets")])
plantestsuite("lib.audit_logging.audit_logging", "none",
[os.path.join(bindir(), "audit_logging_test")])
plantestsuite("lib.audit_logging.audit_logging.errors", "none",
[os.path.join(bindir(), "audit_logging_error_test")])
plantestsuite("samba4.dsdb.samdb.ldb_modules.audit_util", "none",
[os.path.join(bindir(), "test_audit_util")])
plantestsuite("samba4.dsdb.samdb.ldb_modules.audit_log", "none",
[os.path.join(bindir(), "test_audit_log")])
plantestsuite("samba4.dsdb.samdb.ldb_modules.audit_log.errors", "none",
[os.path.join(bindir(), "test_audit_log_errors")])
plantestsuite("samba4.dsdb.samdb.ldb_modules.group_audit", "none",
[os.path.join(bindir(), "test_group_audit")])
plantestsuite("samba4.dsdb.samdb.ldb_modules.group_audit.errors", "none",
[os.path.join(bindir(), "test_group_audit_errors")])