2 # This script generates a list of testsuites that should be run as part of
3 # the Samba 4 test suite.
5 # The output of this script is parsed by selftest.pl, which then decides
6 # which of the tests to actually run. It will, for example, skip all tests
7 # listed in selftest/skip or only run a subset during "make quicktest".
9 # The idea is that this script outputs all of the tests of Samba 4, not
10 # just those that are known to pass, and list those that should be skipped
11 # or are known to fail in selftest/skip or selftest/knownfail. This makes it
12 # very easy to see what functionality is still missing in Samba 4 and makes
13 # it possible to run the testsuite against other servers, such as Samba 3 or
14 # Windows that have a different set of features.
16 # The syntax for a testsuite is "-- TEST --" on a single line, followed
17 # by the name of the test, the environment it needs and the command to run, all
18 # three separated by newlines. All other lines in the output are considered
39 echo "$cmdline 2>&1 | ../selftest/filter-subunit --prefix=\"$name.\""
42 plantestsuite_loadlist() {
47 echo "-- TEST-LOADLIST --"
48 if [ "$env" = "none" ]; then
51 fullname="$name ($env)"
55 echo "$cmdline \$LOADLIST 2>&1 | ../selftest/filter-subunit --prefix=\"$fullname.\""
58 plantestsuite_idlist() {
63 echo "-- TEST-IDLIST --"
73 # FIXME: Report this using subunit, but re-adjust the testsuite count somehow
74 echo "skipping $name ($reason)"
77 normalize_testname() {
80 echo $name | tr "A-Z- " "a-z._"
87 if $PERL -e 'eval require Test::More;' > /dev/null 2>&1; then
88 plantestsuite "$name" "none" $PERL $cmdline "|" $TAP2SUBUNIT
90 skiptestsuite "$name" "Test::More not available"
94 planpythontestsuite() {
98 plantestsuite_idlist "$module" "$env" PYTHONPATH=$PYTHONPATH:$samba4srcdir/../lib/subunit/python:$samba4srcdir/../lib/testtools $PYTHON -m subunit.run $module
101 plansmbtorturetestsuite() {
106 modname="samba4.`normalize_testname $name`"
107 cmdline="$VALGRIND $smb4torture $other_args $name"
108 plantestsuite_loadlist "$modname" "$env" $cmdline
111 samba4srcdir="`dirname $0`/.."
112 if [ -z "$BUILDDIR" ]; then
113 BUILDDIR="$samba4srcdir"
115 samba4bindir="$BUILDDIR/bin"
116 smb4torture="$samba4bindir/smbtorture${EXEEXT}"
117 if which tap2subunit 2>/dev/null; then
118 TAP2SUBUNIT=tap2subunit
120 TAP2SUBUNIT="PYTHONPATH=$samba4srcdir/../lib/subunit/python:$samba4srcdir/../lib/testtools $PYTHON $samba4srcdir/../lib/subunit/filters/tap2subunit"
124 bbdir=../testprogs/blackbox
126 CONFIGURATION="--configfile=\$SMB_CONF_PATH"
128 rm -rf $SELFTEST_PREFIX/s4client
129 mkdir -p $SELFTEST_PREFIX/s4client
132 TORTURE_OPTIONS="$TORTURE_OPTIONS $CONFIGURATION"
133 TORTURE_OPTIONS="$TORTURE_OPTIONS --maximum-runtime=$SELFTEST_MAXTIME"
134 TORTURE_OPTIONS="$TORTURE_OPTIONS --target=$SELFTEST_TARGET"
135 TORTURE_OPTIONS="$TORTURE_OPTIONS --basedir=$SELFTEST_PREFIX/s4client"
136 if [ -z "$SELFTEST_VERBOSE" ]; then
137 TORTURE_OPTIONS="$TORTURE_OPTIONS --option=torture:progress=no"
139 TORTURE_OPTIONS="$TORTURE_OPTIONS --format=subunit"
140 if [ -n "$SELFTEST_QUICK" ]; then
141 TORTURE_OPTIONS="$TORTURE_OPTIONS --option=torture:quick=yes"
143 smb4torture="$smb4torture $TORTURE_OPTIONS"
145 echo "OPTIONS $TORTURE_OPTIONS"
147 # Simple tests for LDAP and CLDAP
149 for options in "" "--option=socket:testnonblock=true" "-U\$USERNAME%\$PASSWORD --option=socket:testnonblock=true" "-U\$USERNAME%\$PASSWORD" "-U\$USERNAME%\$PASSWORD -k yes" "-U\$USERNAME%\$PASSWORD -k no" "-U\$USERNAME%\$PASSWORD -k no --sign" "-U\$USERNAME%\$PASSWORD -k no --encrypt" "-U\$USERNAME%\$PASSWORD -k yes --encrypt" "-U\$USERNAME%\$PASSWORD -k yes --sign"; do
150 plantestsuite "ldb.ldap with options $options (dc)" dc $bbdir/test_ldb.sh ldap \$SERVER $options
152 # see if we support ldaps
153 [ -n "$CONFIG_H" ] || {
154 CONFIG_H="$samba4bindir/default/source4/include/config.h"
156 if grep ENABLE_GNUTLS.1 $CONFIG_H > /dev/null; then
157 for options in "" "-U\$USERNAME%\$PASSWORD"; do
158 plantestsuite "ldb.ldaps with options $options (dc)" dc $bbdir/test_ldb.sh ldaps \$SERVER_IP $options
161 for options in "" "-U\$USERNAME%\$PASSWORD"; do
162 plantestsuite "ldb.ldapi with options $options (dc:local)" dc:local $bbdir/test_ldb.sh ldapi \$PREFIX_ABS/dc/private/ldapi $options
164 for t in `$smb4torture --list | grep "^LDAP-"`
166 plansmbtorturetestsuite "$t" dc "-U\$USERNAME%\$PASSWORD" //\$SERVER_IP/_none_
169 LDBDIR=$samba4srcdir/lib/ldb
171 # Don't run LDB tests when using system ldb, as we won't have ldbtest installed
172 if [ -f $samba4bindir/ldbtest ]; then
173 plantestsuite "ldbbase" none TEST_DATA_PREFIX=\$PREFIX $LDBDIR/tests/test-tdb.sh
175 skiptestsuite "ldbbase" "Using system LDB, ldbtest not available"
180 # add tests to this list as they start passing, so we test
181 # that they stay passing
182 ncacn_np_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON 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"
183 ncalrpc_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-DRSUAPI RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
184 drs_rpc_tests=`$smb4torture --list | grep '^DRS-RPC'`
185 ncacn_ip_tcp_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT RPC-OBJECTUUID $drs_rpc_tests"
186 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"
187 slow_ncalrpc_tests="RPC-SAMR RPC-SAMR-PASSWORDS"
188 slow_ncacn_ip_tcp_tests="RPC-SAMR RPC-SAMR-PASSWORDS RPC-CRACKNAMES"
190 all_tests="$ncalrpc_tests $ncacn_np_tests $ncacn_ip_tcp_tests $slow_ncalrpc_tests $slow_ncacn_np_tests $slow_ncacn_ip_tcp_tests RPC-LSA-SECRETS RPC-SAMBA3-SHARESEC RPC-COUNTCALLS"
192 # Make sure all tests get run
193 rpc_tests=`$smb4torture --list | grep '^RPC-'`
194 rpc_tests_list="${rpc_tests}"
195 for t in $rpc_tests_list
197 echo $all_tests | grep "$t" > /dev/null
200 auto_rpc_tests="$auto_rpc_tests $t"
204 for bindoptions in seal,padcheck $VALIDATE bigendian; do
205 for transport in ncalrpc ncacn_np ncacn_ip_tcp; do
208 ncalrpc) tests=$ncalrpc_tests;env="dc:local" ;;
209 ncacn_np) tests=$ncacn_np_tests ;;
210 ncacn_ip_tcp) tests=$ncacn_ip_tcp_tests ;;
213 plantestsuite_loadlist "samba4.`normalize_testname $t` on $transport with $bindoptions" $env $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
215 plantestsuite_loadlist "samba4.rpc.samba3.sharesec on $transport with $bindoptions" $env $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN --option=torture:share=tmp RPC-SAMBA3-SHARESEC "$*"
219 for bindoptions in "" $VALIDATE bigendian; do
220 for t in $auto_rpc_tests; do
221 plantestsuite_loadlist "samba4.`normalize_testname $t` with $bindoptions" dc $VALGRIND $smb4torture "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
226 plantestsuite_loadlist "samba4.`normalize_testname $t`" dc:local $VALGRIND $smb4torture "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
228 for bindoptions in connect $VALIDATE ; do
229 for transport in ncalrpc ncacn_np ncacn_ip_tcp; do
232 ncalrpc) tests=$slow_ncalrpc_tests; env="dc:local" ;;
233 ncacn_np) tests=$slow_ncacn_np_tests ;;
234 ncacn_ip_tcp) tests=$slow_ncacn_ip_tcp_tests ;;
237 plantestsuite_loadlist "samba4.`normalize_testname $t` on $transport with $bindoptions" $env $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
241 # Tests for the DFS referral calls implementation
243 dfsc=`$smb4torture --list | grep "^DFS-" | xargs`
246 plansmbtorturetestsuite "$t" dc $ADDARGS //\$SERVER/ipc$ -U"\$USERNAME"%"\$PASSWORD"
249 # Tests for the NET API (NET-API-BECOME-DC tested below against all the roles)
251 net=`$smb4torture --list | grep "^NET-" | grep -v NET-API-BECOME-DC`
254 plansmbtorturetestsuite "$t" dc "\$SERVER[$VALIDATE]" -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "$*"
257 # Tests for session keys and encryption of RPC pipes
258 # FIXME: Integrate these into a single smbtorture test
263 "-k no --option=usespnego=yes" \
264 "-k no --option=usespnego=yes --option=ntlmssp_client:128bit=no" \
265 "-k no --option=usespnego=yes --option=ntlmssp_client:56bit=yes" \
266 "-k no --option=usespnego=yes --option=ntlmssp_client:56bit=no" \
267 "-k no --option=usespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes" \
268 "-k no --option=usespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=no" \
269 "-k no --option=usespnego=yes --option=clientntlmv2auth=yes" \
270 "-k no --option=usespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no" \
271 "-k no --option=usespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes" \
272 "-k no --option=usespnego=no --option=clientntlmv2auth=yes" \
273 "-k no --option=gensec:spnego=no --option=clientntlmv2auth=yes" \
274 "-k no --option=usespnego=no"; do
275 name="rpc.lsa.secrets on $transport with $bindoptions with $ntlmoptions"
276 plantestsuite_loadlist "samba4.$name" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN --option=gensec:target_hostname=\$NETBIOSNAME RPC-LSA-SECRETS "$*"
279 transports="ncacn_np ncacn_ip_tcp"
281 #Kerberos varies between functional levels, so it is important to check this on all of them
282 for env in dc fl2000dc fl2003dc fl2008r2dc; do
283 for transport in $transports; do
284 plantestsuite_loadlist "samba4.rpc.lsa.secrets on $transport with $bindoptions with Kerberos" $env $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-LSA-SECRETS "$*"
285 plantestsuite_loadlist "samba4.rpc.lsa.secrets on $transport with $bindoptions with Kerberos - use target principal" $env $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=clientusespnegoprincipal=yes" "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-LSA-SECRETS "$*"
286 plantestsuite_loadlist "samba4.rpc.lsa.secrets on $transport with Kerberos - use Samba3 style login" $env $smb4torture $transport:"\$SERVER" -k yes -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "--option=gensec:fake_gssapi_krb5=yes" "--option=gensec:gssapi_krb5=no" "--option=gensec:target_hostname=\$NETBIOSNAME" "RPC-LSA-SECRETS-none*" "$*"
287 plantestsuite_loadlist "samba4.rpc.lsa.secrets on $transport with Kerberos - use Samba3 style login, use target principal" $env $smb4torture $transport:"\$SERVER" -k yes -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "--option=clientusespnegoprincipal=yes" "--option=gensec:fake_gssapi_krb5=yes" "--option=gensec:gssapi_krb5=no" "--option=gensec:target_hostname=\$NETBIOSNAME" "RPC-LSA-SECRETS-none*" "$*"
288 plansmbtorturetestsuite NET-API-BECOME-DC $env "\$SERVER[$VALIDATE]" -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "$*"
289 plantestsuite_loadlist "samba4.rpc.echo on $transport with $bindoptions and $echooptions" $env $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" RPC-ECHO "$*"
291 # Echo tests test bulk Kerberos encryption of DCE/RPC
292 for bindoptions in connect spnego spnego,sign spnego,seal $VALIDATE padcheck bigendian bigendian,seal; do
293 echooptions="--option=socket:testnonblock=True --option=torture:quick=yes -k yes"
294 plantestsuite_loadlist "samba4.rpc.echo on $transport with $bindoptions and $echooptions" $env $smb4torture $transport:"\$SERVER[$bindoptions]" $echooptions -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" RPC-ECHO "$*"
299 for transport in $transports; do
300 for bindoptions in sign seal; do
302 "--option=ntlmssp_client:ntlm2=yes --option=torture:quick=yes" \
303 "--option=ntlmssp_client:ntlm2=no --option=torture:quick=yes" \
304 "--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:128bit=no --option=torture:quick=yes" \
305 "--option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:128bit=no --option=torture:quick=yes" \
306 "--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
307 "--option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
308 "--option=clientntlmv2auth=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
309 "--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=yes --option=torture:quick=yes" \
310 "--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
313 if test x"$transport" = x"ncalrpc"; then
316 plantestsuite_loadlist "samba4.rpc.echo on $transport with $bindoptions and $ntlmoptions" $env $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*"
321 plantestsuite_loadlist "samba4.rpc.echo on ncacn_np over smb2" dc $smb4torture ncacn_np:"\$SERVER[smb2]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*"
323 plantestsuite_loadlist "samba4.ntp.signd" dc:local $smb4torture ncacn_np:"\$SERVER" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN NTP-SIGND "$*"
325 # Tests against the NTVFS POSIX backend
327 NTVFSARGS="${NTVFSARGS} --option=torture:sharedelay=10000"
328 NTVFSARGS="${NTVFSARGS} --option=torture:oplocktimeout=3"
329 NTVFSARGS="${NTVFSARGS} --option=torture:writetimeupdatedelay=50000"
331 smb2=`$smb4torture --list | grep "^SMB2-" | xargs`
332 #The QFILEINFO-IPC test needs to be on ipc$
333 raw=`$smb4torture --list | grep "^RAW-" | grep -v "RAW-QFILEINFO-IPC"| xargs`
334 base=`$smb4torture --list | grep "^BASE-" | xargs`
336 for t in $base $raw $smb2; do
337 plansmbtorturetestsuite "$t" dc $ADDARGS //\$SERVER/tmp -U"\$USERNAME"%"\$PASSWORD" $NTVFSARGS
340 plansmbtorturetestsuite "RAW-QFILEINFO-IPC" dc $ADDARGS //\$SERVER/ipc$ -U"\$USERNAME"%"\$PASSWORD"
342 rap=`$smb4torture --list | grep "^RAP-" | xargs`
344 plansmbtorturetestsuite "$t" dc $ADDARGS //\$SERVER/IPC\\\$ -U"\$USERNAME"%"\$PASSWORD"
347 # Tests against the NTVFS CIFS backend
348 for t in $base $raw; do
349 plantestsuite_loadlist "samba4.ntvfs.cifs.`normalize_testname $t`" dc $VALGRIND $smb4torture //\$NETBIOSNAME/cifs -U"\$USERNAME"%"\$PASSWORD" $NTVFSARGS $t
354 for t in `$smb4torture --list | grep "^LOCAL-" | xargs`; do
355 plansmbtorturetestsuite "$t" none ncalrpc: "$*"
358 tdbtorture4="$samba4bindir/tdbtorture${EXEEXT}"
359 if test -f $tdbtorture4
361 plantestsuite "tdb.stress" none $VALGRIND $tdbtorture4
363 skiptestsuite "tdb.stress" "Using system TDB, tdbtorture not available"
366 plansmbtorturetestsuite "DRS-UNIT" none ncalrpc: "$*"
369 for f in $samba4srcdir/../pidl/tests/*.pl; do
370 planperltestsuite "pidl.`basename $f .pl`" $f
372 planperltestsuite "selftest.samba4" $samba4srcdir/../selftest/test_samba4.pl
375 # tests that interact directly with the command-line tools rather than using
376 # the API. These mainly test that the various command-line options of commands
379 planpythontestsuite none samba.tests.blackbox.ndrdump
380 plantestsuite "samba4.blackbox.net (dc:local)" dc:local $samba4srcdir/utils/tests/test_net.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN"
381 plantestsuite "samba4.blackbox.pkinit (dc:local)" dc:local $bbdir/test_pkinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" aes256-cts-hmac-sha1-96 $CONFIGURATION
382 plantestsuite "samba4.blackbox.kinit (dc:local)" dc:local $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" aes256-cts-hmac-sha1-96 $CONFIGURATION
383 plantestsuite "samba4.blackbox.kinit (fl2000dc:local)" fl2000dc:local $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" arcfour-hmac-md5 $CONFIGURATION
384 plantestsuite "samba4.blackbox.kinit (fl2008r2dc:local)" fl2008r2dc:local $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" aes256-cts-hmac-sha1-96 $CONFIGURATION
385 plantestsuite "samba4.blackbox.ktpass (dc)" dc $bbdir/test_ktpass.sh $PREFIX
386 plantestsuite "samba4.blackbox.passwords (dc:local)" dc:local $bbdir/test_passwords.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX"
387 plantestsuite "samba4.blackbox.export.keytab (dc:local)" dc:local $bbdir/test_export_keytab.sh "\$SERVER" "\$USERNAME" "\$REALM" "\$DOMAIN" "$PREFIX"
388 plantestsuite "samba4.blackbox.cifsdd (dc)" dc $samba4srcdir/client/tests/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN"
389 plantestsuite "samba4.blackbox.nmblookup (dc)" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP"
390 plantestsuite "samba4.blackbox.nmblookup (member)" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP"
391 plantestsuite "samba4.blackbox.locktest (dc)" dc $samba4srcdir/torture/tests/test_locktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX"
392 plantestsuite "samba4.blackbox.masktest (masktest)" dc $samba4srcdir/torture/tests/test_masktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX"
393 plantestsuite "samba4.blackbox.gentest (dc)" dc $samba4srcdir/torture/tests/test_gentest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX"
394 plantestsuite "samba4.blackbox.wbinfo (dc:local)" dc:local $samba4srcdir/../nsswitch/tests/test_wbinfo.sh "\$DOMAIN" "\$USERNAME" "\$PASSWORD" "dc"
395 plantestsuite "samba4.blackbox.wbinfo (member:local)" member:local $samba4srcdir/../nsswitch/tests/test_wbinfo.sh "\$DOMAIN" "\$DC_USERNAME" "\$DC_PASSWORD" "member"
396 plantestsuite "samba4.blackbox.chgdcpass (dc)" dc $bbdir/test_chgdcpass.sh "\$SERVER" "LOCALDC\\\$" "\$REALM" "\$DOMAIN" "$PREFIX" aes256-cts-hmac-sha1-96 $SELFTEST_PREFIX/dc
398 # Tests using the "Simple" NTVFS backend
399 for t in "BASE-RW1"; do
400 plantestsuite_loadlist "samba4.ntvfs.simple.`normalize_testname $t`" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/simple -U"\$USERNAME"%"\$PASSWORD" $t
403 # Domain Member Tests
404 plantestsuite_loadlist "samba4.rpc.echo against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" RPC-ECHO "$*"
405 plantestsuite_loadlist "samba4.rpc.echo against member server with domain creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD" RPC-ECHO "$*"
406 plantestsuite_loadlist "samba4.rpc.samr against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR" "$*"
407 plantestsuite_loadlist "samba4.rpc.samr.users against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-USERS" "$*"
408 plantestsuite_loadlist "samba4.rpc.samr.passwords against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-PASSWORDS" "$*"
409 plantestsuite "samba4.blackbox.smbclient against member server with local creds" member $samba4srcdir/client/tests/test_smbclient.sh "\$NETBIOSNAME" "\$USERNAME" "\$PASSWORD" "\$NETBIOSNAME" "$PREFIX"
412 plantestsuite_loadlist "samba4.rpc.echo against rpc proxy with domain creds" rpc_proxy $VALGRIND $smb4torture ncacn_ip_tcp:"\$NETBIOSNAME" -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD" RPC-ECHO "$*"
417 "-k no --option=usespnego=no" \
418 "-k no --option=gensec:spengo=no" \
420 "-k yes --option=gensec:fake_gssapi_krb5=yes --option=gensec:gssapi_krb5=no"; do
423 "--signing=required"; do
425 signoptions="$mech $signing"
426 name="smb.signing on with $signoptions"
427 plantestsuite_loadlist "samba4.$name" dc $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp $signoptions -U"\$USERNAME"%"\$PASSWORD" BASE-XCOPY "$*"
433 "-k no --option=usespnego=no" \
434 "-k no --option=gensec:spengo=no" \
436 "-k yes --option=gensec:fake_gssapi_krb5=yes --option=gensec:gssapi_krb5=no"; do
437 signoptions="$mech --signing=off"
438 name="smb.signing on with $signoptions"
439 plantestsuite_loadlist "samba4.$name domain-creds" member $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp $signoptions -U"\$DC_USERNAME"%"\$DC_PASSWORD" BASE-XCOPY "$*"
443 "-k no --option=usespnego=no" \
444 "-k no --option=gensec:spengo=no"; do
445 signoptions="$mech --signing=off"
446 name="smb.signing on with $signoptions"
447 plantestsuite_loadlist "samba4.$name local-creds" member $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp $signoptions -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" BASE-XCOPY "$*"
449 plantestsuite_loadlist "samba4.smb.signing --signing=yes anon" dc $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp -k no --signing=yes -U% BASE-XCOPY "$*"
450 plantestsuite_loadlist "samba4.smb.signing --signing=required anon" dc $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp -k no --signing=required -U% BASE-XCOPY "$*"
451 plantestsuite_loadlist "samba4.smb.signing --signing=no anon" member $VALGRIND $smb4torture //"\$NETBIOSNAME"/tmp -k no --signing=no -U% BASE-XCOPY "$*"
453 NBT_TESTS=`$smb4torture --list | grep "^NBT-" | xargs`
454 for t in $NBT_TESTS; do
455 plansmbtorturetestsuite "$t" dc //\$SERVER/_none_ -U\$USERNAME%\$PASSWORD
458 WB_OPTS="--option=\"torture:strict mode=no\""
459 WB_OPTS="${WB_OPTS} --option=\"torture:timelimit=1\""
460 WB_OPTS="${WB_OPTS} --option=\"torture:winbindd_separator=/\""
461 WB_OPTS="${WB_OPTS} --option=\"torture:winbindd_netbios_name=\$SERVER\""
462 WB_OPTS="${WB_OPTS} --option=\"torture:winbindd_netbios_domain=\$DOMAIN\""
464 WINBIND_STRUCT_TESTS=`$smb4torture --list | grep "^WINBIND-STRUCT" | xargs`
465 WINBIND_NDR_TESTS=`$smb4torture --list | grep "^WINBIND-NDR" | xargs`
466 for env in dc member; do
467 for t in $WINBIND_STRUCT_TESTS; do
468 plansmbtorturetestsuite $t $env $WB_OPTS //_none_/_none_
471 for t in $WINBIND_NDR_TESTS; do
472 plansmbtorturetestsuite $t $env $WB_OPTS //_none_/_none_
476 nsstest4="$samba4bindir/nsstest${EXEEXT}"
479 plantestsuite "samba4.nss.test using winbind (member)" member $VALGRIND $nsstest4 $samba4bindir/shared/libnss_winbind.so
482 SUBUNITRUN="$VALGRIND $PYTHON $samba4srcdir/scripting/bin/subunitrun"
483 plantestsuite "ldb.python" none PYTHONPATH="$PYTHONPATH:$samba4srcdir/lib/ldb/tests/python/" $PYTHON $samba4srcdir/lib/ldb/tests/python/api.py
484 plantestsuite "samba4.credentials.python" none PYTHONPATH="$PYTHONPATH:$samba4srcdir/auth/credentials/tests" $SUBUNITRUN bindings
485 planpythontestsuite none samba.tests.gensec
486 planpythontestsuite none samba.tests.registry
487 plantestsuite "tdb.python" none PYTHONPATH="$PYTHONPATH:../lib/tdb/python/tests" $SUBUNITRUN simple
488 planpythontestsuite none samba.tests.auth
489 planpythontestsuite none samba.tests.security
490 planpythontestsuite none samba.tests.dcerpc.misc
491 planpythontestsuite none samba.tests.param
492 planpythontestsuite none samba.tests.upgrade
493 planpythontestsuite none samba.tests.core
494 planpythontestsuite none samba.tests.provision
495 planpythontestsuite none samba.tests.samba3
496 planpythontestsuite dc:local samba.tests.dcerpc.sam
497 planpythontestsuite dc:local samba.tests.dsdb
498 planpythontestsuite none samba.tests.netcmd
499 planpythontestsuite dc:local samba.tests.dcerpc.bare
500 planpythontestsuite dc:local samba.tests.dcerpc.unix
501 planpythontestsuite none samba.tests.dcerpc.rpc_talloc
502 planpythontestsuite none samba.tests.samdb
503 planpythontestsuite none samba.tests.shares
504 planpythontestsuite none samba.tests.messaging
505 plantestsuite "samba4.samba3sam.python" none PYTHONPATH="$PYTHONPATH:$samba4srcdir/dsdb/samdb/ldb_modules/tests" $SUBUNITRUN samba3sam
506 planpythontestsuite none subunit
507 planpythontestsuite dc:local samba.tests.dcerpc.rpcecho
508 plantestsuite "samba4.winreg.python (dc:local)" dc:local $SUBUNITRUN -U\$USERNAME%\$PASSWORD samba.tests.dcerpc.registry
509 plantestsuite "samba4.ldap.python (dc)" dc PYTHONPATH="$PYTHONPATH:../lib/subunit/python:../lib/testtools" $PYTHON $samba4srcdir/dsdb/tests/python/ldap.py \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
510 plantestsuite "samba4.schemaInfo.python (dc)" dc PYTHONPATH="$PYTHONPATH:$samba4srcdir/dsdb/tests/python/" $SUBUNITRUN dsdb_schema_info -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD"
511 plantestsuite "samba4.urgent_replication.python (dc)" dc PYTHONPATH="$PYTHONPATH:../lib/subunit/python:../lib/testtools" $PYTHON $samba4srcdir/dsdb/tests/python/urgent_replication.py \$PREFIX_ABS/dc/private/sam.ldb
512 for env in "dc" "fl2000dc" "fl2003dc" "fl2008r2dc"; do
513 plantestsuite "samba4.ldap_schema.python ($env)" $env PYTHONPATH="$PYTHONPATH:../lib/subunit/python:../lib/testtools" $PYTHON $samba4srcdir/dsdb/tests/python/ldap_schema.py \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
514 plantestsuite "samba4.ldap.possibleInferiors.python ($env)" $env $PYTHON $samba4srcdir/dsdb/samdb/ldb_modules/tests/possibleinferiors.py ldap://\$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
515 plantestsuite "samba4.ldap.secdesc.python ($env)" $env PYTHONPATH="$PYTHONPATH:../lib/subunit/python:../lib/testtools" $PYTHON $samba4srcdir/dsdb/tests/python/sec_descriptor.py \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
516 plantestsuite "samba4.ldap.acl.python ($env)" $env PYTHONPATH="$PYTHONPATH:../lib/subunit/python:../lib/testtools" $PYTHON $samba4srcdir/dsdb/tests/python/acl.py \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
517 plantestsuite "samba4.ldap.passwords.python ($env)" $env PYTHONPATH="$PYTHONPATH:../lib/subunit/python:../lib/testtools" $PYTHON $samba4srcdir/dsdb/tests/python/passwords.py \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
519 planpythontestsuite dc:local samba.tests.upgradeprovisionneeddc
520 planpythontestsuite none samba.tests.upgradeprovision
521 planpythontestsuite none samba.tests.xattr
522 planpythontestsuite none samba.tests.ntacls
523 plantestsuite "samba4.deletetest.python (dc)" dc PYTHONPATH="$PYTHONPATH:../lib/subunit/python:../lib/testtools" $PYTHON $samba4srcdir/dsdb/tests/python/deletetest.py \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
524 plantestsuite "samba4.policy.python" none PYTHONPATH="$PYTHONPATH:lib/policy/tests/python" $SUBUNITRUN bindings
525 plantestsuite "samba4.blackbox.samba3dump" none $PYTHON $samba4srcdir/scripting/bin/samba3dump $samba4srcdir/../testdata/samba3
526 rm -rf $PREFIX/upgrade
527 plantestsuite "samba4.blackbox.upgrade" none $PYTHON $samba4srcdir/setup/upgrade_from_s3 --targetdir=$PREFIX/upgrade $samba4srcdir/../testdata/samba3 ../testdata/samba3/smb.conf
528 rm -rf $PREFIX/provision
529 mkdir $PREFIX/provision
530 plantestsuite "samba4.blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX/provision"
531 plantestsuite "samba4.blackbox.provision-backend.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision-backend.sh "$PREFIX/provision"
532 plantestsuite "samba4.blackbox.upgradeprovision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_upgradeprovision.sh "$PREFIX/provision"
533 plantestsuite "samba4.blackbox.setpassword.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_setpassword.sh "$PREFIX/provision"
534 plantestsuite "samba4.blackbox.newuser.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_newuser.sh "$PREFIX/provision"
535 plantestsuite "samba4.blackbox.group.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_group.sh "$PREFIX/provision"
536 plantestsuite "samba4.blackbox.spn.py (dc:local)" dc:local PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_spn.sh "$PREFIX/dc"
539 plantestsuite "samba4.drs_delete_object.python (vampire_dc)" vampire_dc PYTHONPATH="$PYTHONPATH:$samba4srcdir/torture/drs/python" DC1=\$DC_SERVER DC2=\$VAMPIRE_DC_SERVER $SUBUNITRUN delete_object -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD"
540 plantestsuite "samba4.drs_fsmo.python (vampire_dc)" vampire_dc PYTHONPATH="$PYTHONPATH:$samba4srcdir/torture/drs/python" DC1=\$DC_SERVER DC2=\$VAMPIRE_DC_SERVER $SUBUNITRUN fsmo -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD"
542 # This makes sure we test the rid allocation code
543 t="RPC-SAMR-LARGE-DC"
544 plantestsuite_loadlist "samba4.`normalize_testname $t.one`" vampire_dc $VALGRIND $smb4torture "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
545 plantestsuite_loadlist "samba4.`normalize_testname $t.two`" vampire_dc $VALGRIND $smb4torture "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
548 plantestsuite_loadlist "samba4.rpc.echo to RODC" "rodc" $smb4torture ncacn_np:"\$SERVER" -k yes -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" RPC-ECHO "$*"