source: vendor/current/source3/selftest/tests.py

Last change on this file was 989, checked in by Silvan Scherrer, 9 years ago

Samba Server: update vendor to version 4.4.7

File size: 33.9 KB
Line 
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
21import os, sys
22sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
23import selftesthelpers
24from selftesthelpers import *
25smbtorture4_options.extend([
26 '--option=torture:sharedelay=100000',
27 '--option=torture:writetimeupdatedelay=500000',
28 ])
29
30def plansmbtorture4testsuite(name, env, options, description=''):
31 if description == '':
32 modname = "samba3.%s" % (name, )
33 else:
34 modname = "samba3.%s %s" % (name, description)
35
36 selftesthelpers.plansmbtorture4testsuite(
37 name, env, options, target='samba3', modname=modname)
38
39
40plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
41plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
42
43plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
44
45plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
46
47tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
48 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
49 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
50 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
51 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
52 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2",
53 "CHAIN3",
54 "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
55 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
56 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT",
57 "CLEANUP1",
58 "CLEANUP2",
59 "CLEANUP4",
60 "BAD-NBT-SESSION"]
61
62for t in tests:
63 plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
64 plantestsuite("samba3.smbtorture_s3.crypt_client(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
65 if t == "TORTURE":
66 # this is a negative test to verify that the server rejects
67 # access without encryption
68 plantestsuite("samba3.smbtorture_s3.crypt_server(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmpenc', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
69 plantestsuite("samba3.smbtorture_s3.plain(ad_dc_ntvfs).%s" % t, "ad_dc_ntvfs", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
70
71# non-crypt only
72
73tests = ["OPLOCK-CANCEL"]
74for t in tests:
75 plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
76
77tests = ["RW1", "RW2", "RW3"]
78for 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
81posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA"]
82
83for t in posix_tests:
84 plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [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(nt4_dc).%s" % t, "nt4_dc", [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(ad_dc_ntvfs).%s" % t, "ad_dc_ntvfs", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
87
88env = "nt4_dc:local"
89t = "CLEANUP3"
90plantestsuite("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
92local_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-string_to_sid",
101 "LOCAL-sid_to_string",
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-MESSAGING-READ1",
109 "LOCAL-MESSAGING-READ2",
110 "LOCAL-MESSAGING-READ3",
111 "LOCAL-MESSAGING-READ4",
112 "LOCAL-MESSAGING-FDPASS1",
113 "LOCAL-MESSAGING-FDPASS2",
114 "LOCAL-MESSAGING-FDPASS2a",
115 "LOCAL-MESSAGING-FDPASS2b",
116 "LOCAL-hex_encode_buf",
117 "LOCAL-sprintf_append",
118 "LOCAL-remove_duplicate_addrs2"]
119
120for t in local_tests:
121 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
122
123plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
124plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
125plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
126plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
127
128for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
129 env = "nt4_dc"
130 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])
131
132for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
133 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])
134 plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, configuration])
135
136for env in ["nt4_dc", "nt4_member", "ad_member"]:
137 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])
138 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])
139
140env="nt4_dc"
141plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) ipv6" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IPV6', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration])
142
143for env in ["nt4_member", "ad_member"]:
144 plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
145
146env = "ad_member"
147t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
148plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
149t = "WBCLIENT-MULTI-PING"
150plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
151
152
153plantestsuite("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])
154
155plantestsuite("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])
156
157
158for env in ["maptoguest", "simpleserver"]:
159 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"])
160
161env = "maptoguest"
162plantestsuite("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"])
163plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, configuration])
164
165# plain
166for env in ["nt4_dc"]:
167 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])
168
169for env in ["nt4_member", "ad_member"]:
170 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])
171
172for env in ["nt4_dc"]:
173 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"])
174
175for env in ["nt4_member", "ad_member"]:
176 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"])
177
178for env in ["nt4_dc"]:
179 # encrypted
180 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"])
181
182for env in ["fileserver"]:
183 plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
184 plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
185 plantestsuite("samba3.blackbox.dfree_quota (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls])
186 plantestsuite("samba3.blackbox.valid_users (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
187 plantestsuite("samba3.blackbox.offline (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
188 plantestsuite("samba3.blackbox.shadow_copy2 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3])
189 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
190 plantestsuite("samba3.blackbox.smbget (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbget.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', 'smbget_user', '$PASSWORD', '$LOCAL_PATH/smbget', smbget])
191
192 #
193 # tar command tests
194 #
195
196 # find config.h
197 try:
198 config_h = os.environ["CONFIG_H"]
199 except KeyError:
200 config_h = os.path.join(samba4bindir, "default/include/config.h")
201
202 # see if libarchive is supported
203 f = open(config_h, 'r')
204 try:
205 have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
206 finally:
207 f.close()
208
209 # tar command enabled only if built with libarchive
210 if have_libarchive:
211 # Test smbclient/tarmode
212 plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
213 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
214 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
215 '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
216
217 # Test suite for new smbclient/tar with libarchive (GSoC 13)
218 plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
219 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
220 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
221 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
222 '-d', '$PREFIX', '-b', smbclient3,
223 '--subunit', '--', configuration])
224
225#TODO encrypted against member, with member creds, and with DC creds
226plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
227 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
228 scriptdir, "$SMB_CONF_PATH", net, configuration])
229plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
230 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
231 scriptdir, "$SMB_CONF_PATH", net, configuration])
232plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
233 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
234 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
235plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
236 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
237 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
238
239plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
240 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
241 scriptdir, "$SMB_CONF_PATH", net, configuration])
242plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
243 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
244 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
245
246plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
247 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
248 scriptdir, "$SMB_CONF_PATH", net, configuration])
249plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
250 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
251 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
252
253
254plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
255 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
256 "$LOCAL_PATH"])
257
258plantestsuite(
259 "samba3.pthreadpool", "nt4_dc",
260 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
261
262plantestsuite("samba3.async_req", "nt4_dc",
263 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
264
265#smbtorture4 tests
266
267base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
268 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
269 "base.disconnect", "base.fdpass", "base.lock",
270 "base.mangle", "base.negnowait", "base.ntdeny1",
271 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
272 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
273 "base.xcopy", "base.samba3error"]
274
275raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
276 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
277 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
278 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
279 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
280 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
281 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
282 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
283 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
284
285smb2 = smbtorture4_testsuites("smb2.")
286
287rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
288 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
289 "rpc.samba3.getaliasmembership-0",
290 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
291 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
292 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
293 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
294 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
295 "rpc.spoolss.driver",
296 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
297 "rpc.lsa.privileges", "rpc.lsa.secrets",
298 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
299 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
300 "rpc.samr.priv", "rpc.samr.passwords.validate",
301 "rpc.netlogon.admin",
302 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
303
304local = ["local.nss", "local.ndr"]
305
306idmap = ["idmap.rfc2307", "idmap.alloc"]
307
308rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
309
310unix = ["unix.info2", "unix.whoami"]
311
312nbt = ["nbt.dgram" ]
313
314libsmbclient = ["libsmbclient"]
315
316vfs = ["vfs.fruit", "vfs.acl_xattr"]
317
318tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
319
320for t in tests:
321 if t == "base.delaywrite":
322 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
323 elif t == "rap.sam":
324 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
325 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
326 elif t == "winbind.pac":
327 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
328 elif t == "unix.whoami":
329 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
330 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
331 for env in ["nt4_dc", "nt4_member"]:
332 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
333 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
334 for env in ["ad_dc", "ad_member"]:
335 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
336 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
337 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
338 elif t == "raw.samba3posixtimedlock":
339 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
340 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
341 elif t == "raw.chkpath":
342 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
343 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
344 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
345 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
346 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
347 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
348 elif t == "raw.session" or t == "smb2.session":
349 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
350 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
351 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
352 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
353 elif t == "rpc.lsa":
354 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
355 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
356 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
357 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
358 elif t == "rpc.samr.passwords.validate":
359 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
360 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
361 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
362 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
363 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
364 elif t == "base.rw1":
365 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
366 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
367 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
368 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
369 elif t == "idmap.rfc2307":
370 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rfc2307.sh"), '$DOMAIN', 'Administrator', '2000000', 'Guest', '2000001', '"Domain Users"', '2000002', 'DnsAdmins', '2000003', 'ou=idmap,dc=samba,dc=example,dc=com', '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
371 elif t == "idmap.alloc":
372 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
373 elif t == "raw.acls":
374 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
375 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
376 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
377 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
378 elif t == "smb2.ioctl":
379 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
380 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
381 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
382 elif t == "smb2.lock":
383 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
384 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
385 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
386 elif t == "raw.read":
387 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
388 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
389 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
390 elif t == "raw.search":
391 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
392# test the dirsort module.
393 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
394 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
395 elif t == "vfs.fruit":
396 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
397 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
398 elif t == "rpc.schannel_anon_setpw":
399 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
400 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
401 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
402 elif t == "local.nss":
403 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local", "ad_dc_ntvfs:local"]:
404 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
405 elif t == "smb2.change_notify_disabled":
406 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
407 elif t == "smb2.notify":
408 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
409 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --signing=required')
410 elif t == "smb2.dosmode":
411 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
412 elif t == "vfs.acl_xattr":
413 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
414 else:
415 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
416 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
417
418
419test = 'rpc.lsa.lookupsids'
420auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
421signseal_options = ["", ",connect", ",sign", ",seal"]
422endianness_options = ["", ",bigendian"]
423for s in signseal_options:
424 for e in endianness_options:
425 for a in auth_options:
426 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
427 options = binding_string + " -U$USERNAME%$PASSWORD"
428 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
429 plantestsuite("samba3.blackbox.rpcclient over ncacn_np with [%s%s%s] " % (a, s, e), "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
430 "none", options, configuration])
431
432 # We should try more combinations in future, but this is all
433 # the pre-calculated credentials cache supports at the moment
434 e = ""
435 a = ""
436 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
437 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
438 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
439
440 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
441 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
442
443 auth_options2 = ["krb5", "spnego,krb5"]
444 for a in auth_options2:
445 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
446
447 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"),
448 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
449
450plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
451 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
452plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
453 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
454 configuration, os.path.join(bindir(), "sharesec"), "tmp"])
455
456plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
457 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
458 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
459 configuration])
460plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
461 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
462 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
463 configuration])
464
465plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
466 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
467 "$USERNAME", "$PASSWORD", "$SERVER",
468 os.path.join(bindir(), "rpcclient"), "tmp"])
469
470plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
471 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
472 "$USERNAME", "$PASSWORD", "$SERVER",
473 os.path.join(bindir(), "rpcclient")])
474
475options_list = ["", "-e"]
476for options in options_list:
477 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
478 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
479 "$PREFIX/ktest/krb5_ccache-2",
480 smbclient3, "$SERVER", options, configuration])
481
482 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
483 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
484 "$PREFIX/ktest/krb5_ccache-2",
485 smbclient3, "$SERVER", options, configuration])
486
487 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
488 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
489 "$PREFIX/ktest/krb5_ccache-3",
490 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
491
492 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
493 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
494 "$PREFIX/ktest/krb5_ccache-3",
495 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
496
497 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "nt4_dc:local",
498 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
499 "none",
500 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
501
502for e in endianness_options:
503 for a in auth_options:
504 for s in signseal_options:
505 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
506 options = binding_string + " -U$USERNAME%$PASSWORD"
507 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
508
509plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
510plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')
Note: See TracBrowser for help on using the repository browser.