s3: smbd: change file_set_dosmode() to use get_file_handle_for_metadata() instead...
[Samba/wip.git] / source3 / selftest / tests.py
blobfcf3cd58c01f9f5bb7c8a3d1fe4fe36db7fc8064
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 def plansmbtorture4testsuite(name, env, options, description=''):
33 if description == '':
34 modname = "samba3.%s" % (name, )
35 else:
36 modname = "samba3.%s %s" % (name, description)
38 selftesthelpers.plansmbtorture4testsuite(
39 name, env, options, target='samba3', modname=modname)
42 plantestsuite("samba3.blackbox.success", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
43 plantestsuite("samba3.blackbox.failure", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
45 plantestsuite("samba3.local_s3", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
47 plantestsuite("samba3.blackbox.registry.upgrade", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
49 tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
50 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
51 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
52 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
53 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
54 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2",
55 "CHAIN3",
56 "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
57 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
58 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT",
59 "CLEANUP1",
60 "CLEANUP2",
61 "CLEANUP4",
62 "BAD-NBT-SESSION"]
64 for t in tests:
65 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"])
66 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"])
67 if t == "TORTURE":
68 # this is a negative test to verify that the server rejects
69 # access without encryption
70 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"])
71 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"])
73 tests = ["RW1", "RW2", "RW3"]
74 for t in tests:
75 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"])
77 posix_tests = ["POSIX", "POSIX-APPEND"]
79 for t in posix_tests:
80 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"])
81 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"])
82 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"])
84 env = "s3dc:local"
85 t = "CLEANUP3"
86 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"])
88 local_tests = [
89 "LOCAL-SUBSTITUTE",
90 "LOCAL-GENCACHE",
91 "LOCAL-TALLOC-DICT",
92 "LOCAL-BASE64",
93 "LOCAL-RBTREE",
94 "LOCAL-MEMCACHE",
95 "LOCAL-STREAM-NAME",
96 "LOCAL-WBCLIENT",
97 "LOCAL-string_to_sid",
98 "LOCAL-sid_to_string",
99 "LOCAL-binary_to_sid",
100 "LOCAL-DBTRANS",
101 "LOCAL-TEVENT-SELECT",
102 "LOCAL-CONVERT-STRING",
103 "LOCAL-CONV-AUTH-INFO",
104 "LOCAL-IDMAP-TDB-COMMON",
105 "LOCAL-MESSAGING-READ1",
106 "LOCAL-MESSAGING-READ2",
107 "LOCAL-hex_encode_buf",
108 "LOCAL-sprintf_append",
109 "LOCAL-remove_duplicate_addrs2"]
111 for t in local_tests:
112 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 plantestsuite("samba.vfstest.stream_depot", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
115 plantestsuite("samba.vfstest.xattr-tdb-1", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
116 plantestsuite("samba.vfstest.acl", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
117 plantestsuite("samba.vfstest.catia", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
119 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
120 env = "s3dc"
121 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])
123 for env in ["s3dc", "member", "s3member", "dc", "s4member"]:
124 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])
126 for env in ["s3dc", "member", "s3member"]:
127 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])
128 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])
130 tests = ["--ping", "--separator",
131 "--own-domain",
132 "--all-domains",
133 "--trusted-domains",
134 "--domain-info=BUILTIN",
135 "--domain-info=$DOMAIN",
136 "--online-status",
137 "--online-status --domain=BUILTIN",
138 "--online-status --domain=$DOMAIN",
139 "--check-secret --domain=$DOMAIN",
140 "--change-secret --domain=$DOMAIN",
141 "--check-secret --domain=$DOMAIN",
142 "--online-status --domain=$DOMAIN",
143 #Didn't pass yet# "--domain-users",
144 "--domain-groups",
145 "--name-to-sid=$DC_USERNAME",
146 "--name-to-sid=$DOMAIN\\\\$DC_USERNAME",
147 #Didn't pass yet# "--user-info=$USERNAME",
148 "--user-groups=$DOMAIN\\\\$DC_USERNAME",
149 "--authenticate=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD",
150 "--allocate-uid",
151 "--allocate-gid"]
153 for t in tests:
154 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
156 plantestsuite(
157 "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
158 [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
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])
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])
166 for env in ["member", "s3member"]:
167 plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
169 env = "s3member"
170 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
171 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
173 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])
175 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])
178 for env in ["maptoguest", "simpleserver"]:
179 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"])
181 env = "maptoguest"
182 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"])
184 # plain
185 for env in ["s3dc"]:
186 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])
188 for env in ["member", "s3member"]:
189 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])
191 for env in ["s3dc"]:
192 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"])
194 for env in ["member", "s3member"]:
195 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"])
197 for env in ["s3dc"]:
198 # encrypted
199 plantestsuite("samba3.blackbox.smbclient_s3.crypt (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "-e"])
203 # tar command tests
206 # find config.h
207 try:
208 config_h = os.environ["CONFIG_H"]
209 except KeyError:
210 config_h = os.path.join(samba4bindir, "default/include/config.h")
212 # see if libarchive is supported
213 f = open(config_h, 'r')
214 try:
215 have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
216 finally:
217 f.close()
219 # tar command enabled only if built with libarchive
220 if have_libarchive:
221 # Test smbclient/tarmode
222 plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
223 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
224 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
225 '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
227 # Test suite for new smbclient/tar with libarchive (GSoC 13)
228 plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
229 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
230 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
231 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
232 '-d', '$PREFIX', '-b', smbclient3,
233 '--subunit', '--', configuration])
235 #TODO encrypted against member, with member creds, and with DC creds
236 plantestsuite("samba3.blackbox.net.misc", "s3dc:local",
237 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
238 scriptdir, "$SMB_CONF_PATH", net, configuration])
239 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local",
240 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
241 scriptdir, "$SMB_CONF_PATH", net, configuration])
242 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local",
243 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
244 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
245 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc",
246 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
247 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
249 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local",
250 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
251 scriptdir, "$SMB_CONF_PATH", net, configuration])
252 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc",
253 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
254 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
256 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local",
257 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
258 scriptdir, "$SMB_CONF_PATH", net, configuration])
259 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc",
260 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
261 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
264 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
265 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
266 "$LOCAL_PATH"])
268 plantestsuite(
269 "samba3.pthreadpool", "s3dc",
270 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
272 #smbtorture4 tests
274 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
275 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
276 "base.disconnect", "base.fdpass", "base.lock",
277 "base.mangle", "base.negnowait", "base.ntdeny1",
278 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
279 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
280 "base.xcopy", "base.samba3error"]
282 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
283 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
284 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
285 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
286 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
287 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
288 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
289 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
290 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
292 smb2 = smbtorture4_testsuites("smb2.")
294 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
295 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
296 "rpc.samba3.getaliasmembership-0",
297 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
298 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
299 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
300 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
301 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
302 "rpc.spoolss.driver",
303 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
304 "rpc.lsa.privileges", "rpc.lsa.secrets",
305 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
306 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
307 "rpc.samr.priv", "rpc.samr.passwords.validate",
308 "rpc.netlogon.admin",
309 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
311 local = ["local.ndr"]
313 winbind = ["winbind.struct", "winbind.wbclient", "winbind.pac"]
315 idmap = [ "idmap.rfc2307" ]
317 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
319 unix = ["unix.info2", "unix.whoami"]
321 nbt = ["nbt.dgram" ]
323 libsmbclient = ["libsmbclient"]
325 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient + idmap
327 for t in tests:
328 if t == "base.delaywrite":
329 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
330 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
331 elif t == "rap.sam":
332 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
333 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
334 elif t == "winbind.pac":
335 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
336 elif t == "unix.whoami":
337 plansmbtorture4testsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
338 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
339 for env in ["s3dc", "member"]:
340 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
341 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
342 for env in ["plugin_s4_dc", "s3member"]:
343 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
344 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
345 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
346 elif t == "raw.samba3posixtimedlock":
347 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
348 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
349 elif t == "raw.chkpath":
350 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
351 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
352 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
353 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
354 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
355 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
356 elif t == "raw.session" or t == "smb2.session":
357 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
358 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
359 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
360 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
361 elif t == "rpc.lsa":
362 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
363 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
364 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
365 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
366 elif t == "rpc.samr.passwords.validate":
367 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
368 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
369 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open":
370 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
371 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
372 elif t == "base.rw1":
373 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
374 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
375 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
376 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
377 elif t == "idmap.rfc2307":
378 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'])
379 elif t == "raw.acls":
380 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
381 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
382 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
383 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
384 elif t == "smb2.ioctl":
385 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
386 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
387 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
388 elif t == "smb2.lock":
389 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
390 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
391 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
392 elif t == "raw.search":
393 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
394 # test the dirsort module.
395 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
396 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
397 else:
398 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
399 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
402 test = 'rpc.lsa.lookupsids'
403 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
404 signseal_options = ["", ",connect", ",sign", ",seal"]
405 endianness_options = ["", ",bigendian"]
406 for s in signseal_options:
407 for e in endianness_options:
408 for a in auth_options:
409 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
410 options = binding_string + " -U$USERNAME%$PASSWORD"
411 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
412 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"),
413 "none", options, configuration])
415 # We should try more combinations in future, but this is all
416 # the pre-calculated credentials cache supports at the moment
417 e = ""
418 a = ""
419 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
420 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
421 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
423 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
424 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
426 auth_options2 = ["krb5", "spnego,krb5"]
427 for a in auth_options2:
428 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
430 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"),
431 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
433 plantestsuite("samba3.blackbox.rpcclient_samlogon", "s3member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
434 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
436 options_list = ["", "-e"]
437 for options in options_list:
438 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
439 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
440 "$PREFIX/ktest/krb5_ccache-2",
441 smbclient3, "$SERVER", options, configuration])
443 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
444 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
445 "$PREFIX/ktest/krb5_ccache-2",
446 smbclient3, "$SERVER", options, configuration])
448 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
449 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
450 "$PREFIX/ktest/krb5_ccache-3",
451 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
453 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
454 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
455 "$PREFIX/ktest/krb5_ccache-3",
456 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
458 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
459 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
460 "none",
461 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
463 for e in endianness_options:
464 for a in auth_options:
465 for s in signseal_options:
466 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
467 options = binding_string + " -U$USERNAME%$PASSWORD"
468 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
470 plansmbtorture4testsuite('rpc.epmapper', 's3dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')