source3.selftest: Move last variables to selftesthelpers.
[kamenim/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, 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, 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, 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, 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, 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",
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 == "smb2.durable-open" or t == "smb2.durable-v2-open":
331         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
332         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
333     else:
334         plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
335         plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
336
337
338 test = 'rpc.lsa.lookupsids'
339 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
340 signseal_options = ["", ",connect", ",sign", ",seal"]
341 endianness_options = ["", ",bigendian"]
342 for s in signseal_options:
343     for e in endianness_options:
344         for a in auth_options:
345             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
346             options = binding_string + " -U$USERNAME%$PASSWORD"
347             plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
348             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"),
349                                                              "none", options, configuration])
350
351     # We should try more combinations in future, but this is all
352     # the pre-calculated credentials cache supports at the moment
353     e = ""
354     a = ""
355     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
356     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
357     plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
358
359     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
360     plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
361
362     auth_options2 = ["krb5", "spnego,krb5"]
363     for a in auth_options2:
364         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
365
366         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"),
367                                                                                                                               "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
368
369
370 options_list = ["", "-e"]
371 for options in options_list:
372     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
373                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
374                    "$PREFIX/ktest/krb5_ccache-2",
375                    smbclient3, "$SERVER", options, configuration])
376
377     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
378                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
379                    "$PREFIX/ktest/krb5_ccache-2",
380                    smbclient3, "$SERVER", options, configuration])
381
382     plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
383                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
384                    "$PREFIX/ktest/krb5_ccache-3",
385                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
386
387     plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
388                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
389                    "$PREFIX/ktest/krb5_ccache-3",
390                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
391
392     plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
393                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
394                    "none",
395                    smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
396
397 for e in endianness_options:
398     for a in auth_options:
399         for s in signseal_options:
400             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
401             options = binding_string + " -U$USERNAME%$PASSWORD"
402             plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
403
404 plansmbtorture4testsuite('rpc.epmapper', 's3dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')