s3: tests: Add samba3.blackbox.force-close-share
[samba.git] / source3 / selftest / tests.py
blobff6ab1a6b15b3619ec7776bc5b2b0522b9571fcb
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
22 import sys
23 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
24 import selftesthelpers
25 from selftesthelpers import bindir, srcdir, scriptdir, binpath
26 from selftesthelpers import plantestsuite, samba3srcdir
27 from selftesthelpers import smbtorture3, configuration, smbclient3, smbtorture4
28 from selftesthelpers import net, wbinfo, dbwrap_tool, rpcclient, python
29 from selftesthelpers import smbget, smbcacls, smbcquotas, ntlm_auth3
30 from selftesthelpers import valgrindify, smbtorture4_testsuites
31 from selftesthelpers import smbtorture4_options
32 from selftesthelpers import smbcontrol
33 from selftesthelpers import smbstatus
34 smbtorture4_options.extend([
35 '--option=torture:sharedelay=100000',
36 '--option=torture:writetimeupdatedelay=500000',
40 def plansmbtorture4testsuite(name, env, options, description=''):
41 if description == '':
42 modname = "samba3.%s" % (name, )
43 else:
44 modname = "samba3.%s %s" % (name, description)
46 selftesthelpers.plansmbtorture4testsuite(
47 name, env, options, target='samba3', modname=modname)
50 # find config.h
51 try:
52 config_h = os.environ["CONFIG_H"]
53 except KeyError:
54 samba4bindir = bindir()
55 config_h = os.path.join(samba4bindir, "default/include/config.h")
57 # check available features
58 config_hash = dict()
59 f = open(config_h, 'r')
60 try:
61 lines = f.readlines()
62 config_hash = dict((x[0], ' '.join(x[1:]))
63 for x in map(lambda line: line.strip().split(' ')[1:],
64 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
65 finally:
66 f.close()
68 have_linux_kernel_oplocks = ("HAVE_KERNEL_OPLOCKS_LINUX" in config_hash)
69 have_inotify = ("HAVE_INOTIFY" in config_hash)
70 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
71 with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
74 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
75 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
77 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
79 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
81 tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
82 "LOCK9A", "LOCK9B",
83 "LOCK10",
84 "LOCK11",
85 "LOCK12",
86 "LOCK13",
87 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
88 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
89 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
90 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
91 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
92 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
93 "UID-REGRESSION-TEST",
94 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
95 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
96 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
97 "SMB2-PATH-SLASH",
98 "CLEANUP1",
99 "CLEANUP2",
100 "CLEANUP4",
101 "DELETE-STREAM",
102 "BAD-NBT-SESSION"]
104 for t in tests:
105 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "fileserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
106 plantestsuite("samba3.smbtorture_s3.crypt_client.%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"])
107 if t == "TORTURE":
108 # this is a negative test to verify that the server rejects
109 # access without encryption
110 plantestsuite("samba3.smbtorture_s3.crypt_server.%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmpenc', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
111 if t == "CLI_SPLICE":
112 # We must test this against the SMB1 fallback.
113 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "fileserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH", "-mNT1"])
114 plantestsuite("samba3.smbtorture_s3.plain.%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"])
116 nonunix_tests = [
117 "SHORTNAME-TEST"
120 for t in nonunix_tests:
121 plantestsuite(
122 "samba3.smbtorture_s3.plain.%s" % t,
123 "fileserver",
124 [os.path.join(samba3srcdir,
125 "script/tests/test_smbtorture_s3_no_unix_ext.sh"),
127 '//$SERVER_IP/tmp',
128 '$USERNAME',
129 '$PASSWORD',
130 smbtorture3,
132 "-l $LOCAL_PATH"])
133 # Can't run SMB1 encrypted tests without unix extensions. This
134 # will have to be added once we do SMB3 unix extensions.
136 t = "TLDAP"
137 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER/tmp', '$DC_USERNAME', '$DC_PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
139 t = "OPLOCK5"
140 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
141 "fileserver",
142 [os.path.join(samba3srcdir,
143 "script/tests/test_smbtorture_s3.sh"),
145 '//$SERVER/tmp',
146 '$USERNAME',
147 '$PASSWORD',
148 smbtorture3,
150 "-l $LOCAL_PATH",
151 "-mNT1"])
153 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
155 plantestsuite("samba3.smbtorture_s3.plain.%s" % "RENAME-ACCESS", "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), "RENAME-ACCESS", '//$SERVER_IP/acl_xattr_ign_sysacl_windows', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
156 plantestsuite("samba3.smbtorture_s3.crypt_client.%s" % "RENAME-ACCESS", "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), "RENAME-ACCESS", '//$SERVER_IP/acl_xattr_ign_sysacl_windows', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
157 # non-crypt only
159 tests = ["OPLOCK-CANCEL"]
160 for t in tests:
161 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
163 env = "nt4_dc"
164 tests = ["MANGLE-ILLEGAL"]
165 for t in tests:
166 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/mangle_illegal', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
168 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
169 for t in tests:
170 plantestsuite("samba3.smbtorture_s3.vfs_aio_pthread(simpleserver).%s" % t, "simpleserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_pthread', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
171 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"])
173 plantestsuite("samba3.smbtorture_s3.hidenewfiles(simpleserver)",
174 "simpleserver",
175 [os.path.join(samba3srcdir,
176 "script/tests/test_smbtorture_s3.sh"),
177 'hide-new-files-timeout',
178 '//$SERVER_IP/hidenewfiles',
179 '$USERNAME',
180 '$PASSWORD',
181 smbtorture3,
183 "-l $LOCAL_PATH"])
185 shares = [
186 "vfs_aio_pthread_async_dosmode_default1",
187 "vfs_aio_pthread_async_dosmode_default2",
188 "vfs_aio_pthread_async_dosmode_force_sync1",
189 "vfs_aio_pthread_async_dosmode_force_sync2"
191 for s in shares:
192 plantestsuite("samba3.smbtorture_s3.%s(simpleserver).SMB2-BASIC" % s, "simpleserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), 'SMB2-BASIC', '//$SERVER_IP/' + s, '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
193 t = "smb2.compound_find"
194 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, '-U$USERNAME%$PASSWORD'), description=s)
196 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
197 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
198 "POSIX-BLOCKING-LOCK",
199 "POSIX-ACL-OPLOCK",
200 "POSIX-ACL-SHAREROOT",
203 for t in posix_tests:
204 plantestsuite("samba3.smbtorture_s3.plain.%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"])
205 plantestsuite("samba3.smbtorture_s3.crypt.%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"])
206 plantestsuite("samba3.smbtorture_s3.plain.%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"])
208 local_tests = [
209 "LOCAL-SUBSTITUTE",
210 "LOCAL-GENCACHE",
211 "LOCAL-BASE64",
212 "LOCAL-RBTREE",
213 "LOCAL-MEMCACHE",
214 "LOCAL-STREAM-NAME",
215 "LOCAL-string_to_sid",
216 "LOCAL-sid_to_string",
217 "LOCAL-binary_to_sid",
218 "LOCAL-DBTRANS",
219 "LOCAL-TEVENT-POLL",
220 "LOCAL-CONVERT-STRING",
221 "LOCAL-CONV-AUTH-INFO",
222 "LOCAL-IDMAP-TDB-COMMON",
223 "LOCAL-MESSAGING-READ1",
224 "LOCAL-MESSAGING-READ2",
225 "LOCAL-MESSAGING-READ3",
226 "LOCAL-MESSAGING-READ4",
227 "LOCAL-MESSAGING-FDPASS1",
228 "LOCAL-MESSAGING-FDPASS2",
229 "LOCAL-MESSAGING-FDPASS2a",
230 "LOCAL-MESSAGING-FDPASS2b",
231 "LOCAL-MESSAGING-SEND-ALL",
232 "LOCAL-PTHREADPOOL-TEVENT",
233 "LOCAL-CANONICALIZE-PATH",
234 "LOCAL-DBWRAP-WATCH1",
235 "LOCAL-DBWRAP-WATCH2",
236 "LOCAL-DBWRAP-WATCH3",
237 "LOCAL-DBWRAP-WATCH4",
238 "LOCAL-DBWRAP-DO-LOCKED1",
239 "LOCAL-G-LOCK1",
240 "LOCAL-G-LOCK2",
241 "LOCAL-G-LOCK3",
242 "LOCAL-G-LOCK4",
243 "LOCAL-G-LOCK4A",
244 "LOCAL-G-LOCK5",
245 "LOCAL-G-LOCK6",
246 "LOCAL-G-LOCK7",
247 "LOCAL-NAMEMAP-CACHE1",
248 "LOCAL-IDMAP-CACHE1",
249 "LOCAL-hex_encode_buf",
250 "LOCAL-remove_duplicate_addrs2"]
252 for t in local_tests:
253 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
255 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
256 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
257 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
258 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
260 plantestsuite("samba3.blackbox.smbclient_basic.NT1", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mNT1"])
261 plantestsuite("samba3.blackbox.smbclient_basic.SMB2_02", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB2_02"])
262 plantestsuite("samba3.blackbox.smbclient_basic.SMB2_10", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB2_10"])
263 plantestsuite("samba3.blackbox.smbclient_basic.SMB3_02", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB3_02"])
264 plantestsuite("samba3.blackbox.smbclient_basic.SMB3_11", "nt4_dc_schannel", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mSMB3_11"])
266 plantestsuite("samba3.blackbox.smbclient_basic", "ad_member", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration])
267 for options in ["", "--option=clientntlmv2auth=no", "--option=clientusespnego=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", "--option=clientntlmv2auth=no --option=clientlanmanauth=yes --option=clientmaxprotocol=NT1"]:
268 env = "nt4_dc"
269 plantestsuite("samba3.blackbox.smbclient_auth.plain.%s" % (options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
271 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
272 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
273 plantestsuite("samba3.blackbox.smbclient_ntlm.plain NT1", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, "NT1", configuration])
274 plantestsuite("samba3.blackbox.smbclient_ntlm.plain SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, "SMB3", configuration])
276 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
277 for env in ["nt4_member", "ad_member"]:
278 plantestsuite("samba3.blackbox.smbclient_auth.plain.%s" % (options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
279 plantestsuite("samba3.blackbox.smbclient_auth.plain.%s.member_creds" % (options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration, options])
281 for env in ["nt4_member", "ad_member"]:
282 plantestsuite("samba3.blackbox.smbclient_auth.empty_domain.domain_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '/$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
283 plantestsuite("samba3.blackbox.smbclient_auth.empty_domain.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '/$USERNAME', '$PASSWORD', smbclient3, configuration, options])
284 plantestsuite("samba3.blackbox.smbclient_auth.dot_domain.domain_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', './$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
285 plantestsuite("samba3.blackbox.smbclient_auth.dot_domain.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', './$USERNAME', '$PASSWORD', smbclient3, configuration, options])
286 plantestsuite("samba3.blackbox.smbclient_auth.upn.domain_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME@$REALM', '$DC_PASSWORD', smbclient3, configuration, options])
287 plantestsuite("samba3.blackbox.smbclient_auth.upn.member_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME@$SERVER', '$PASSWORD', smbclient3, configuration, options])
289 env = "ad_dc"
290 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
292 for env in ["ad_member:local", "nt4_dc:local"]:
293 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
295 env = "nt4_dc"
296 plantestsuite("samba3.blackbox.smbclient_auth.plain.ipv6", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IPV6', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration])
298 for env in ["nt4_member", "ad_member"]:
299 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
301 env = "ad_member"
302 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
303 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
304 plantestsuite("samba3.wbinfo_name_lookup", env,
305 [os.path.join(srcdir(),
306 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
307 '$DOMAIN', '$REALM', '$DC_USERNAME'])
309 env = "ad_member"
310 plantestsuite("samba3.wbinfo_user_info_cached", env,
311 [os.path.join(srcdir(),
312 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
313 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
314 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
315 [os.path.join(srcdir(),
316 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
317 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
319 env = "ad_member:local"
320 plantestsuite("samba3.wbinfo_user_info", env,
321 [os.path.join(srcdir(),
322 "nsswitch/tests/test_wbinfo_user_info.sh"),
323 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
325 env = "fl2008r2dc:local"
326 plantestsuite("samba3.wbinfo_user_info", env,
327 [os.path.join(srcdir(),
328 "nsswitch/tests/test_wbinfo_user_info.sh"),
329 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
331 env = "nt4_member:local"
332 plantestsuite("samba3.wbinfo_sids_to_xids", env,
333 [os.path.join(srcdir(),
334 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
336 env = "ad_member"
337 t = "WBCLIENT-MULTI-PING"
338 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
339 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
341 for env in ["maptoguest", "simpleserver"]:
342 plantestsuite("samba3.blackbox.smbclient_auth.plain.local_creds", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
344 env = "maptoguest"
345 plantestsuite("samba3.blackbox.smbclient_auth.plain.bad_username", 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"])
346 plantestsuite("samba3.blackbox.smbclient_ntlm.plain.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, "NT1", configuration])
347 plantestsuite("samba3.blackbox.smbclient_ntlm.plain.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, "NT1", configuration])
349 # plain
350 for env in ["nt4_dc"]:
351 plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain", 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, "NT1"])
352 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain", 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, "SMB3"])
354 for env in ["nt4_member", "ad_member"]:
355 plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain.member_creds", 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, "NT1"])
356 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain.member_creds", 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, "SMB3"])
358 for env in ["nt4_dc"]:
359 plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign", 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, "NT1", "--signing=required"])
360 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign", 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, "SMB3", "--signing=required"])
362 for env in ["nt4_member", "ad_member"]:
363 plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign.member_creds", 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, "NT1", "--signing=required"])
364 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign.member_creds", 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, "SMB3", "--signing=required"])
366 for env in ["nt4_dc"]:
367 # encrypted
368 plantestsuite("samba3.blackbox.smbclient_s3.NT1.crypt", 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, "NT1", "-e"])
369 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.crypt", 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, "SMB3", "-e"])
371 for env in ["fileserver"]:
372 plantestsuite("samba3.blackbox.preserve_case.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "NT1"])
373 plantestsuite("samba3.blackbox.preserve_case.SMB2+", env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, '"SMB2 SMB3"'])
374 plantestsuite("samba3.blackbox.dfree_command.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "NT1"])
375 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
376 plantestsuite("samba3.blackbox.dfree_quota.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls, "NT1"])
377 plantestsuite("samba3.blackbox.dfree_quota.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls, "SMB3"])
378 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
379 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
380 plantestsuite("samba3.blackbox.force_create_mode", env, [os.path.join(samba3srcdir, "script/tests/test_force_create_mode.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', env, smbclient3])
381 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
382 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
383 plantestsuite("samba3.blackbox.shadow_copy2.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
384 plantestsuite("samba3.blackbox.shadow_copy2.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'SMB3'])
385 plantestsuite("samba3.blackbox.shadow_copy_torture", env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy_torture.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
386 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
387 plantestsuite("samba3.blackbox.smbget", env, [os.path.join(samba3srcdir, "script/tests/test_smbget.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', 'smbget_user', '$PASSWORD', '$LOCAL_PATH/smbget', smbget])
388 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
389 plantestsuite("samba3.blackbox.acl_xattr.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mNT1'])
390 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
391 plantestsuite("samba3.blackbox.smb2.not_casesensitive", env, [os.path.join(samba3srcdir, "script/tests/test_smb2_not_casesensitive.sh"), '//$SERVER/tmp', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
392 plantestsuite("samba3.blackbox.inherit_owner.default.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp', '0', '0', '-m', 'NT1'])
393 plantestsuite("samba3.blackbox.inherit_owner.default.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp', '0', '0', '-m', 'SMB3'])
394 plantestsuite("samba3.blackbox.inherit_owner.full.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner', '1', '1', '-m', 'NT1'])
395 plantestsuite("samba3.blackbox.inherit_owner.full.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner', '1', '1', '-m', 'SMB3'])
396 plantestsuite("samba3.blackbox.inherit_owner.unix.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner_u', '0', '1', '-m', 'NT1'])
397 plantestsuite("samba3.blackbox.inherit_owner.unix.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner_u', '0', '1', '-m', 'SMB3'])
398 plantestsuite("samba3.blackbox.large_acl.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'NT1'])
399 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
400 plantestsuite("samba3.blackbox.give_owner", env, [os.path.join(samba3srcdir, "script/tests/test_give_owner.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp'])
401 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
402 plantestsuite("samba3.blackbox.force_group_change", env,
403 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
404 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
405 plantestsuite("samba3.blackbox.zero-data", env,
406 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
407 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
408 plantestsuite("samba3.blackbox.timestamps", env,
409 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
410 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
413 # tar command tests
416 # Test smbclient/tarmode
417 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env,
418 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
419 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
420 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
421 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
422 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
423 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
424 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
426 # Test suite for new smbclient/tar with libarchive (GSoC 13)
427 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env,
428 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
429 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
430 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
431 '-d', '$PREFIX', '-b', smbclient3,
432 '--subunit', '--', configuration, '-mNT1'])
433 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
434 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
435 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
436 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
437 '-d', '$PREFIX', '-b', smbclient3,
438 '--subunit', '--', configuration, '-mSMB3'])
440 for env in ["fileserver:local"]:
441 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
443 plantestsuite("samba3.blackbox.smbstatus", env, [os.path.join(samba3srcdir, "script/tests/test_smbstatus.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, smbstatus, configuration, "SMB3"])
444 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
446 # TODO encrypted against member, with member creds, and with DC creds
447 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
448 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
449 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
450 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
451 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
452 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
453 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
454 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
455 scriptdir, "$SMB_CONF_PATH", net, configuration])
456 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
457 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
458 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
459 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
460 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
461 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
463 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
464 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
465 scriptdir, "$SMB_CONF_PATH", net, configuration])
466 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
467 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
468 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
470 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
471 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
472 scriptdir, "$SMB_CONF_PATH", net, configuration])
473 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
474 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
475 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
478 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
479 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
480 "$LOCAL_PATH"])
482 plantestsuite(
483 "samba3.pthreadpool", "none",
484 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
486 if with_pthreadpool and have_ldwrap:
487 plantestsuite("samba3.pthreadpool_cmocka", "none",
488 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
490 if with_pthreadpool:
491 plantestsuite("samba3.libwbclient_threads",
492 "nt4_member",
493 [os.path.join(samba3srcdir,
494 "script/tests/test_libwbclient_threads.sh"),
495 "$DOMAIN", "$DC_USERNAME"])
497 plantestsuite("samba3.test_nfs4_acl", "none",
498 [os.path.join(bindir(), "test_nfs4_acls"),
499 "$SMB_CONF_PATH"])
501 plantestsuite(
502 "samba3.resolvconf", "none",
503 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
505 plantestsuite("samba3.tevent_glib_glue", "none",
506 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
508 plantestsuite("samba3.async_req", "nt4_dc",
509 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
511 # smbtorture4 tests
513 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
514 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
515 "base.disconnect", "base.fdpass", "base.lock",
516 "base.mangle", "base.negnowait", "base.ntdeny1",
517 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
518 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
519 "base.xcopy", "base.samba3error"]
521 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
522 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
523 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
524 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
525 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
526 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
527 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
528 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
529 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
531 smb2 = smbtorture4_testsuites("smb2.")
533 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
534 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
535 "rpc.samba3.getaliasmembership-0",
536 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
537 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
538 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
539 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
540 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
541 "rpc.spoolss.driver",
542 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
543 "rpc.lsa.privileges", "rpc.lsa.secrets",
544 "rpc.mdssvc",
545 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
546 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
547 "rpc.samr.priv", "rpc.samr.passwords.validate",
548 "rpc.netlogon.admin",
549 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
550 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
552 local = ["local.nss"]
554 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
556 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
558 unix = ["unix.info2", "unix.whoami"]
560 nbt = ["nbt.dgram"]
562 vfs = [
563 "vfs.fruit",
564 "vfs.acl_xattr",
565 "vfs.fruit_netatalk",
566 "vfs.fruit_file_id",
567 "vfs.fruit_timemachine",
568 "vfs.fruit_conversion",
569 "vfs.unfruit",
572 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
574 for t in tests:
575 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
576 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
577 elif t == "base.createx_access":
578 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
579 elif t == "rap.sam":
580 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
581 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
582 elif t == "winbind.pac":
583 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
584 elif t == "unix.whoami":
585 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
586 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
587 for env in ["nt4_dc", "nt4_member"]:
588 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
589 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
590 for env in ["ad_dc", "ad_member"]:
591 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
592 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
593 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
594 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
595 elif t == "raw.samba3posixtimedlock" or t == "smb2.samba3misc":
596 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
597 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
598 description="brl_delay_inject1")
599 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
600 description="brl_delay_inject2")
601 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
602 elif t == "raw.chkpath":
603 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
604 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
605 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
606 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
607 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
608 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
609 elif t == "raw.session":
610 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
611 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
612 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
613 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
614 elif t == "smb2.session":
615 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
616 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
617 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
618 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
619 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
620 # ad_member_idmap_rid sets "create krb5.conf = no"
621 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
622 elif t == "rpc.lsa":
623 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
624 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
625 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
626 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
627 elif t == "rpc.mdssvc":
628 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
629 elif t == "rpc.samr.passwords.validate":
630 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
631 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
632 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
633 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
634 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
635 elif t == "base.rw1":
636 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
637 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
638 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
639 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
640 elif t == "idmap.rfc2307":
641 plantestsuite(t, "ad_member_rfc2307",
642 [os.path.join(samba3srcdir,
643 "../nsswitch/tests/test_idmap_rfc2307.sh"),
644 '$DOMAIN',
645 'Administrator', '2000000',
646 'Guest', '2000001',
647 '"Domain Users"', '2000002',
648 'DnsAdmins', '2000003',
649 '2000005', '35',
650 'ou=idmap,dc=samba,dc=example,dc=com',
651 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
652 elif t == "idmap.alloc":
653 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
654 elif t == "idmap.rid":
655 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
656 elif t == "idmap.ad":
657 plantestsuite(t, "ad_member_idmap_ad", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_ad.sh"), '$DOMAIN', '$DC_SERVER', '$DC_PASSWORD', '$TRUST_DOMAIN', '$TRUST_SERVER', '$TRUST_PASSWORD'])
658 elif t == "raw.acls":
659 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
660 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
661 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
662 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
663 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
664 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
665 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
666 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
667 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
668 elif t == "smb2.ioctl":
669 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
670 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
671 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
672 elif t == "smb2.lock":
673 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
674 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
675 elif t == "raw.lock" or t == "base.lock":
676 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
677 elif t == "raw.read":
678 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
679 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
680 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
681 elif t == "raw.search":
682 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
683 # test the dirsort module.
684 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
685 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
686 elif t == "vfs.fruit":
687 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'metadata_netatalk')
688 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_metadata_stream -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'metadata_stream')
689 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_stream_depot -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit_stream_depot', 'streams_depot')
690 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_delete_empty_adfiles -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share --option=torture:share2=vfs_wo_fruit', 'fruit_delete_empty_adfiles')
691 elif t == "vfs.fruit_netatalk":
692 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
693 elif t == "vfs.fruit_timemachine":
694 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
695 elif t == "vfs.fruit_file_id":
696 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
697 elif t == "vfs.fruit_conversion":
698 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:share2=vfs_fruit_wipe_intentionally_left_blank_rfork --option=torture:delete_empty_adfiles=false', 'wipe_intentionally_left_blank_rfork')
699 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:share2=vfs_fruit_delete_empty_adfiles --option=torture:delete_empty_adfiles=true', 'delete_empty_adfiles')
700 elif t == "vfs.unfruit":
701 creds = '-U$USERNAME%$PASSWORD'
702 share2 = '--option=torture:share2=tmp'
703 netopt = '--option=torture:net=%s' % net
704 shareopt = '--option=torture:sharename'
706 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
707 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit_metadata_stream %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit_metadata_stream'), 'metadata_stream')
708 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit_stream_depot %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit_stream_depot'), 'streams_depot')
709 elif t == "rpc.schannel_anon_setpw":
710 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
711 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
712 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
713 elif t == "local.nss":
714 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
715 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
716 elif t == "smb2.change_notify_disabled":
717 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
718 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
719 # These tests are a little slower so don't duplicate them with ad_dc
720 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
721 elif t == "smb2.dosmode":
722 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
723 elif t == "smb2.kernel-oplocks":
724 if have_linux_kernel_oplocks:
725 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
726 elif t == "smb2.notify-inotify":
727 if have_inotify:
728 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
729 elif t == "vfs.acl_xattr":
730 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
731 elif t == "smb2.compound_find":
732 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
733 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
734 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
735 elif t == "rpc.samr.users.privileges":
736 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
737 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
738 elif t == "smb2.compound":
739 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
740 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
741 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
742 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
743 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
744 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
745 elif t == "smb2.streams":
746 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
747 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
748 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
749 elif t == "smb2.aio_delay":
750 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
751 elif t == "smb2.delete-on-close-perms":
752 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
753 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
754 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
755 elif t == "smb2.fileid":
756 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
757 elif t == "rpc.wkssvc":
758 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
759 elif t == "rpc.srvsvc":
760 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
761 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
762 else:
763 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
764 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
767 test = 'rpc.lsa.lookupsids'
768 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
769 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
770 endianness_options = ["", ",bigendian"]
771 for s in signseal_options:
772 for e in endianness_options:
773 for a in auth_options:
774 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
775 options = binding_string + " -U$USERNAME%$PASSWORD"
776 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
777 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"),
778 "none", options, configuration])
780 # We should try more combinations in future, but this is all
781 # the pre-calculated credentials cache supports at the moment
783 # As the ktest env requires SMB3_00 we need to use "smb2" until
784 # dcerpc client code in smbtorture support autonegotiation
785 # of any smb dialect.
786 e = ""
787 a = "smb2"
788 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
789 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
790 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
792 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
793 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
795 auth_options2 = ["krb5", "spnego,krb5"]
796 for a in auth_options2:
797 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
799 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"),
800 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
802 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
803 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
804 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
805 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
806 configuration, os.path.join(bindir(), "sharesec"),
807 os.path.join(bindir(), "net"), "tmp"])
809 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
810 [os.path.join(samba3srcdir,
811 "script/tests/test_close_denied_share.sh"),
812 configuration,
813 os.path.join(bindir(), "sharesec"),
814 os.path.join(bindir(), "smbclient"),
815 os.path.join(bindir(), "smbcontrol"),
816 '$SERVER_IP',
817 "tmp"])
819 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
820 [os.path.join(samba3srcdir,
821 "script/tests/test_force_close_share.sh"),
822 configuration,
823 os.path.join(bindir(), "smbclient"),
824 os.path.join(bindir(), "smbcontrol"),
825 '$SERVER_IP',
826 "aio_delay_inject"])
828 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
829 [os.path.join(samba3srcdir,
830 "script/tests/test_open_eintr.sh"),
831 configuration,
832 os.path.join(bindir(), "smbclient"),
833 os.path.join(bindir(), "smbcontrol"),
834 '$SERVER_IP',
835 "error_inject"])
837 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
838 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
839 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
840 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
842 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
843 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
845 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
846 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
847 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
849 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
850 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
852 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
853 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
854 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
856 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
857 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
858 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
859 configuration])
861 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
862 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
863 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
864 configuration])
865 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
866 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
867 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
868 configuration])
869 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
870 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
871 "$SERVER", "$PREFIX/net_rpc_oldjoin",
872 "$SMB_CONF_PATH"])
873 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
874 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
875 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
876 configuration])
878 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
879 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
880 "$USERNAME", "$PASSWORD", "$SERVER",
881 os.path.join(bindir(), "rpcclient"), "tmp"])
883 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
884 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
885 "$USERNAME", "$PASSWORD", "$SERVER",
886 os.path.join(bindir(), "rpcclient")])
888 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
889 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
890 "$USERNAME", "$PASSWORD", "$SERVER",
891 smbclient3])
893 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
894 [os.path.join(samba3srcdir,
895 "script/tests/test_rpcclient_netsessenum.sh"),
896 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
897 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
899 # The ktest environment uses:
900 # server min protocol = SMB3_00
901 # client max protocol = SMB3
902 options_list = ["", "-e"]
903 for options in options_list:
904 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
905 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
906 "$PREFIX/ktest/krb5_ccache-2",
907 smbclient3, "$SERVER", options, configuration])
909 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
910 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
911 "$PREFIX/ktest/krb5_ccache-3",
912 smbclient3, "$SERVER", options, configuration])
914 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
915 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
916 "$PREFIX/ktest/krb5_ccache-3",
917 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
919 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
920 for options in options_list:
921 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "nt4_dc:local",
922 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
923 "none",
924 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
926 for alias in ["foo", "bar"]:
927 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
928 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
929 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
931 for e in endianness_options:
932 for a in auth_options:
933 for s in signseal_options:
934 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
935 options = binding_string + " -U$USERNAME%$PASSWORD"
936 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
938 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
939 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
941 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
942 plantestsuite("samba3.blackbox.guest", env,
943 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
944 '$SERVER', smbclient3, smbcontrol, net, configuration])
946 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
949 def planclusteredmembertestsuite(tname, prefix):
950 '''Define a clustered test for the clusteredmember environment'''
952 tshare = 'tmp'
954 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
955 namearg = 'clustered.%s' % tname
956 modnamearg = 'samba3.%s' % namearg
957 extraargs = ''
959 prefix = os.path.join(prefix, 'clusteredmember')
960 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
962 unclistarg = '--unclist=%s' % unclist
963 sharearg = '//$SERVER_IP/%s' % tshare
965 return selftesthelpers.plansmbtorture4testsuite(
966 namearg,
967 'clusteredmember',
968 [extraargs, unclistarg, sharearg, autharg, tname],
969 target='samba3',
970 modname=modnamearg)
973 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
975 for test in CLUSTERED_TESTS:
976 planclusteredmembertestsuite(test, "$PREFIX")