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