ab16a48198058af9601bb8f5b2be215b4f997039
[kai/samba.git] / source3 / selftest / tests.py
1 #!/usr/bin/python
2 # This script generates a list of testsuites that should be run as part of 
3 # the Samba 3 test suite.
4
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".
8
9 # The idea is that this script outputs all of the tests of Samba 3, 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/samba3-knownfail. This makes it 
12 # very easy to see what functionality is still missing in Samba 3 and makes 
13 # it possible to run the testsuite against other servers, such as Samba 4 or 
14 # Windows that have a different set of features.
15
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.
20
21 import os, sys
22 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
23 from selftesthelpers import *
24 import subprocess
25 smb4torture = binpath("smbtorture4")
26 samba3srcdir = srcdir() + "/source3"
27 configuration = "--configfile=$SMB_CONF_PATH"
28 scriptdir=os.path.join(samba3srcdir, "../script/tests")
29
30 torture_options = [configuration, "--maximum-runtime=$SELFTEST_MAXTIME", 
31                    "--basedir=$SELFTEST_TMPDIR",
32                    '--option="torture:winbindd_netbios_name=$SERVER"',
33                    '--option="torture:winbindd_netbios_domain=$DOMAIN"', 
34                    '--option=torture:sharedelay=100000',
35                    '--option=torture:writetimeupdatedelay=500000' ]
36
37 if not os.getenv("SELFTEST_VERBOSE"):
38     torture_options.append("--option=torture:progress=no")
39 torture_options.append("--format=subunit")
40 if os.getenv("SELFTEST_QUICK"):
41     torture_options.append("--option=torture:quick=yes")
42
43 smb4torture_testsuite_list = subprocess.Popen([smb4torture, "--list-suites"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate("")[0].splitlines()
44
45 smb4torture += " " + " ".join(torture_options)
46
47 sub = subprocess.Popen("%s --version 2> /dev/null" % smb4torture, stdout=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
48 sub.communicate("")
49 smb4torture_possible = (sub.returncode == 0)
50
51
52 def smb4torture_testsuites(prefix):
53     return filter(lambda x: x.startswith(prefix), smb4torture_testsuite_list)
54
55 def plansmbtorturetestsuite(name, env, options, description=''):
56     target = "samba3"
57     if description == '':
58         modname = "%s.%s" % (target, name)
59     else:
60         modname = "%s.%s %s" % (target, name, description)
61
62     cmdline = "%s $LISTOPT %s --target=%s %s" % (valgrindify(smb4torture), options, target, name)
63     if smb4torture_possible:
64         plantestsuite_loadlist(modname, env, cmdline)
65
66
67 plantestsuite("samba3.blackbox.success", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
68 plantestsuite("samba3.blackbox.failure", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
69
70 plantestsuite("samba3.local_s3", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
71
72 plantestsuite("samba3.blackbox.registry.upgrade", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), binpath('net'), binpath('dbwrap_tool')])
73
74 tests=[ "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
75         "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
76         "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
77         "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "RW-SIGNING",
78         "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
79         "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2",
80         "CHAIN3",
81         "GETADDRINFO", "POSIX", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
82         "POSIX-APPEND",
83         "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
84         "CLEANUP1",
85         "CLEANUP2",
86         "BAD-NBT-SESSION"]
87
88 for t in tests:
89     plantestsuite("samba3.smbtorture_s3.plain(s3dc).%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "", "-l $LOCAL_PATH"])
90     plantestsuite("samba3.smbtorture_s3.crypt(s3dc).%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "-e", "-l $LOCAL_PATH"])
91     plantestsuite("samba3.smbtorture_s3.plain(dc).%s" % t, "dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "", "-l $LOCAL_PATH"])
92
93 local_tests=[
94         "LOCAL-SUBSTITUTE",
95         "LOCAL-GENCACHE",
96         "LOCAL-TALLOC-DICT",
97         "LOCAL-BASE64",
98         "LOCAL-RBTREE",
99         "LOCAL-MEMCACHE",
100         "LOCAL-STREAM-NAME",
101         "LOCAL-WBCLIENT",
102         "LOCAL-string_to_sid",
103         "LOCAL-binary_to_sid",
104         "LOCAL-DBTRANS",
105         "LOCAL-TEVENT-SELECT",
106         "LOCAL-CONVERT-STRING",
107         "LOCAL-CONV-AUTH-INFO",
108         "LOCAL-IDMAP-TDB-COMMON",
109         "LOCAL-hex_encode_buf",
110         "LOCAL-sprintf_append"]
111
112 for t in local_tests:
113     plantestsuite("samba3.smbtorture_s3.%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "-e"])
114
115 tests=["--ping", "--separator",
116        "--own-domain",
117        "--all-domains",
118        "--trusted-domains",
119        "--domain-info=BUILTIN",
120        "--domain-info=$DOMAIN",
121        "--online-status",
122        "--online-status --domain=BUILTIN",
123        "--online-status --domain=$DOMAIN",
124        "--check-secret --domain=$DOMAIN",
125        "--change-secret --domain=$DOMAIN",
126        "--check-secret --domain=$DOMAIN",
127        "--online-status --domain=$DOMAIN",
128        #Didn't pass yet# "--domain-users",
129        "--domain-groups",
130        "--name-to-sid=$DC_USERNAME",
131        "--name-to-sid=$DOMAIN\\\\$DC_USERNAME",
132      #Didn't pass yet# "--user-info=$USERNAME",
133        "--user-groups=$DOMAIN\\\\$DC_USERNAME",
134        "--authenticate=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD",
135        "--allocate-uid",
136        "--allocate-gid"]
137
138 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
139     env = "s3dc"
140     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', binpath('smbclient3'), configuration, options])
141
142 for env in ["s3dc", "member", "s3member"]:
143     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', binpath('smbclient3'), configuration])
144     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$SERVER\\\\$USERNAME', '$PASSWORD', binpath('smbclient3'), configuration])
145
146     for t in tests:
147         plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
148
149     plantestsuite(
150         "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
151         [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
152         
153     plantestsuite(
154         "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
155         [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), binpath('ntlm_auth3'), '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
156
157     plantestsuite("samba3.ntlm_auth.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_s3.sh"), valgrindify(python), samba3srcdir, binpath('ntlm_auth3'),  '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
158
159 env = "s3member"
160 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
161 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
162
163 plantestsuite("samba3.ntlm_auth.krb5(ktest:local) old ccache", "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_krb5.sh"), valgrindify(python), samba3srcdir, binpath('ntlm_auth3'), '$PREFIX/ktest/krb5_ccache-2', '$SERVER', configuration])
164
165 plantestsuite("samba3.ntlm_auth.krb5(ktest:local)", "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_krb5.sh"), valgrindify(python), samba3srcdir, binpath('ntlm_auth3'), '$PREFIX/ktest/krb5_ccache-3', '$SERVER', configuration])
166
167
168 for env in ["secserver"]:
169     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) domain creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN\\\\$DC_USERNAME', '$DC_PASSWORD', binpath('smbclient3'), configuration + " --option=clientntlmv2auth=no"])
170
171 for env in ["maptoguest", "secshare", "secserver"]:
172     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) local creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', binpath('smbclient3'), configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
173
174 env = "maptoguest"
175 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) bad username" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', 'notmy$USERNAME', '$PASSWORD', binpath('smbclient3'), configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
176
177 # plain
178 for env in ["s3dc"]:
179     plantestsuite("samba3.blackbox.smbclient_s3.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', binpath('smbclient3'), binpath('wbinfo'), configuration])
180
181 for env in ["member", "s3member"]:
182     plantestsuite("samba3.blackbox.smbclient_s3.plain (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER\\\\$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', binpath('smbclient3'), binpath('wbinfo'), configuration])
183
184 for env in ["s3dc"]:
185     plantestsuite("samba3.blackbox.smbclient_s3.sign (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', binpath('smbclient3'), binpath('wbinfo'), configuration, "--signing=required"])
186
187 for env in ["member", "s3member"]:
188     plantestsuite("samba3.blackbox.smbclient_s3.sign (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER\\\\$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', binpath('smbclient3'), binpath('wbinfo'), configuration, "--signing=required"])
189
190 # encrypted
191 for env in ["s3dc"]:
192     plantestsuite("samba3.blackbox.smbclient_s3.crypt (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', binpath('smbclient3'), binpath('wbinfo'), configuration, "-e"])
193
194 #TODO encrypted against member, with member creds, and with DC creds
195 plantestsuite("samba3.blackbox.net.misc", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
196                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
197 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
198                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
199 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
200                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration,binpath('dbwrap_tool')])
201 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc", [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
202                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration, 'rpc'])
203
204 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
205                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
206 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc", [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
207                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration, 'rpc'])
208
209 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
210                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
211 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc", [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
212                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration, 'rpc'])
213
214
215 plantestsuite("samba3.blackbox.testparm", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
216                                                        "$LOCAL_PATH"])
217
218 plantestsuite(
219     "samba3.pthreadpool", "s3dc",
220     [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
221
222 #smbtorture4 tests
223
224 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
225         "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
226         "base.disconnect", "base.fdpass", "base.lock",
227         "base.mangle", "base.negnowait", "base.ntdeny1",
228         "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
229         "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
230         "base.xcopy", "base.samba3error"]
231
232 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
233        "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock"
234        "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
235        "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
236        "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename",
237        "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
238        "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
239        "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
240        "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff"]
241
242 smb2 = smb4torture_testsuites("smb2.")
243
244 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
245        "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
246        "rpc.samba3.getaliasmembership-0",
247        "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
248        "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
249        "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
250        "rpc.spoolss.driver",
251        "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
252        "rpc.lsa.privileges", "rpc.lsa.secrets",
253        "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
254        "rpc.samr.passwords.pwdlastset", "rpc.samr.large-dc", "rpc.samr.machine.auth",
255        "rpc.samr.priv",
256        "rpc.netlogon.admin",
257        "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
258
259 local = ["local.nss-wrapper", "local.ndr"]
260
261 winbind = ["winbind.struct", "winbind.wbclient"]
262
263 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
264
265 unix = ["unix.info2", "unix.whoami"]
266
267 nbt = ["nbt.dgram" ]
268
269 libsmbclient = ["libsmbclient"]
270
271 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient
272
273 for t in tests:
274     if t == "base.delaywrite":
275         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
276     elif t == "rap.sam":
277         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
278     elif t == "unix.whoami":
279         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD')
280     elif t == "raw.samba3posixtimedlock":
281         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
282     elif t == "raw.chkpath":
283         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
284     elif t == "raw.composite":
285         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
286         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
287     elif t == "raw.samba3hide":
288         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
289         plansmbtorturetestsuite(t, "secshare", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
290     else:
291         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
292
293
294 test = 'rpc.lsa.lookupsids'
295 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
296 signseal_options = ["", ",connect", ",sign", ",seal"]
297 endianness_options = ["", ",bigendian"]
298 for s in signseal_options:
299     for e in endianness_options:
300         for a in auth_options:
301             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
302             options = binding_string + " -U$USERNAME%$PASSWORD"
303             plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
304             plantestsuite("samba3.blackbox.rpcclient over ncacn_np with [%s%s%s] " % (a, s, e), "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
305                                                              "none", options, configuration])
306
307     # We should try more combinations in future, but this is all
308     # the pre-calculated credentials cache supports at the moment
309     e = ""
310     a = ""
311     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
312     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
313     plansmbtorturetestsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
314
315     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
316     plansmbtorturetestsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
317
318     auth_options2 = ["krb5", "spnego,krb5"]
319     for a in auth_options2:
320         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
321
322         plantestsuite("samba3.blackbox.rpcclient krb5 ncacn_np with [%s%s%s] " % (a, s, e), "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
323                                                                                                                               "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
324
325
326 options_list = ["", "-e"]
327 for options in options_list:
328     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local", 
329                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
330                    "$PREFIX/ktest/krb5_ccache-2", 
331                    binpath('smbclient3'), "$SERVER", options, configuration])
332
333     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
334                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
335                    "$PREFIX/ktest/krb5_ccache-2",
336                    binpath('smbclient3'), "$SERVER", options, configuration])
337
338     plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
339                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
340                    "$PREFIX/ktest/krb5_ccache-3",
341                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-k " + configuration])
342
343     plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
344                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
345                    "$PREFIX/ktest/krb5_ccache-3",
346                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-k " + configuration])
347
348     plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
349                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
350                    "none",
351                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
352
353 for e in endianness_options:
354     for a in auth_options:
355         for s in signseal_options:
356             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
357             options = binding_string + " -U$USERNAME%$PASSWORD"
358             plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
359
360 test = 'rpc.epmapper'
361 env = 's3dc:local'
362 binding_string = 'ncalrpc:'
363 options = binding_string + " -U$USERNAME%$PASSWORD"
364
365 plansmbtorturetestsuite(test, env, options, 'over ncalrpc')