Fix and test python scripts and kerberos
[Samba.git] / source / selftest / samba4_tests.sh
blob64b2c7b56484fb5e23c7fac4a7004f994119abc4
1 #!/bin/sh
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 samba4-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 file in samba4-skip/samba4-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
19 # comments.
21 if [ ! -n "$PERL" ]
22 then
23 PERL=perl
26 incdir=`dirname $0`
28 plantest() {
29 name=$1
30 env=$2
31 shift 2
32 cmdline="$*"
33 echo "-- TEST --"
34 if [ "$env" = "none" ]; then
35 echo "samba4.$name"
36 else
37 echo "samba4.$name ($env)"
39 echo $env
40 echo $cmdline
43 normalize_testname() {
44 name=$1
45 shift 1
46 echo $name | tr "A-Z-" "a-z."
49 plansmbtorturetest() {
50 name=$1
51 env=$2
52 shift 2
53 other_args="$*"
54 modname=`normalize_testname $name`
55 cmdline="$VALGRIND $smb4torture $other_args $name"
56 plantest "$modname" "$env" $cmdline
59 $incdir/../bin/smbtorture -V
61 samba4srcdir=$incdir/..
62 samba4bindir=$samba4srcdir/bin
63 SCRIPTDIR=$samba4srcdir/../testprogs/ejs
64 smb4torture="$samba4bindir/smbtorture $TORTURE_OPTIONS"
66 plantest "js.base" dc "$SCRIPTDIR/base.js" $CONFIGURATION
67 plantest "js.samr" dc "$SCRIPTDIR/samr.js" $CONFIGURATION ncalrpc: -U\$USERNAME%\$PASSWORD
68 plantest "js.echo" dc "$SCRIPTDIR/echo.js" $CONFIGURATION ncalrpc: -U\$USERNAME%\$PASSWORD
69 #plantest "ejsnet.js" dc "$SCRIPTDIR/ejsnet.js" $CONFIGURATION -U\$USERNAME%\$PASSWORD \$DOMAIN ejstestuser
70 plantest "js.ldb" none "$SCRIPTDIR/ldb.js" `pwd` $CONFIGURATION -d 10
71 plantest "js.winreg" dc $samba4srcdir/scripting/bin/winreg $CONFIGURATION ncalrpc: 'HKLM' -U\$USERNAME%\$PASSWORD
73 # Simple tests for LDAP and CLDAP
75 for options in "" "--option=socket:testnonblock=true" "-U\$USERNAME%\$PASSWORD --option=socket:testnonblock=true" "-U\$USERNAME%\$PASSWORD"; do
76 plantest "ldb.ldap with options $options" dc $samba4srcdir/../testprogs/blackbox/test_ldb.sh ldap \$SERVER_IP $options
77 done
78 # see if we support ldaps
79 if grep ENABLE_GNUTLS.1 include/config.h > /dev/null; then
80 for options in "" "-U\$USERNAME%\$PASSWORD"; do
81 plantest "ldb.ldaps with options $options" dc $samba4srcdir/../testprogs/blackbox/test_ldb.sh ldaps \$SERVER_IP $options
82 done
84 plantest "ldb.ldapi with options $options" dc $samba4srcdir/../testprogs/blackbox/test_ldb.sh ldapi \$PREFIX_ABS/dc/private/ldapi $options
85 for t in LDAP-CLDAP LDAP-BASIC LDAP-SCHEMA LDAP-UPTODATEVECTOR
87 plansmbtorturetest "$t" dc "-U\$USERNAME%\$PASSWORD" //\$SERVER_IP/_none_
88 done
90 # only do the ldb tests when not in quick mode - they are quite slow, and ldb
91 # is now pretty well tested by the rest of the quick tests anyway
92 LDBDIR=$samba4srcdir/lib/ldb
93 export LDBDIR
94 plantest "ldb" none TEST_DATA_PREFIX=\$PREFIX $LDBDIR/tests/test-tdb.sh
95 plantest "js.ldap" dc $SCRIPTDIR/ldap.js $CONFIGURATION -d 10 \$SERVER -U\$USERNAME%\$PASSWORD
97 # Tests for RPC
99 # add tests to this list as they start passing, so we test
100 # that they stay passing
101 ncacn_np_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-SAMSYNC RPC-SAMBA3SESSIONKEY RPC-SAMBA3-GETUSERNAME RPC-SAMBA3-LSA RPC-BINDSAMBA3 RPC-NETLOGSAMBA3 RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
102 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"
103 ncacn_ip_tcp_tests="RPC-SCHANNEL RPC-JOIN RPC-LSA RPC-DSSETUP RPC-ALTERCONTEXT RPC-MULTIBIND RPC-NETLOGON RPC-HANDLES RPC-DSSYNC RPC-ASYNCBIND RPC-LSALOOKUP RPC-LSA-GETUSER RPC-SCHANNEL2 RPC-AUTHCONTEXT"
104 slow_ncacn_np_tests="RPC-SAMLOGON RPC-SAMR RPC-SAMR-USERS RPC-SAMR-PASSWORDS"
105 slow_ncalrpc_tests="RPC-SAMR RPC-SAMR-PASSWORDS"
106 slow_ncacn_ip_tcp_tests="RPC-SAMR RPC-SAMR-PASSWORDS RPC-CRACKNAMES"
108 all_tests="$ncalrpc_tests $ncacn_np_tests $ncacn_ip_tcp_tests $slow_ncalrpc_tests $slow_ncacn_np_tests $slow_ncacn_ip_tcp_tests RPC-SECRETS RPC-SAMBA3-SHARESEC"
110 # Make sure all tests get run
111 for t in `$smb4torture --list | grep "^RPC-"`
113 echo $all_tests | grep $t > /dev/null
114 if [ $? -ne 0 ]
115 then
116 auto_rpc_tests="$auto_rpc_tests $t"
118 done
120 for bindoptions in seal,padcheck $VALIDATE bigendian; do
121 for transport in ncalrpc ncacn_np ncacn_ip_tcp; do
122 case $transport in
123 ncalrpc) tests=$ncalrpc_tests ;;
124 ncacn_np) tests=$ncacn_np_tests ;;
125 ncacn_ip_tcp) tests=$ncacn_ip_tcp_tests ;;
126 esac
127 for t in $tests; do
128 plantest "`normalize_testname $t` on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
129 done
130 plantest "rpc.samba3.sharesec on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN --option=torture:share=tmp RPC-SAMBA3-SHARESEC "$*"
131 done
132 done
134 for bindoptions in "" $VALIDATE bigendian; do
135 for t in $auto_rpc_tests; do
136 plantest "`normalize_testname $t` with $bindoptions" dc $VALGRIND $smb4torture "\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
137 done
138 done
140 for bindoptions in connect $VALIDATE ; do
141 for transport in ncalrpc ncacn_np ncacn_ip_tcp; do
142 case $transport in
143 ncalrpc) tests=$slow_ncalrpc_tests ;;
144 ncacn_np) tests=$slow_ncacn_np_tests ;;
145 ncacn_ip_tcp) tests=$slow_ncacn_ip_tcp_tests ;;
146 esac
147 for t in $tests; do
148 plantest "`normalize_testname $t` on $transport with $bindoptions" dc $VALGRIND $smb4torture $transport:"\$SERVER[$bindoptions]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN $t "$*"
149 done
150 done
151 done
154 # Tests for the NET API
156 net=`$smb4torture --list | grep ^NET-`
158 for t in $net; do
159 plansmbtorturetest "$t" dc "\$SERVER[$VALIDATE]" -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" "$*"
160 done
162 # Tests for session keys
164 bindoptions=""
165 transport="ncacn_np"
166 for ntlmoptions in \
167 "-k no --option=usespnego=yes" \
168 "-k no --option=usespnego=yes --option=ntlmssp_client:128bit=no" \
169 "-k no --option=usespnego=yes --option=ntlmssp_client:56bit=yes" \
170 "-k no --option=usespnego=yes --option=ntlmssp_client:56bit=no" \
171 "-k no --option=usespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes" \
172 "-k no --option=usespnego=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=no" \
173 "-k no --option=usespnego=yes --option=clientntlmv2auth=yes" \
174 "-k no --option=usespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no" \
175 "-k no --option=usespnego=yes --option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:56bit=yes" \
176 "-k no --option=usespnego=no --option=clientntlmv2auth=yes" \
177 "-k no --option=gensec:spnego=no --option=clientntlmv2auth=yes" \
178 "-k no --option=usespnego=no"; do
179 name="rpc.secrets on $transport with $bindoptions with $ntlmoptions"
180 plantest "$name" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN --option=gensec:target_hostname=\$NETBIOSNAME RPC-SECRETS "$*"
181 done
182 plantest "rpc.secrets on $transport with $bindoptions with Kerberos" dc $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-SECRETS "$*"
183 plantest "rpc.secrets on $transport with $bindoptions with Kerberos - use target principal" dc $smb4torture $transport:"\$SERVER[$bindoptions]" -k yes -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN "--option=clientusespnegoprincipal=yes" "--option=gensec:target_hostname=\$NETBIOSNAME" RPC-SECRETS "$*"
184 plantest "rpc.secrets on $transport with Kerberos - use Samba3 style login" dc $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-SECRETS-none*" "$*"
185 plantest "rpc.secrets on $transport with Kerberos - use Samba3 style login, use target principal" dc $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-SECRETS-none*" "$*"
187 # Echo tests
188 transports="ncacn_np ncacn_ip_tcp ncalrpc"
190 for transport in $transports; do
191 for bindoptions in connect spnego spnego,sign spnego,seal $VALIDATE padcheck bigendian bigendian,seal; do
192 for ntlmoptions in \
193 "--option=socket:testnonblock=True --option=torture:quick=yes"; do
194 plantest "rpc.echo on $transport with $bindoptions and $ntlmoptions" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W "\$DOMAIN" RPC-ECHO "$*"
195 done
196 done
197 done
199 for transport in $transports; do
200 for bindoptions in sign seal; do
201 for ntlmoptions in \
202 "--option=ntlmssp_client:ntlm2=yes --option=torture:quick=yes" \
203 "--option=ntlmssp_client:ntlm2=no --option=torture:quick=yes" \
204 "--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:128bit=no --option=torture:quick=yes" \
205 "--option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:128bit=no --option=torture:quick=yes" \
206 "--option=ntlmssp_client:ntlm2=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
207 "--option=ntlmssp_client:ntlm2=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
208 "--option=clientntlmv2auth=yes --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
209 "--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=yes --option=torture:quick=yes" \
210 "--option=clientntlmv2auth=yes --option=ntlmssp_client:128bit=no --option=ntlmssp_client:keyexchange=no --option=torture:quick=yes" \
211 ; do
212 plantest "rpc.echo on $transport with $bindoptions and $ntlmoptions" dc $smb4torture $transport:"\$SERVER[$bindoptions]" $ntlmoptions -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*"
213 done
214 done
215 done
217 plantest "rpc.echo on ncacn_np over smb2" dc $smb4torture ncacn_np:"\$SERVER[smb2]" -U"\$USERNAME"%"\$PASSWORD" -W \$DOMAIN RPC-ECHO "$*"
219 # Tests against the NTVFS POSIX backend
220 NTVFSARGS="--option=torture:sharedelay=100000 --option=torture:oplocktimeout=3"
221 smb2=`$smb4torture --list | grep "^SMB2-" | xargs`
222 raw=`$smb4torture --list | grep "^RAW-" | xargs`
223 base=`$smb4torture --list | grep "^BASE-" | xargs`
225 for t in $base $raw $smb2; do
226 plansmbtorturetest "$t" dc $ADDARGS //\$SERVER/tmp -U"\$USERNAME"%"\$PASSWORD" $NTVFSARGS
227 done
229 rap=`$smb4torture --list | grep "^RAP-" | xargs`
230 for t in $rap; do
231 plansmbtorturetest "$t" dc $ADDARGS //\$SERVER/IPC\\\$ -U"\$USERNAME"%"\$PASSWORD"
232 done
234 # Tests against the NTVFS CIFS backend
235 for t in $base $raw; do
236 plantest "ntvfs.cifs.`normalize_testname $t`" dc $VALGRIND $smb4torture //\$NETBIOSNAME/cifs -U"\$USERNAME"%"\$PASSWORD" $NTVFSARGS $t
237 done
239 # Local tests
241 for t in `$smb4torture --list | grep "^LOCAL-" | xargs`; do
242 plansmbtorturetest "$t" none ncalrpc: "$*"
243 done
245 if test -f $samba4bindir/tdbtorture
246 then
247 plantest "tdb.stress" none $VALGRIND $samba4bindir/tdbtorture
250 # Pidl tests
252 if test x"${PIDL_TESTS_SKIP}" = x"yes"; then
253 echo "Skipping pidl tests - PIDL_TESTS_SKIP=yes"
254 elif $PERL -e 'eval require Test::More;' > /dev/null 2>&1; then
255 for f in $samba4srcdir/pidl/tests/*.pl; do
256 plantest "pidl.`basename $f .pl`" none $PERL $f "|" $samba4srcdir/script/harness2subunit.pl
257 done
258 else
259 echo "Skipping pidl tests - Test::More not installed"
262 # Blackbox Tests:
263 # tests that interact directly with the command-line tools rather than using
264 # the API
266 bbdir=$incdir/../../testprogs/blackbox
268 plantest "blackbox.smbclient" dc $bbdir/test_smbclient.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX"
269 plantest "blackbox.kinit" dc $bbdir/test_kinit.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$REALM" "\$DOMAIN" "$PREFIX" $CONFIGURATION
270 plantest "blackbox.cifsdd" dc $bbdir/test_cifsdd.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN"
271 plantest "blackbox.nmblookup" dc $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP"
272 plantest "blackbox.nmblookup" member $samba4srcdir/utils/tests/test_nmblookup.sh "\$NETBIOSNAME" "\$NETBIOSALIAS" "\$SERVER" "\$SERVER_IP"
273 plantest "blackbox.locktest" dc $bbdir/test_locktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX"
274 plantest "blackbox.masktest" dc $bbdir/test_masktest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX"
275 plantest "blackbox.gentest" dc $bbdir/test_gentest.sh "\$SERVER" "\$USERNAME" "\$PASSWORD" "\$DOMAIN" "$PREFIX"
277 # Tests using the "Simple" NTVFS backend
279 for t in "BASE-RW1"; do
280 plantest "ntvfs.simple.`normalize_testname $t`" dc $VALGRIND $smb4torture $ADDARGS //\$SERVER/simple -U"\$USERNAME"%"\$PASSWORD" $t
281 done
283 DATADIR=$samba4srcdir/../testdata
285 plantest "js.samba3sam" none $SCRIPTDIR/samba3sam.js $CONFIGURATION `pwd` $DATADIR/samba3/
287 # Domain Member Tests
289 plantest "rpc.echo against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" RPC-ECHO "$*"
290 plantest "rpc.echo against member server with domain creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD" RPC-ECHO "$*"
291 plantest "rpc.samr against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR" "$*"
292 plantest "rpc.samr.users against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-USERS" "$*"
293 plantest "rpc.samr.passwords against member server with local creds" member $VALGRIND $smb4torture ncacn_np:"\$NETBIOSNAME" -U"\$NETBIOSNAME/\$USERNAME"%"\$PASSWORD" "RPC-SAMR-PASSWORDS" "$*"
294 plantest "wbinfo -a against member server with domain creds" member $VALGRIND $samba4bindir/wbinfo -a "\$DOMAIN/\$DC_USERNAME"%"\$DC_PASSWORD"
296 NBT_TESTS=`$smb4torture --list | grep "^NBT-" | xargs`
298 for t in $NBT_TESTS; do
299 plansmbtorturetest "$t" dc //\$SERVER/_none_ -U\$USERNAME%\$PASSWORD
300 done
302 WB_OPTS="--option=\"torture:strict mode=yes\""
303 WB_OPTS="${WB_OPTS} --option=\"torture:timelimit=1\""
304 WB_OPTS="${WB_OPTS} --option=\"torture:winbindd separator=\\\\\""
305 WB_OPTS="${WB_OPTS} --option=\"torture:winbindd private pipe dir=\$WINBINDD_PRIV_PIPE_DIR\""
306 WB_OPTS="${WB_OPTS} --option=\"torture:winbindd netbios name=\$SERVER\""
307 WB_OPTS="${WB_OPTS} --option=\"torture:winbindd netbios domain=\$DOMAIN\""
309 WINBIND_STRUCT_TESTS=`$smb4torture --list | grep "^WINBIND-STRUCT" | xargs`
310 WINBIND_NDR_TESTS=`$smb4torture --list | grep "^WINBIND-NDR" | xargs`
311 for env in dc member; do
312 for t in $WINBIND_STRUCT_TESTS; do
313 plansmbtorturetest $t $env $WB_OPTS //_none_/_none_
314 done
316 for t in $WINBIND_NDR_TESTS; do
317 plansmbtorturetest $t $env $WB_OPTS //_none_/_none_
318 done
319 done
321 if test -f $samba4bindir/nsstest
322 then
323 plantest "nss.test using winbind" member $VALGRIND $samba4bindir/nsstest $samba4bindir/shared/libnss_winbind.so
326 PYTHON=bin/smbpython
327 SUBUNITRUN="$PYTHON ./scripting/bin/subunitrun"
328 plantest "ldb.python" none PYTHONPATH="$PYTHONPATH:lib/ldb/tests/python/" $SUBUNITRUN api
329 plantest "credentials.python" none PYTHONPATH="$PYTHONPATH:auth/credentials/tests" $SUBUNITRUN bindings
330 plantest "registry.python" none PYTHONPATH="$PYTHONPATH:lib/registry/tests/" $SUBUNITRUN bindings
331 plantest "tdb.python" none PYTHONPATH="$PYTHONPATH:lib/tdb/python/tests" $SUBUNITRUN simple
332 plantest "auth.python" none PYTHONPATH="$PYTHONPATH:auth/tests/" $SUBUNITRUN bindings
333 plantest "security.python" none PYTHONPATH="$PYTHONPATH:libcli/security/tests" $SUBUNITRUN bindings
334 plantest "param.python" none PYTHONPATH="$PYTHONPATH:param/tests" $SUBUNITRUN bindings
335 plantest "upgrade.python" none $SUBUNITRUN samba.tests.upgrade
336 plantest "samba.python" none $SUBUNITRUN samba.tests
337 plantest "provision.python" none $SUBUNITRUN samba.tests.provision
338 plantest "samba3.python" none $SUBUNITRUN samba.tests.samba3
339 plantest "samr.python" dc $SUBUNITRUN samba.tests.dcerpc.sam
340 plantest "samdb.python" dc $SUBUNITRUN samba.tests.samdb
341 plantest "events.python" none PYTHONPATH="$PYTHONPATH:lib/events" $SUBUNITRUN tests
342 plantest "samba3sam.python" none PYTHONPATH="$PYTHONPATH:dsdb/samdb/ldb_modules/tests" $SUBUNITRUN samba3sam
343 plantest "rpcecho.python" dc $SUBUNITRUN samba.tests.dcerpc.rpcecho
344 plantest "winreg.python" dc $SUBUNITRUN samba.tests.dcerpc.registry
345 plantest "ldap.python" dc $PYTHON $samba4srcdir/lib/ldb/tests/python/ldap.py $CONFIGURATION \$SERVER -U\$USERNAME%\$PASSWORD -W \$DOMAIN
346 plantest "blackbox.samba3dump" none $PYTHON scripting/bin/samba3dump $samba4srcdir/../testdata/samba3
347 rm -rf $PREFIX/upgrade
348 plantest "blackbox.upgrade" none $PYTHON setup/upgrade.py $CONFIGURATION --targetdir=$PREFIX/upgrade ../testdata/samba3 ../testdata/samba3/smb.conf
349 rm -rf $PREFIX/provision
350 mkdir $PREFIX/provision
351 plantest "blackbox.provision.py" none PYTHON="$PYTHON" $samba4srcdir/setup/tests/blackbox_provision.sh "$PREFIX/provision" "$CONFIGURATION"