ctdb:tests: Rework unit test result filtering
[Samba.git] / source3 / selftest / tests.py
blobdf88f9dfb977f71ec056dd0a1a5a14a38957eb1d
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.
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".
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.
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.
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',
32 smbtorture4_possible = print_smbtorture4_version()
34 def plansmbtorture4testsuite(name, env, options, description=''):
35 if description == '':
36 modname = "samba3.%s" % (name, )
37 else:
38 modname = "samba3.%s %s" % (name, description)
40 if smbtorture4_possible:
41 selftesthelpers.plansmbtorture4testsuite(
42 name, env, options, target='samba3', modname=modname)
43 else:
44 skiptestsuite(name, "smbtorture4 is not available")
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")])
50 plantestsuite("samba3.local_s3", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
52 plantestsuite("samba3.blackbox.registry.upgrade", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
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 "LOCAL-MSG2",
68 "BAD-NBT-SESSION"]
70 for t in tests:
71 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"])
72 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"])
73 if t == "TORTURE":
74 # this is a negative test to verify that the server rejects
75 # access without encryption
76 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"])
77 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"])
79 tests = ["RW1", "RW2", "RW3"]
80 for t in tests:
81 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"])
83 posix_tests = ["POSIX", "POSIX-APPEND"]
85 for t in posix_tests:
86 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"])
87 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"])
88 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"])
90 env = "s3dc:local"
91 t = "CLEANUP3"
92 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"])
94 local_tests = [
95 "LOCAL-SUBSTITUTE",
96 "LOCAL-GENCACHE",
97 "LOCAL-TALLOC-DICT",
98 "LOCAL-BASE64",
99 "LOCAL-RBTREE",
100 "LOCAL-MEMCACHE",
101 "LOCAL-STREAM-NAME",
102 "LOCAL-WBCLIENT",
103 "LOCAL-string_to_sid",
104 "LOCAL-sid_to_string",
105 "LOCAL-binary_to_sid",
106 "LOCAL-DBTRANS",
107 "LOCAL-TEVENT-SELECT",
108 "LOCAL-CONVERT-STRING",
109 "LOCAL-CONV-AUTH-INFO",
110 "LOCAL-IDMAP-TDB-COMMON",
111 "LOCAL-hex_encode_buf",
112 "LOCAL-sprintf_append",
113 "LOCAL-remove_duplicate_addrs2"]
115 for t in local_tests:
116 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"])
118 tests = ["--ping", "--separator",
119 "--own-domain",
120 "--all-domains",
121 "--trusted-domains",
122 "--domain-info=BUILTIN",
123 "--domain-info=$DOMAIN",
124 "--online-status",
125 "--online-status --domain=BUILTIN",
126 "--online-status --domain=$DOMAIN",
127 "--check-secret --domain=$DOMAIN",
128 "--change-secret --domain=$DOMAIN",
129 "--check-secret --domain=$DOMAIN",
130 "--online-status --domain=$DOMAIN",
131 #Didn't pass yet# "--domain-users",
132 "--domain-groups",
133 "--name-to-sid=$DC_USERNAME",
134 "--name-to-sid=$DOMAIN\\\\$DC_USERNAME",
135 #Didn't pass yet# "--user-info=$USERNAME",
136 "--user-groups=$DOMAIN\\\\$DC_USERNAME",
137 "--authenticate=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD",
138 "--allocate-uid",
139 "--allocate-gid"]
141 plantestsuite("samba.vfstest.stream_depot", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
142 plantestsuite("samba.vfstest.xattr-tdb-1", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
143 plantestsuite("samba.vfstest.acl", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
144 plantestsuite("samba.vfstest.catia", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
146 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
147 env = "s3dc"
148 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])
150 for env in ["s3dc", "member", "s3member", "dc", "s4member"]:
151 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])
153 for env in ["s3dc", "member", "s3member"]:
154 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])
155 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])
157 for t in tests:
158 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
160 plantestsuite(
161 "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
162 [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
164 plantestsuite(
165 "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
166 [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), ntlm_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
168 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])
170 env = "s3member"
171 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
172 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
174 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])
176 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 for env in ["maptoguest", "simpleserver"]:
180 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"])
182 env = "maptoguest"
183 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"])
185 # plain
186 for env in ["s3dc"]:
187 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])
189 for env in ["member", "s3member"]:
190 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])
192 for env in ["s3dc"]:
193 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"])
195 for env in ["member", "s3member"]:
196 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"])
198 for env in ["s3dc"]:
199 # encrypted
200 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"])
202 # Test smbclient/tarmode
203 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])
205 #TODO encrypted against member, with member creds, and with DC creds
206 plantestsuite("samba3.blackbox.net.misc", "s3dc:local",
207 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
208 scriptdir, "$SMB_CONF_PATH", net, configuration])
209 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local",
210 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
211 scriptdir, "$SMB_CONF_PATH", net, configuration])
212 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local",
213 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
214 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
215 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc",
216 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
217 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
219 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local",
220 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
221 scriptdir, "$SMB_CONF_PATH", net, configuration])
222 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc",
223 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
224 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
226 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local",
227 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
228 scriptdir, "$SMB_CONF_PATH", net, configuration])
229 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc",
230 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
231 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
234 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
235 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
236 "$LOCAL_PATH"])
238 plantestsuite(
239 "samba3.pthreadpool", "s3dc",
240 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
242 #smbtorture4 tests
244 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
245 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
246 "base.disconnect", "base.fdpass", "base.lock",
247 "base.mangle", "base.negnowait", "base.ntdeny1",
248 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
249 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
250 "base.xcopy", "base.samba3error"]
252 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
253 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
254 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
255 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
256 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
257 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
258 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
259 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
260 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
262 smb2 = smbtorture4_testsuites("smb2.")
264 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
265 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
266 "rpc.samba3.getaliasmembership-0",
267 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
268 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
269 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
270 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
271 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
272 "rpc.spoolss.driver",
273 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
274 "rpc.lsa.privileges", "rpc.lsa.secrets",
275 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
276 "rpc.samr.passwords.pwdlastset", "rpc.samr.large-dc", "rpc.samr.machine.auth",
277 "rpc.samr.priv", "rpc.samr.passwords.validate",
278 "rpc.netlogon.admin",
279 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
281 local = ["local.nss-wrapper", "local.ndr"]
283 winbind = ["winbind.struct", "winbind.wbclient", "winbind.pac"]
285 idmap = [ "idmap.rfc2307" ]
287 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
289 unix = ["unix.info2", "unix.whoami"]
291 nbt = ["nbt.dgram" ]
293 libsmbclient = ["libsmbclient"]
295 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient + idmap
297 for t in tests:
298 if t == "base.delaywrite":
299 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
300 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
301 elif t == "rap.sam":
302 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
303 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
304 elif t == "winbind.pac":
305 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
306 elif t == "unix.whoami":
307 plansmbtorture4testsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
308 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
309 for env in ["s3dc", "member"]:
310 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
311 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
312 for env in ["plugin_s4_dc", "s3member"]:
313 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
314 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
315 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
316 elif t == "raw.samba3posixtimedlock":
317 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
318 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
319 elif t == "raw.chkpath":
320 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
321 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
322 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
323 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
324 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
325 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
326 elif t == "raw.session" or t == "smb2.session":
327 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
328 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
329 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
330 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
331 elif t == "rpc.lsa":
332 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
333 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
334 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
335 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
336 elif t == "rpc.samr.passwords.validate":
337 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
338 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
339 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open":
340 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
341 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
342 elif t == "base.rw1":
343 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
344 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
345 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
346 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
347 elif t == "idmap.rfc2307":
348 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'])
349 elif t == "raw.acls":
350 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
351 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
352 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
353 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
354 elif t == "smb2.ioctl":
355 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
356 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
357 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
358 else:
359 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
360 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
363 test = 'rpc.lsa.lookupsids'
364 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
365 signseal_options = ["", ",connect", ",sign", ",seal"]
366 endianness_options = ["", ",bigendian"]
367 for s in signseal_options:
368 for e in endianness_options:
369 for a in auth_options:
370 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
371 options = binding_string + " -U$USERNAME%$PASSWORD"
372 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
373 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"),
374 "none", options, configuration])
376 # We should try more combinations in future, but this is all
377 # the pre-calculated credentials cache supports at the moment
378 e = ""
379 a = ""
380 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
381 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
382 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
384 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
385 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
387 auth_options2 = ["krb5", "spnego,krb5"]
388 for a in auth_options2:
389 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
391 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"),
392 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
395 options_list = ["", "-e"]
396 for options in options_list:
397 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
398 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
399 "$PREFIX/ktest/krb5_ccache-2",
400 smbclient3, "$SERVER", options, configuration])
402 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
403 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
404 "$PREFIX/ktest/krb5_ccache-2",
405 smbclient3, "$SERVER", options, configuration])
407 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
408 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
409 "$PREFIX/ktest/krb5_ccache-3",
410 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
412 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
413 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
414 "$PREFIX/ktest/krb5_ccache-3",
415 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
417 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
418 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
419 "none",
420 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
422 for e in endianness_options:
423 for a in auth_options:
424 for s in signseal_options:
425 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
426 options = binding_string + " -U$USERNAME%$PASSWORD"
427 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
429 plansmbtorture4testsuite('rpc.epmapper', 's3dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')