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