selftest: show that Samba honours "write list" and valid users
[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 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", "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         "BAD-NBT-SESSION"]
67
68 for t in tests:
69     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"])
70     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"])
71     if t == "TORTURE":
72         # this is a negative test to verify that the server rejects
73         # access without encryption
74         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"])
75     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"])
76
77 tests = ["RW1", "RW2", "RW3"]
78 for t in tests:
79     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"])
80
81 posix_tests = ["POSIX", "POSIX-APPEND"]
82
83 for t in posix_tests:
84     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"])
85     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"])
86     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"])
87
88 env = "s3dc:local"
89 t = "CLEANUP3"
90 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"])
91
92 local_tests = [
93     "LOCAL-SUBSTITUTE",
94     "LOCAL-GENCACHE",
95     "LOCAL-TALLOC-DICT",
96     "LOCAL-BASE64",
97     "LOCAL-RBTREE",
98     "LOCAL-MEMCACHE",
99     "LOCAL-STREAM-NAME",
100     "LOCAL-WBCLIENT",
101     "LOCAL-string_to_sid",
102     "LOCAL-binary_to_sid",
103     "LOCAL-DBTRANS",
104     "LOCAL-TEVENT-SELECT",
105     "LOCAL-CONVERT-STRING",
106     "LOCAL-CONV-AUTH-INFO",
107     "LOCAL-IDMAP-TDB-COMMON",
108     "LOCAL-hex_encode_buf",
109     "LOCAL-sprintf_append",
110     "LOCAL-remove_duplicate_addrs2"]
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', 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 plantestsuite("samba.vfstest.stream_depot", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
139 plantestsuite("samba.vfstest.xattr-tdb-1", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
140 plantestsuite("samba.vfstest.acl", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
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', smbclient3, configuration, options])
145
146 for env in ["s3dc", "member", "s3member", "dc", "s4member"]:
147     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])
148
149 for env in ["s3dc", "member", "s3member"]:
150     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])
151     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])
152
153     for t in tests:
154         plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
155
156     plantestsuite(
157         "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
158         [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
159
160     plantestsuite(
161         "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
162         [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), ntlm_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
163
164     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])
165
166 env = "s3member"
167 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
168 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
169
170 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])
171
172 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])
173
174
175 for env in ["maptoguest", "simpleserver"]:
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', 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', 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', smbclient3, wbinfo, net, 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', smbclient3, wbinfo, net, 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', smbclient3, wbinfo, net, 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', smbclient3, wbinfo, net, configuration, "--signing=required"])
193
194 for env in ["s3dc"]:
195     # encrypted
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', smbclient3, wbinfo, net, configuration, "-e"])
197
198     # Test smbclient/tarmode
199     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])
200
201 #TODO encrypted against member, with member creds, and with DC creds
202 plantestsuite("samba3.blackbox.net.misc", "s3dc:local",
203               [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
204                scriptdir, "$SMB_CONF_PATH", net, configuration])
205 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local",
206               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
207                scriptdir, "$SMB_CONF_PATH", net, configuration])
208 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local",
209               [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
210                scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
211 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc",
212               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
213                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
214
215 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local",
216               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
217                scriptdir, "$SMB_CONF_PATH", net, configuration])
218 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc",
219               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
220                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
221
222 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local",
223               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
224                scriptdir, "$SMB_CONF_PATH", net, configuration])
225 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc",
226               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
227                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
228
229
230 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
231               [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
232                "$LOCAL_PATH"])
233
234 plantestsuite(
235     "samba3.pthreadpool", "s3dc",
236     [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
237
238 #smbtorture4 tests
239
240 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
241         "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
242         "base.disconnect", "base.fdpass", "base.lock",
243         "base.mangle", "base.negnowait", "base.ntdeny1",
244         "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
245         "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
246         "base.xcopy", "base.samba3error"]
247
248 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
249        "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
250        "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
251        "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
252        "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
253        "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
254        "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
255        "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
256        "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
257
258 smb2 = smbtorture4_testsuites("smb2.")
259
260 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
261        "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
262        "rpc.samba3.getaliasmembership-0",
263        "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
264        "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
265        "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
266        "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
267        "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
268        "rpc.spoolss.driver",
269        "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
270        "rpc.lsa.privileges", "rpc.lsa.secrets",
271        "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
272        "rpc.samr.passwords.pwdlastset", "rpc.samr.large-dc", "rpc.samr.machine.auth",
273        "rpc.samr.priv", "rpc.samr.passwords.validate",
274        "rpc.netlogon.admin",
275        "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
276
277 local = ["local.nss-wrapper", "local.ndr"]
278
279 winbind = ["winbind.struct", "winbind.wbclient", "winbind.pac"]
280
281 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
282
283 unix = ["unix.info2", "unix.whoami"]
284
285 nbt = ["nbt.dgram" ]
286
287 libsmbclient = ["libsmbclient"]
288
289 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient
290
291 for t in tests:
292     if t == "base.delaywrite":
293         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
294         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
295     elif t == "rap.sam":
296         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
297         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
298     elif t == "winbind.pac":
299         plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
300     elif t == "unix.whoami":
301         plansmbtorture4testsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
302         plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
303         for env in ["s3dc", "member"]:
304             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
305             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
306         for env in ["plugin_s4_dc", "s3member"]:
307             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
308             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
309             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
310     elif t == "raw.samba3posixtimedlock":
311         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
312         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
313     elif t == "raw.chkpath":
314         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
315         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
316     elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t ==  "raw.samba3closeerr":
317         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
318         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
319         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
320     elif t == "raw.session" or t == "smb2.session":
321         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
322         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
323         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
324         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
325     elif t == "rpc.lsa":
326         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
327         plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
328         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
329         plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
330     elif t == "rpc.samr.passwords.validate":
331         plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
332         plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
333     elif t == "smb2.durable-open" or t == "smb2.durable-v2-open":
334         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
335         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
336     elif t == "base.rw1":
337         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
338         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
339         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
340         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
341     else:
342         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
343         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
344
345
346 test = 'rpc.lsa.lookupsids'
347 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
348 signseal_options = ["", ",connect", ",sign", ",seal"]
349 endianness_options = ["", ",bigendian"]
350 for s in signseal_options:
351     for e in endianness_options:
352         for a in auth_options:
353             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
354             options = binding_string + " -U$USERNAME%$PASSWORD"
355             plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
356             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"),
357                                                              "none", options, configuration])
358
359     # We should try more combinations in future, but this is all
360     # the pre-calculated credentials cache supports at the moment
361     e = ""
362     a = ""
363     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
364     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
365     plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
366
367     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
368     plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
369
370     auth_options2 = ["krb5", "spnego,krb5"]
371     for a in auth_options2:
372         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
373
374         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"),
375                                                                                                                               "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
376
377
378 options_list = ["", "-e"]
379 for options in options_list:
380     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
381                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
382                    "$PREFIX/ktest/krb5_ccache-2",
383                    smbclient3, "$SERVER", options, configuration])
384
385     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
386                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
387                    "$PREFIX/ktest/krb5_ccache-2",
388                    smbclient3, "$SERVER", options, configuration])
389
390     plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
391                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
392                    "$PREFIX/ktest/krb5_ccache-3",
393                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
394
395     plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
396                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
397                    "$PREFIX/ktest/krb5_ccache-3",
398                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
399
400     plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
401                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
402                    "none",
403                    smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
404
405 for e in endianness_options:
406     for a in auth_options:
407         for s in signseal_options:
408             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
409             options = binding_string + " -U$USERNAME%$PASSWORD"
410             plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
411
412 plansmbtorture4testsuite('rpc.epmapper', 's3dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')