s3:selftest: run smbtorture3 CLEANUP3 in the s3dc:local environment
[metze/samba/wip.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 env = "s3dc:local"
94 t = "CLEANUP3"
95 plantestsuite("samba3.smbtorture_s3.plain(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "", "-l $LOCAL_PATH"])
96
97 local_tests=[
98         "LOCAL-SUBSTITUTE",
99         "LOCAL-GENCACHE",
100         "LOCAL-TALLOC-DICT",
101         "LOCAL-BASE64",
102         "LOCAL-RBTREE",
103         "LOCAL-MEMCACHE",
104         "LOCAL-STREAM-NAME",
105         "LOCAL-WBCLIENT",
106         "LOCAL-string_to_sid",
107         "LOCAL-binary_to_sid",
108         "LOCAL-DBTRANS",
109         "LOCAL-TEVENT-SELECT",
110         "LOCAL-CONVERT-STRING",
111         "LOCAL-CONV-AUTH-INFO",
112         "LOCAL-IDMAP-TDB-COMMON",
113         "LOCAL-hex_encode_buf",
114         "LOCAL-sprintf_append"]
115
116 for t in local_tests:
117     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"])
118
119 tests=["--ping", "--separator",
120        "--own-domain",
121        "--all-domains",
122        "--trusted-domains",
123        "--domain-info=BUILTIN",
124        "--domain-info=$DOMAIN",
125        "--online-status",
126        "--online-status --domain=BUILTIN",
127        "--online-status --domain=$DOMAIN",
128        "--check-secret --domain=$DOMAIN",
129        "--change-secret --domain=$DOMAIN",
130        "--check-secret --domain=$DOMAIN",
131        "--online-status --domain=$DOMAIN",
132        #Didn't pass yet# "--domain-users",
133        "--domain-groups",
134        "--name-to-sid=$DC_USERNAME",
135        "--name-to-sid=$DOMAIN\\\\$DC_USERNAME",
136      #Didn't pass yet# "--user-info=$USERNAME",
137        "--user-groups=$DOMAIN\\\\$DC_USERNAME",
138        "--authenticate=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD",
139        "--allocate-uid",
140        "--allocate-gid"]
141
142 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
143     env = "s3dc"
144     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])
145
146 for env in ["s3dc", "member", "s3member"]:
147     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])
148     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])
149
150     for t in tests:
151         plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
152
153     plantestsuite(
154         "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
155         [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
156         
157     plantestsuite(
158         "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
159         [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), binpath('ntlm_auth3'), '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
160
161     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])
162
163 env = "s3member"
164 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
165 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
166
167 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])
168
169 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])
170
171
172 for env in ["secserver"]:
173     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"])
174
175 for env in ["maptoguest", "secshare", "secserver"]:
176     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"])
177
178 env = "maptoguest"
179 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"])
180
181 # plain
182 for env in ["s3dc"]:
183     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])
184
185 for env in ["member", "s3member"]:
186     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])
187
188 for env in ["s3dc"]:
189     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"])
190
191 for env in ["member", "s3member"]:
192     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"])
193
194 # encrypted
195 for env in ["s3dc"]:
196     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"])
197
198 #TODO encrypted against member, with member creds, and with DC creds
199 plantestsuite("samba3.blackbox.net.misc", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
200                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
201 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
202                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
203 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
204                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration,binpath('dbwrap_tool')])
205 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc", [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
206                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration, 'rpc'])
207
208 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
209                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
210 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc", [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
211                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration, 'rpc'])
212
213 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
214                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration])
215 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc", [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
216                                                        scriptdir, "$SMB_CONF_PATH", binpath('net'), configuration, 'rpc'])
217
218
219 plantestsuite("samba3.blackbox.testparm", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
220                                                        "$LOCAL_PATH"])
221
222 plantestsuite(
223     "samba3.pthreadpool", "s3dc",
224     [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
225
226 #smbtorture4 tests
227
228 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
229         "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
230         "base.disconnect", "base.fdpass", "base.lock",
231         "base.mangle", "base.negnowait", "base.ntdeny1",
232         "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
233         "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
234         "base.xcopy", "base.samba3error"]
235
236 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
237        "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock"
238        "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
239        "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
240        "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename",
241        "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
242        "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
243        "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
244        "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff"]
245
246 smb2 = smb4torture_testsuites("smb2.")
247
248 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
249        "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
250        "rpc.samba3.getaliasmembership-0",
251        "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
252        "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
253        "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
254        "rpc.spoolss.driver",
255        "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
256        "rpc.lsa.privileges", "rpc.lsa.secrets",
257        "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
258        "rpc.samr.passwords.pwdlastset", "rpc.samr.large-dc", "rpc.samr.machine.auth",
259        "rpc.samr.priv",
260        "rpc.netlogon.admin",
261        "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
262
263 local = ["local.nss-wrapper", "local.ndr"]
264
265 winbind = ["winbind.struct", "winbind.wbclient"]
266
267 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
268
269 unix = ["unix.info2", "unix.whoami"]
270
271 nbt = ["nbt.dgram" ]
272
273 libsmbclient = ["libsmbclient"]
274
275 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient
276
277 for t in tests:
278     if t == "base.delaywrite":
279         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
280         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
281     elif t == "rap.sam":
282         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
283         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
284     elif t == "unix.whoami":
285         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD')
286         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD')
287     elif t == "raw.samba3posixtimedlock":
288         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
289         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
290     elif t == "raw.chkpath":
291         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
292         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
293     elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t ==  "raw.samba3closeerr":
294         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
295         plansmbtorturetestsuite(t, "secshare", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
296         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
297     else:
298         plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
299         plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
300
301
302 test = 'rpc.lsa.lookupsids'
303 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
304 signseal_options = ["", ",connect", ",sign", ",seal"]
305 endianness_options = ["", ",bigendian"]
306 for s in signseal_options:
307     for e in endianness_options:
308         for a in auth_options:
309             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
310             options = binding_string + " -U$USERNAME%$PASSWORD"
311             plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
312             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"),
313                                                              "none", options, configuration])
314
315     # We should try more combinations in future, but this is all
316     # the pre-calculated credentials cache supports at the moment
317     e = ""
318     a = ""
319     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
320     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
321     plansmbtorturetestsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
322
323     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
324     plansmbtorturetestsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
325
326     auth_options2 = ["krb5", "spnego,krb5"]
327     for a in auth_options2:
328         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
329
330         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"),
331                                                                                                                               "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
332
333
334 options_list = ["", "-e"]
335 for options in options_list:
336     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local", 
337                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
338                    "$PREFIX/ktest/krb5_ccache-2", 
339                    binpath('smbclient3'), "$SERVER", options, configuration])
340
341     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
342                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
343                    "$PREFIX/ktest/krb5_ccache-2",
344                    binpath('smbclient3'), "$SERVER", options, configuration])
345
346     plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
347                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
348                    "$PREFIX/ktest/krb5_ccache-3",
349                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-k " + configuration])
350
351     plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
352                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
353                    "$PREFIX/ktest/krb5_ccache-3",
354                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-k " + configuration])
355
356     plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
357                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
358                    "none",
359                    binpath('smbclient3'), "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
360
361 for e in endianness_options:
362     for a in auth_options:
363         for s in signseal_options:
364             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
365             options = binding_string + " -U$USERNAME%$PASSWORD"
366             plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
367
368 test = 'rpc.epmapper'
369 env = 's3dc:local'
370 binding_string = 'ncalrpc:'
371 options = binding_string + " -U$USERNAME%$PASSWORD"
372
373 plansmbtorturetestsuite(test, env, options, 'over ncalrpc')