ctdb-tests: Handle interactions with monitor events
[Samba.git] / source3 / selftest / tests.py
bloba2be3e43fa3af71ccad379cc064f4bde8d11c652
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 "BAD-NBT-SESSION"]
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"])
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"])
82 posix_tests = ["POSIX", "POSIX-APPEND"]
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"])
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"])
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"]
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"])
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"]
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])
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])
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])
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])
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])
159 plantestsuite(
160 "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
161 [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
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])
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])
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])
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])
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])
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])
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"])
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"])
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])
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])
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"])
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"])
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"])
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])
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'])
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'])
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'])
236 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
237 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
238 "$LOCAL_PATH"])
240 plantestsuite(
241 "samba3.pthreadpool", "s3dc",
242 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
244 #smbtorture4 tests
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"]
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"]
264 smb2 = smbtorture4_testsuites("smb2.")
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"]
283 local = ["local.nss-wrapper", "local.ndr"]
285 winbind = ["winbind.struct", "winbind.wbclient", "winbind.pac"]
287 idmap = [ "idmap.rfc2307" ]
289 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
291 unix = ["unix.info2", "unix.whoami"]
293 nbt = ["nbt.dgram" ]
295 libsmbclient = ["libsmbclient"]
297 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient + idmap
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 elif t == "raw.search":
365 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
366 # test the dirsort module.
367 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
368 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
369 else:
370 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
371 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
374 test = 'rpc.lsa.lookupsids'
375 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
376 signseal_options = ["", ",connect", ",sign", ",seal"]
377 endianness_options = ["", ",bigendian"]
378 for s in signseal_options:
379 for e in endianness_options:
380 for a in auth_options:
381 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
382 options = binding_string + " -U$USERNAME%$PASSWORD"
383 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
384 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"),
385 "none", options, configuration])
387 # We should try more combinations in future, but this is all
388 # the pre-calculated credentials cache supports at the moment
389 e = ""
390 a = ""
391 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
392 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
393 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
395 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
396 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
398 auth_options2 = ["krb5", "spnego,krb5"]
399 for a in auth_options2:
400 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
402 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"),
403 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
405 plantestsuite("samba3.blackbox.rpcclient_samlogon", "s3member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
406 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
408 options_list = ["", "-e"]
409 for options in options_list:
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])
415 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
416 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
417 "$PREFIX/ktest/krb5_ccache-2",
418 smbclient3, "$SERVER", options, configuration])
420 plantestsuite("samba3.blackbox.smbclient_large_file %s" % 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])
425 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
426 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
427 "$PREFIX/ktest/krb5_ccache-3",
428 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
430 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
431 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
432 "none",
433 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
435 for e in endianness_options:
436 for a in auth_options:
437 for s in signseal_options:
438 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
439 options = binding_string + " -U$USERNAME%$PASSWORD"
440 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
442 plansmbtorture4testsuite('rpc.epmapper', 's3dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')