selftest: run more raw.samba3 against secshare simple file server
[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         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
277     elif t == "rap.sam":
278         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
279         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
280     elif t == "unix.whoami":
281         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD')
282         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD')
283     elif t == "raw.samba3posixtimedlock":
284         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
285         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
286     elif t == "raw.chkpath":
287         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
288         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
289     elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t ==  "raw.samba3closeerr":
290         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
291         plansmbtorturetestsuite(t, "secshare", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
292         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
293     else:
294         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
295         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
296
297
298 test = 'rpc.lsa.lookupsids'
299 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
300 signseal_options = ["", ",connect", ",sign", ",seal"]
301 endianness_options = ["", ",bigendian"]
302 for s in signseal_options:
303     for e in endianness_options:
304         for a in auth_options:
305             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
306             options = binding_string + " -U$USERNAME%$PASSWORD"
307             plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
308             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"),
309                                                              "none", options, configuration])
310
311     # We should try more combinations in future, but this is all
312     # the pre-calculated credentials cache supports at the moment
313     e = ""
314     a = ""
315     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
316     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
317     plansmbtorturetestsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
318
319     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
320     plansmbtorturetestsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
321
322     auth_options2 = ["krb5", "spnego,krb5"]
323     for a in auth_options2:
324         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
325
326         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"),
327                                                                                                                               "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
328
329
330 options_list = ["", "-e"]
331 for options in options_list:
332     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local", 
333                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
334                    "$PREFIX/ktest/krb5_ccache-2", 
335                    binpath('smbclient3'), "$SERVER", options, configuration])
336
337     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
338                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
339                    "$PREFIX/ktest/krb5_ccache-2",
340                    binpath('smbclient3'), "$SERVER", options, configuration])
341
342     plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
343                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
344                    "$PREFIX/ktest/krb5_ccache-3",
345                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-k " + configuration])
346
347     plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
348                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
349                    "$PREFIX/ktest/krb5_ccache-3",
350                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-k " + configuration])
351
352     plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
353                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
354                    "none",
355                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
356
357 for e in endianness_options:
358     for a in auth_options:
359         for s in signseal_options:
360             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
361             options = binding_string + " -U$USERNAME%$PASSWORD"
362             plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
363
364 test = 'rpc.epmapper'
365 env = 's3dc:local'
366 binding_string = 'ncalrpc:'
367 options = binding_string + " -U$USERNAME%$PASSWORD"
368
369 plansmbtorturetestsuite(test, env, options, 'over ncalrpc')