CVE-2021-44141: s3: torture: Add samba3.blackbox.test_symlink_traversal.SMB1.posix
[Samba.git] / source3 / selftest / tests.py
blobc685c09a3dc47f6cd421dd6f6a7ed61b3ae89b58
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 import re
24 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
25 import selftesthelpers
26 from selftesthelpers import bindir, srcdir, scriptdir, binpath
27 from selftesthelpers import plantestsuite, samba3srcdir
28 from selftesthelpers import smbtorture3, configuration, smbclient3, smbtorture4
29 from selftesthelpers import net, wbinfo, dbwrap_tool, rpcclient, python
30 from selftesthelpers import smbget, smbcacls, smbcquotas, ntlm_auth3
31 from selftesthelpers import valgrindify, smbtorture4_testsuites
32 from selftesthelpers import smbtorture4_options
33 from selftesthelpers import smbcontrol
34 from selftesthelpers import smbstatus
35 smbtorture4_options.extend([
36 '--option=torture:sharedelay=100000',
37 '--option=torture:writetimeupdatedelay=500000',
41 def plansmbtorture4testsuite(name, env, options, description=''):
42 if description == '':
43 modname = "samba3.%s" % (name, )
44 else:
45 modname = "samba3.%s %s" % (name, description)
47 selftesthelpers.plansmbtorture4testsuite(
48 name, env, options, target='samba3', modname=modname)
50 def compare_versions(version1, version2):
51 for i in range(max(len(version1),len(version2))):
52 v1 = version1[i] if i < len(version1) else 0
53 v2 = version2[i] if i < len(version2) else 0
54 if v1 > v2:
55 return 1
56 elif v1 <v2:
57 return -1
58 return 0
60 # find config.h
61 try:
62 config_h = os.environ["CONFIG_H"]
63 except KeyError:
64 samba4bindir = bindir()
65 config_h = os.path.join(samba4bindir, "default/include/config.h")
67 # check available features
68 config_hash = dict()
69 f = open(config_h, 'r')
70 try:
71 lines = f.readlines()
72 config_hash = dict((x[0], ' '.join(x[1:]))
73 for x in map(lambda line: line.strip().split(' ')[1:],
74 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
75 finally:
76 f.close()
78 if config_hash["SYSTEM_UNAME_SYSNAME"] == '"Linux"':
79 m = re.search(r'(\d+).(\d+).(\d+)', config_hash["SYSTEM_UNAME_RELEASE"])
80 if m:
81 linux_kernel_version = [int(m.group(1)), int(m.group(2)), int(m.group(3))]
83 have_linux_kernel_oplocks = False
84 if "HAVE_KERNEL_OPLOCKS_LINUX" in config_hash:
85 if compare_versions(linux_kernel_version, [5,3,1]) >= 0:
86 have_linux_kernel_oplocks = True
88 have_inotify = ("HAVE_INOTIFY" in config_hash)
89 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
90 with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
92 def is_module_enabled(module):
93 if module in config_hash["STRING_SHARED_MODULES"]:
94 return True
95 if module in config_hash["STRING_STATIC_MODULES"]:
96 return True
97 return False
99 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
100 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
102 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
104 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
106 fileserver_tests = [
107 "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
108 "LOCK9A", "LOCK9B",
109 "LOCK10",
110 "LOCK11",
111 "LOCK12",
112 "LOCK13",
113 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
114 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
115 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
116 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
117 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
118 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
119 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
120 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
121 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
122 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
123 "SMB2-PATH-SLASH",
124 "SMB2-QUOTA1",
125 "CLEANUP1",
126 "CLEANUP2",
127 "CLEANUP4",
128 "DELETE-STREAM",
129 "BAD-NBT-SESSION",
130 "SMB1-WILD-MANGLE-UNLINK",
131 "SMB1-WILD-MANGLE-RENAME"]
133 for t in fileserver_tests:
134 fileserver_env = "fileserver_smb1"
135 if "SMB2" in t:
136 fileserver_env = "fileserver"
137 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, fileserver_env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
138 plantestsuite("samba3.smbtorture_s3.crypt_client.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
139 if t == "TORTURE":
140 # this is a negative test to verify that the server rejects
141 # access without encryption
142 plantestsuite("samba3.smbtorture_s3.crypt_server.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmpenc', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
143 if t == "CLI_SPLICE":
144 # We must test this against the SMB1 fallback.
145 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "fileserver_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH", "-mNT1"])
146 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"])
148 t = "TLDAP"
149 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"])
151 if have_linux_kernel_oplocks:
152 t = "OPLOCK5"
153 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
154 "fileserver_smb1",
155 [os.path.join(samba3srcdir,
156 "script/tests/test_smbtorture_s3.sh"),
158 '//$SERVER/tmp',
159 '$USERNAME',
160 '$PASSWORD',
161 smbtorture3,
163 "-l $LOCAL_PATH",
164 "-mNT1"])
166 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
168 plantestsuite("samba3.smbtorture_s3.plain.%s" % "RENAME-ACCESS", "nt4_dc_smb1", [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"])
169 plantestsuite("samba3.smbtorture_s3.crypt_client.%s" % "RENAME-ACCESS", "nt4_dc_smb1", [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"])
170 # non-crypt only
172 tests = ["OPLOCK-CANCEL"]
173 for t in tests:
174 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"])
176 env = "nt4_dc_smb1"
177 tests = ["MANGLE-ILLEGAL"]
178 for t in tests:
179 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"])
181 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
182 for t in tests:
183 if t == "SMB2-BASIC":
184 env = "simpleserver"
185 else:
186 env = "fileserver_smb1"
188 plantestsuite("samba3.smbtorture_s3.vfs_aio_pthread(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_pthread', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
189 plantestsuite("samba3.smbtorture_s3.vfs_aio_fork(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_fork', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
191 plantestsuite("samba3.smbtorture_s3.hidenewfiles(fileserver_smb1)",
192 "fileserver_smb1",
193 [os.path.join(samba3srcdir,
194 "script/tests/test_smbtorture_s3.sh"),
195 'hide-new-files-timeout',
196 '//$SERVER_IP/hidenewfiles',
197 '$USERNAME',
198 '$PASSWORD',
199 smbtorture3,
201 "-l $LOCAL_PATH"])
204 # MSDFS attribute tests.
206 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
207 "fileserver",
208 [os.path.join(samba3srcdir,
209 "script/tests/test_smbtorture_s3.sh"),
210 'MSDFS-ATTRIBUTE',
211 '//$SERVER_IP/msdfs-share',
212 '$USERNAME',
213 '$PASSWORD',
214 smbtorture3,
215 "-mSMB2",
216 "-f msdfs-src1"])
218 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
219 "fileserver_smb1",
220 [os.path.join(samba3srcdir,
221 "script/tests/test_smbtorture_s3.sh"),
222 'MSDFS-ATTRIBUTE',
223 '//$SERVER_IP/msdfs-share',
224 '$USERNAME',
225 '$PASSWORD',
226 smbtorture3,
227 "-mNT1",
228 "-f msdfs-src1"])
231 # SMB2-STREAM-ACL needs to run against a special share - vfs_wo_fruit
233 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-STREAM-ACL",
234 "fileserver",
235 [os.path.join(samba3srcdir,
236 "script/tests/test_smbtorture_s3.sh"),
237 'SMB2-STREAM-ACL',
238 '//$SERVER_IP/vfs_wo_fruit',
239 '$USERNAME',
240 '$PASSWORD',
241 smbtorture3,
243 "-l $LOCAL_PATH"])
246 # SMB2-LIST-DIR-ASYNC needs to run against a special share vfs_aio_pthread_async_dosmode_default1
248 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-LIST-DIR-ASYNC",
249 "simpleserver",
250 [os.path.join(samba3srcdir,
251 "script/tests/test_smbtorture_s3.sh"),
252 'SMB2-LIST-DIR-ASYNC',
253 '//$SERVER_IP/vfs_aio_pthread_async_dosmode_default1',
254 '$USERNAME',
255 '$PASSWORD',
256 smbtorture3,
258 "-l $LOCAL_PATH"])
260 # SMB2-DEL-ON-CLOSE-NONEMPTY needs to run against a special fileserver share veto_files_delete
262 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONEMPTY",
263 "fileserver",
264 [os.path.join(samba3srcdir,
265 "script/tests/test_smbtorture_s3.sh"),
266 'SMB2-DEL-ON-CLOSE-NONEMPTY',
267 '//$SERVER_IP/veto_files_delete',
268 '$USERNAME',
269 '$PASSWORD',
270 smbtorture3,
272 "-l $LOCAL_PATH"])
276 shares = [
277 "vfs_aio_pthread_async_dosmode_default1",
278 "vfs_aio_pthread_async_dosmode_default2",
279 "vfs_aio_pthread_async_dosmode_force_sync1",
280 "vfs_aio_pthread_async_dosmode_force_sync2"
282 for s in shares:
283 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"])
284 t = "smb2.compound_find"
285 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
287 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
288 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
289 "POSIX-BLOCKING-LOCK",
290 "POSIX-ACL-OPLOCK",
291 "POSIX-ACL-SHAREROOT",
292 "POSIX-LS-WILDCARD",
293 "POSIX-LS-SINGLE",
294 "POSIX-READLINK",
295 "POSIX-STAT",
296 "POSIX-SYMLINK-PARENT",
297 "POSIX-SYMLINK-CHMOD",
298 "POSIX-DIR-DEFAULT-ACL",
299 "POSIX-SYMLINK-RENAME",
300 "POSIX-SYMLINK-GETPATHINFO",
301 "POSIX-SYMLINK-SETPATHINFO",
304 for t in posix_tests:
305 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
306 plantestsuite("samba3.smbtorture_s3.crypt.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
308 local_tests = [
309 "LOCAL-SUBSTITUTE",
310 "LOCAL-GENCACHE",
311 "LOCAL-BASE64",
312 "LOCAL-RBTREE",
313 "LOCAL-MEMCACHE",
314 "LOCAL-STREAM-NAME",
315 "LOCAL-STR-MATCH-MSWILD",
316 "LOCAL-STR-MATCH-REGEX-SUB1",
317 "LOCAL-string_to_sid",
318 "LOCAL-sid_to_string",
319 "LOCAL-binary_to_sid",
320 "LOCAL-DBTRANS",
321 "LOCAL-TEVENT-POLL",
322 "LOCAL-CONVERT-STRING",
323 "LOCAL-CONV-AUTH-INFO",
324 "LOCAL-IDMAP-TDB-COMMON",
325 "LOCAL-MESSAGING-READ1",
326 "LOCAL-MESSAGING-READ2",
327 "LOCAL-MESSAGING-READ3",
328 "LOCAL-MESSAGING-READ4",
329 "LOCAL-MESSAGING-FDPASS1",
330 "LOCAL-MESSAGING-FDPASS2",
331 "LOCAL-MESSAGING-FDPASS2a",
332 "LOCAL-MESSAGING-FDPASS2b",
333 "LOCAL-MESSAGING-SEND-ALL",
334 "LOCAL-PTHREADPOOL-TEVENT",
335 "LOCAL-CANONICALIZE-PATH",
336 "LOCAL-DBWRAP-WATCH1",
337 "LOCAL-DBWRAP-WATCH2",
338 "LOCAL-DBWRAP-WATCH3",
339 "LOCAL-DBWRAP-WATCH4",
340 "LOCAL-DBWRAP-DO-LOCKED1",
341 "LOCAL-G-LOCK1",
342 "LOCAL-G-LOCK2",
343 "LOCAL-G-LOCK3",
344 "LOCAL-G-LOCK4",
345 "LOCAL-G-LOCK4A",
346 "LOCAL-G-LOCK5",
347 "LOCAL-G-LOCK6",
348 "LOCAL-G-LOCK7",
349 "LOCAL-G-LOCK8",
350 "LOCAL-NAMEMAP-CACHE1",
351 "LOCAL-IDMAP-CACHE1",
352 "LOCAL-hex_encode_buf",
353 "LOCAL-remove_duplicate_addrs2"]
355 for t in local_tests:
356 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
358 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
359 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
360 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
361 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
363 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"])
364 plantestsuite("samba3.blackbox.smbclient_basic.NT1", "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mNT1"])
365 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"])
366 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"])
367 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"])
368 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"])
370 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])
371 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"]:
372 if "NT1" in options or "LANMAN2" in options:
373 env = "nt4_dc_smb1_done"
374 else:
375 env = "nt4_dc"
376 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])
378 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
379 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
380 smb1_env = env
381 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
382 smb1_env = smb1_env + "_smb1_done"
383 plantestsuite("samba3.blackbox.smbclient_ntlm.plain NT1", smb1_env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, "NT1", configuration])
384 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])
387 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
389 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
390 # don't attempt to run SMB1 tests in nt4_member or ad_member
391 # as these test envs don't support SMB1, use nt4_dc instead
392 environs = ["nt4_member", "ad_member"]
393 if "NT1" in options or "LANMAN2" in options:
394 environs = ["nt4_dc_smb1_done"]
395 for env in environs:
396 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])
397 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])
399 for env in ["nt4_member", "ad_member"]:
400 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])
401 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])
402 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])
403 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])
404 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])
405 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])
407 env = "ad_dc_smb1"
408 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
410 plantestsuite("samba3.blackbox.printing_var_exp", "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_printing_var_exp.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD'])
412 for env in ["ad_member:local", "nt4_dc:local"]:
413 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
415 env = "nt4_dc"
416 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])
418 for env in ["nt4_member", "ad_member"]:
419 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
421 env = "ad_member"
422 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
423 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
424 plantestsuite("samba3.wbinfo_name_lookup", env,
425 [os.path.join(srcdir(),
426 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
427 '$DOMAIN', '$REALM', '$DC_USERNAME'])
429 env = "ad_member"
430 plantestsuite("samba3.wbinfo_user_info_cached", env,
431 [os.path.join(srcdir(),
432 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
433 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
434 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
435 [os.path.join(srcdir(),
436 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
437 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
439 env = "ad_member:local"
440 plantestsuite("samba3.wbinfo_user_info", env,
441 [os.path.join(srcdir(),
442 "nsswitch/tests/test_wbinfo_user_info.sh"),
443 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
445 env = "fl2008r2dc:local"
446 plantestsuite("samba3.wbinfo_user_info", env,
447 [os.path.join(srcdir(),
448 "nsswitch/tests/test_wbinfo_user_info.sh"),
449 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
451 env = "nt4_member:local"
452 plantestsuite("samba3.wbinfo_sids_to_xids", env,
453 [os.path.join(srcdir(),
454 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
455 plantestsuite(
456 "samba.wbinfo_lookuprids_cache",
457 env,
458 [os.path.join(samba3srcdir,
459 "script/tests/test_wbinfo_lookuprids_cache.sh")])
461 env = "ad_member"
462 t = "WBCLIENT-MULTI-PING"
463 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
464 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
466 for env in ["maptoguest", "simpleserver"]:
467 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"])
469 env = "maptoguest"
470 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"])
471 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])
472 plantestsuite("samba3.blackbox.smbclient_ntlm.plain.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, "SMB3", configuration])
474 # plain
475 env = "nt4_dc_smb1_done"
476 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"])
477 env = "nt4_dc"
478 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"])
480 for env in ["nt4_member", "ad_member"]:
481 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"])
482 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"])
484 env = "nt4_dc_smb1_done"
485 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", "--client-protection=sign"])
486 env = "nt4_dc"
487 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", "--client-protection=sign"])
489 for env in ["nt4_member", "ad_member"]:
490 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", "--client-protection=sign"])
491 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", "--client-protection=sign"])
493 env = "nt4_dc_smb1_done"
494 # encrypted
495 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", "--client-protection=encrypt"])
496 env = "nt4_dc"
497 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", "--client-protection=encrypt"])
499 for env in ["fileserver"]:
500 plantestsuite("samba3.blackbox.preserve_case.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "NT1"])
501 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"'])
502 plantestsuite("samba3.blackbox.dfree_command.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "NT1"])
503 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
504 plantestsuite("samba3.blackbox.dfree_quota.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls, "NT1"])
505 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"])
506 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
507 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
508 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])
509 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
510 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
511 plantestsuite("samba3.blackbox.shadow_copy2.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
512 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'])
513 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, smbclient3])
514 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
515 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])
516 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
517 plantestsuite("samba3.blackbox.acl_xattr.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mNT1'])
518 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
519 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])
520 plantestsuite("samba3.blackbox.inherit_owner.default.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp', '0', '0', '-m', 'NT1'])
521 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'])
522 plantestsuite("samba3.blackbox.inherit_owner.full.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner', '1', '1', '-m', 'NT1'])
523 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'])
524 plantestsuite("samba3.blackbox.inherit_owner.unix.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner_u', '0', '1', '-m', 'NT1'])
525 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'])
526 plantestsuite("samba3.blackbox.large_acl.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'NT1'])
527 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
528 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'])
529 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
530 plantestsuite("samba3.blackbox.force_group_change", env,
531 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
532 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
533 plantestsuite("samba3.blackbox.zero-data", env,
534 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
535 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
536 plantestsuite("samba3.blackbox.timestamps", env,
537 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
538 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
539 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
540 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
541 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
542 plantestsuite("samba3.blackbox.sacl_get_set", env,
543 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
544 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
545 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
546 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
547 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
548 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
549 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
550 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
551 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
552 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
553 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
554 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
555 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
556 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
557 plantestsuite("samba3.blackbox.test_veto_rmdir", env,
558 [os.path.join(samba3srcdir, "script/tests/test_veto_rmdir.sh"),
559 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
560 plantestsuite("samba3.blackbox.test_dangle_rmdir", env,
561 [os.path.join(samba3srcdir, "script/tests/test_delete_veto_files_only_rmdir.sh"),
562 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
563 plantestsuite("samba3.blackbox.test_list_servers.NT1",
564 env + "_smb1_done",
565 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
566 '$SERVER',
567 '$SERVER_IP',
568 '$USERNAME',
569 '$PASSWORD',
570 smbclient3,
571 "-mSMB3"])
572 plantestsuite("samba3.blackbox.test_list_servers.SMB2",
573 env,
574 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
575 '$SERVER',
576 '$SERVER_IP',
577 '$USERNAME',
578 '$PASSWORD',
579 smbclient3,
580 "-mSMB3"])
582 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB2", env,
583 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb2.sh"),
584 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
585 '$PREFIX', smbclient3])
587 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1", env + "_smb1_done",
588 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1.sh"),
589 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
590 '$PREFIX', smbclient3])
592 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1.posix", env + "_smb1_done",
593 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1_posix.sh"),
594 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
595 '$PREFIX', smbclient3])
598 # tar command tests
601 # Test smbclient/tarmode
602 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
603 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
604 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
605 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mNT1"])
606 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
607 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
608 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
609 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mSMB3"])
611 # Test suite for new smbclient/tar with libarchive (GSoC 13)
612 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
613 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
614 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
615 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
616 '-d', 'smbclient_tar.NT1', '-b', smbclient3,
617 '--subunit', '--', configuration, '-mNT1'])
618 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
619 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
620 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
621 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
622 '-d', 'smbclient_tar.SMB3', '-b', smbclient3,
623 '--subunit', '--', configuration, '-mSMB3'])
624 plantestsuite("samba3.blackbox.fifo", env,
625 [os.path.join(samba3srcdir, "script/tests/test_fifo.sh"),
626 '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
628 for env in ["fileserver:local"]:
629 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
631 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"])
632 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
634 # TODO encrypted against member, with member creds, and with DC creds
635 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
636 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
637 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
638 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
639 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
640 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
641 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
642 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
643 scriptdir, "$SMB_CONF_PATH", net, configuration])
644 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
645 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
646 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
647 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
648 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
649 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
651 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
652 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
653 scriptdir, "$SMB_CONF_PATH", net, configuration])
654 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
655 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
656 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
658 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
659 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
660 scriptdir, "$SMB_CONF_PATH", net, configuration])
661 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
662 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
663 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
666 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
667 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
668 "$LOCAL_PATH"])
670 plantestsuite(
671 "samba3.pthreadpool", "none",
672 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
674 if with_pthreadpool and have_ldwrap:
675 plantestsuite("samba3.pthreadpool_cmocka", "none",
676 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
678 if with_pthreadpool:
679 plantestsuite("samba3.libwbclient_threads",
680 "nt4_member",
681 [os.path.join(samba3srcdir,
682 "script/tests/test_libwbclient_threads.sh"),
683 "$DOMAIN", "$DC_USERNAME"])
685 plantestsuite("samba3.test_nfs4_acl", "none",
686 [os.path.join(bindir(), "test_nfs4_acls"),
687 "$SMB_CONF_PATH"])
689 plantestsuite("samba3.test_vfs_full_audit", "none",
690 [os.path.join(bindir(), "test_vfs_full_audit"),
691 "$SMB_CONF_PATH"])
693 plantestsuite("samba3.test_vfs_posixacl", "none",
694 [os.path.join(bindir(), "test_vfs_posixacl"),
695 "$SMB_CONF_PATH"])
697 if is_module_enabled("vfs_gpfs"):
698 plantestsuite("samba3.test_vfs_gpfs", "none",
699 [os.path.join(bindir(), "test_vfs_gpfs")])
701 plantestsuite(
702 "samba3.resolvconf", "none",
703 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
705 plantestsuite("samba3.tevent_glib_glue", "none",
706 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
708 plantestsuite("samba3.async_req", "nt4_dc",
709 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
711 # smbtorture4 tests
713 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
714 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
715 "base.disconnect", "base.fdpass", "base.lock",
716 "base.mangle", "base.negnowait", "base.ntdeny1",
717 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
718 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
719 "base.xcopy", "base.samba3error"]
721 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
722 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
723 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
724 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
725 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
726 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
727 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
728 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
729 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
731 smb2 = smbtorture4_testsuites("smb2.")
733 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
734 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
735 "rpc.samba3.getaliasmembership-0",
736 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
737 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
738 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
739 "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
740 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
741 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
742 "rpc.spoolss.driver",
743 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
744 "rpc.lsa.privileges", "rpc.lsa.secrets",
745 "rpc.mdssvc",
746 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
747 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
748 "rpc.samr.priv", "rpc.samr.passwords.validate", "rpc.samr.handletype",
749 "rpc.netlogon.admin",
750 "rpc.netlogon.zerologon",
751 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
752 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
754 local = ["local.nss"]
756 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
758 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
760 unix = ["unix.info2", "unix.whoami"]
762 nbt = ["nbt.dgram"]
764 vfs = [
765 "vfs.fruit",
766 "vfs.acl_xattr",
767 "vfs.fruit_netatalk",
768 "vfs.fruit_file_id",
769 "vfs.fruit_timemachine",
770 "vfs.fruit_conversion",
771 "vfs.unfruit",
774 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
776 for t in tests:
777 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
778 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
779 elif t == "base.createx_access":
780 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
781 elif t == "rap.sam":
782 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
783 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
784 elif t == "winbind.pac":
785 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
786 elif t == "unix.whoami":
787 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
788 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
789 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
790 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
791 for env in ["nt4_dc_smb1", "nt4_member"]:
792 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
793 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
794 for env in ["ad_dc_smb1", "ad_member"]:
795 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
796 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
797 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
798 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
799 elif t == "raw.samba3posixtimedlock":
800 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
801 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
802 description="brl_delay_inject1")
803 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
804 description="brl_delay_inject2")
805 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
806 elif t == "smb2.samba3misc":
807 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
808 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
809 description="brl_delay_inject1")
810 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
811 description="brl_delay_inject2")
812 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
813 elif t == "raw.chkpath":
814 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
815 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
816 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
817 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
818 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
819 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
820 elif t == "raw.session":
821 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
822 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
823 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
824 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
825 elif t == "smb2.session":
826 alice_creds = "--option='torture:user2name=alice' --option='torture:user2password=Secret007'"
827 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
828 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
829 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD ' + alice_creds, 'ntlm')
830 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD ' + alice_creds, 'krb5')
831 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
832 # ad_member_idmap_rid sets "create krb5.conf = no"
833 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
834 elif t == "rpc.lsa":
835 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
836 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
837 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
838 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
839 elif t == "rpc.mdssvc":
840 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
841 elif t == "rpc.samr.passwords.validate":
842 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
843 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
844 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
845 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
846 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
847 elif t == "base.rw1":
848 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
849 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
850 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
851 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
852 elif t == "idmap.rfc2307":
853 plantestsuite(t, "ad_member_rfc2307",
854 [os.path.join(samba3srcdir,
855 "../nsswitch/tests/test_idmap_rfc2307.sh"),
856 '$DOMAIN',
857 'Administrator', '2000000',
858 'Guest', '2000001',
859 '"Domain Users"', '2000002',
860 'DnsAdmins', '2000003',
861 '2000005', '35',
862 'ou=idmap,dc=samba,dc=example,dc=com',
863 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
864 elif t == "idmap.alloc":
865 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
866 elif t == "idmap.rid":
867 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
868 elif t == "idmap.ad":
869 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'])
870 elif t == "raw.acls":
871 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
872 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
873 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
874 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
875 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
876 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
877 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
878 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
879 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
880 elif t == "smb2.ioctl":
881 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
882 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
883 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
884 elif t == "smb2.lock":
885 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
886 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
887 elif t == "raw.lock" or t == "base.lock":
888 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
889 elif t == "raw.read":
890 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
891 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
892 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
893 elif t == "raw.search":
894 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
895 # test the dirsort module.
896 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
897 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
898 elif t == "vfs.fruit":
899 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')
900 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')
901 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')
902 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')
903 elif t == "vfs.fruit_netatalk":
904 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
905 elif t == "vfs.fruit_timemachine":
906 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
907 elif t == "vfs.fruit_file_id":
908 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
909 elif t == "vfs.fruit_conversion":
910 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')
911 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')
912 elif t == "vfs.unfruit":
913 creds = '-U$USERNAME%$PASSWORD'
914 share2 = '--option=torture:share2=tmp'
915 netopt = '--option=torture:net=%s' % net
916 shareopt = '--option=torture:sharename'
918 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
919 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')
920 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')
921 elif t == "rpc.schannel_anon_setpw":
922 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
923 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
924 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
925 elif t == "local.nss":
926 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
927 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
928 elif t == "smb2.change_notify_disabled":
929 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
930 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
931 tmp_env = "nt4_dc"
932 if t == "raw.notify" or t == "raw.oplock":
933 tmp_env = "nt4_dc_smb1"
934 # These tests are a little slower so don't duplicate them with ad_dc
935 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --client-protection=sign')
936 elif t == "smb2.dosmode":
937 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
938 elif t == "smb2.kernel-oplocks":
939 if have_linux_kernel_oplocks:
940 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
941 elif t == "smb2.notify-inotify":
942 if have_inotify:
943 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
944 elif t == "vfs.acl_xattr":
945 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
946 elif t == "smb2.compound_find":
947 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
948 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
949 elif t == "rpc.samr.users.privileges":
950 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
951 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
952 elif t == "smb2.compound":
953 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
954 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
955 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
956 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
957 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
958 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
959 elif t == "smb2.streams":
960 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
961 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
962 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
963 elif t == "smb2.aio_delay":
964 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
965 elif t == "smb2.delete-on-close-perms":
966 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
967 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
968 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
969 elif t == "smb2.fileid":
970 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
971 elif t == "smb2.fileid_unique":
972 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
973 elif t == "smb2.acls_non_canonical":
974 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/acls_non_canonical -U$USERNAME%$PASSWORD')
975 elif t == "rpc.wkssvc":
976 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
977 elif t == "rpc.srvsvc":
978 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
979 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
980 elif t == "rpc.samba3.lsa_over_netlogon":
981 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
982 elif t == "rpc.samba3.pipes_supported_interfaces":
983 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
984 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
985 elif t == "rpc.spoolss.notify":
986 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
987 elif (t in base and t != "base.charset") \
988 or (t in rap and t != "rap.printing") \
989 or (t in unix) \
990 or (t in ["rpc.authcontext",
991 "rpc.join",
992 "rpc.samba3.bind",
993 "rpc.samba3.getusername",
994 "rpc.samba3.sharesec",
995 "rpc.samba3.smb1-pipe-name",
996 "rpc.samba3.smb-reauth1",
997 "rpc.samba3.smb-reauth2",
998 "rpc.samba3.spoolss",
999 "rpc.samba3.wkssvc",]) \
1000 or (t in ["raw.close",
1001 "raw.composite",
1002 "raw.eas",
1003 "raw.mkdir",
1004 "raw.open",
1005 "raw.rename",
1006 "raw.samba3badnameblob",
1007 "raw.samba3badpath",
1008 "raw.samba3caseinsensitive",
1009 "raw.samba3oplocklogoff",
1010 "raw.samba3posixtimedlock",
1011 "raw.samba3rootdirfid",
1012 "raw.samba3rootdirfid2",
1013 "raw.seek",
1014 "raw.sfileinfo.bug",
1015 "raw.sfileinfo.end-of-file",
1016 "raw.sfileinfo.rename",
1017 "raw.streams",
1018 "raw.unlink",
1019 "raw.write",]) :
1020 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1021 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1022 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
1023 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1024 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1025 else:
1026 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1027 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1029 plantestsuite(
1030 "idmap_ad.ticket_expiry",
1031 "ad_member_idmap_ad:local",
1032 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1033 '$DOMAIN'])
1035 plansmbtorture4testsuite(
1036 "notifyd",
1037 "fileserver:local",
1038 '//foo/bar -U%')
1040 plansmbtorture4testsuite(
1041 "smb2.streams",
1042 "simpleserver",
1043 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1045 test = 'rpc.lsa.lookupsids'
1046 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
1047 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
1048 endianness_options = ["", ",bigendian"]
1049 for s in signseal_options:
1050 for e in endianness_options:
1051 for a in auth_options:
1052 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1053 options = binding_string + " -U$USERNAME%$PASSWORD"
1054 if "smb1" in a:
1055 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1056 else:
1057 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1058 plantestsuite(
1059 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1060 "nt4_dc:local",
1061 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1062 "none",
1063 options + " -c getusername",
1064 configuration])
1065 plantestsuite(
1066 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1067 "nt4_dc:local",
1068 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1069 "none",
1070 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1071 configuration])
1072 if s != ",connect":
1073 plantestsuite(
1074 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1075 "nt4_dc:local",
1076 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1077 "none",
1078 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
1079 configuration])
1081 # We should try more combinations in future, but this is all
1082 # the pre-calculated credentials cache supports at the moment
1084 # As the ktest env requires SMB3_00 we need to use "smb2" until
1085 # dcerpc client code in smbtorture support autonegotiation
1086 # of any smb dialect.
1087 e = ""
1088 a = "smb2"
1089 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1090 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
1091 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
1093 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
1094 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
1096 auth_options2 = ["krb5", "spnego,krb5"]
1097 for a in auth_options2:
1098 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1100 plantestsuite(
1101 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1102 "ktest:local",
1103 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1104 "$PREFIX/ktest/krb5_ccache-3",
1105 binding_string,
1106 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
1107 configuration])
1109 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
1110 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
1111 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
1112 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
1113 configuration, os.path.join(bindir(), "sharesec"),
1114 os.path.join(bindir(), "net"), "tmp"])
1116 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
1117 [os.path.join(samba3srcdir,
1118 "script/tests/test_close_denied_share.sh"),
1119 configuration,
1120 os.path.join(bindir(), "sharesec"),
1121 os.path.join(bindir(), "smbclient"),
1122 os.path.join(bindir(), "smbcontrol"),
1123 '$SERVER_IP',
1124 "tmp"])
1126 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1127 [os.path.join(samba3srcdir,
1128 "script/tests/test_force_close_share.sh"),
1129 configuration,
1130 os.path.join(bindir(), "smbclient"),
1131 os.path.join(bindir(), "smbcontrol"),
1132 '$SERVER_IP',
1133 "aio_delay_inject",
1134 '$PREFIX/force-close-share'])
1136 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1137 [os.path.join(samba3srcdir,
1138 "script/tests/test_open_eintr.sh"),
1139 configuration,
1140 os.path.join(bindir(), "smbclient"),
1141 os.path.join(bindir(), "smbcontrol"),
1142 '$SERVER_IP',
1143 "error_inject"])
1145 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1146 [os.path.join(samba3srcdir,
1147 "script/tests/test_chdir_cache.sh"),
1148 configuration,
1149 os.path.join(bindir(), "smbclient"),
1150 os.path.join(bindir(), "smbcontrol"),
1151 '$SERVER_IP',
1152 "error_inject"])
1154 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1155 [os.path.join(samba3srcdir,
1156 "script/tests/test_netfileenum.sh"),
1157 os.path.join(bindir(), "smbclient"),
1158 os.path.join(bindir(), "rpcclient"),
1159 os.path.join(bindir(), "net"),
1160 '$SERVER_IP',
1161 'tmp'])
1163 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1164 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1165 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1166 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1168 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1169 [os.path.join(samba3srcdir,
1170 "script/tests/test_aio_outstanding.sh"),
1171 configuration,
1172 os.path.join(bindir(), "smbclient"),
1173 '$SERVER_IP',
1174 "aio_delay_inject"])
1176 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1177 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
1178 '$SERVER_IP'])
1180 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1181 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1183 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1184 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1185 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1187 plantestsuite("samba3.blackbox.winbind_ignore_domain", "ad_member_idmap_ad:local",
1188 [os.path.join(samba3srcdir, "script/tests/test_winbind_ignore_domains.sh")])
1190 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1191 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1193 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1194 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1195 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1197 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1198 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1199 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1200 configuration])
1202 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1203 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1204 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1205 configuration])
1206 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1207 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1208 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1209 configuration])
1210 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1211 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1212 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1213 "$SMB_CONF_PATH"])
1214 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1215 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1216 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1217 configuration])
1219 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1220 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1221 "$USERNAME", "$PASSWORD", "$SERVER",
1222 os.path.join(bindir(), "rpcclient"), "tmp"])
1224 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1225 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1226 "$USERNAME", "$PASSWORD", "$SERVER",
1227 os.path.join(bindir(), "rpcclient")])
1229 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1230 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1231 "$USERNAME", "$PASSWORD", "$SERVER",
1232 os.path.join(bindir(), "rpcclient")])
1234 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1235 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1236 "$USERNAME", "$PASSWORD", "$SERVER",
1237 smbclient3])
1239 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1240 [os.path.join(samba3srcdir,
1241 "script/tests/test_smbXsrv_client_dead_rec.sh"),
1242 configuration,
1243 '$SERVER_IP',
1244 "tmp"])
1246 for env in ['fileserver', 'simpleserver']:
1247 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1248 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1249 "$USERNAME", "$PASSWORD", "$SERVER",
1250 smbclient3, env])
1252 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1253 [os.path.join(samba3srcdir,
1254 "script/tests/test_smbclient_kerberos.sh"),
1255 "alice",
1256 "$REALM",
1257 "Secret007",
1258 "$SERVER",
1259 smbclient3,
1260 env])
1261 for env in ['ad_dc_fips', 'ad_member_fips']:
1262 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1263 [os.path.join(samba3srcdir,
1264 "script/tests/test_smbclient_kerberos.sh"),
1265 "alice",
1266 "$REALM",
1267 "Secret007",
1268 "$SERVER",
1269 smbclient3,
1270 env],
1271 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1272 'OPENSSL_FORCE_FIPS_MODE': '1'})
1274 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1275 [os.path.join(samba3srcdir,
1276 "script/tests/test_rpcclient_netsessenum.sh"),
1277 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1278 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1280 # The ktest environment uses:
1281 # server min protocol = SMB3_00
1282 # client max protocol = SMB3
1283 options_list = ["", "--client-protection=encrypt"]
1284 for options in options_list:
1285 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1286 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1287 "$PREFIX/ktest/krb5_ccache-2",
1288 smbclient3, "$SERVER", options, configuration])
1290 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1291 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1292 "$PREFIX/ktest/krb5_ccache-3",
1293 smbclient3, "$SERVER", options, configuration])
1295 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1296 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1297 "$PREFIX/ktest/krb5_ccache-3",
1298 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1300 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1301 for options in options_list:
1302 env = "nt4_dc"
1303 if "NT1" in options:
1304 env = "nt4_dc_smb1_done"
1305 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1306 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1307 "none",
1308 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1310 for alias in ["foo", "bar"]:
1311 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1312 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1313 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1314 configuration])
1316 for e in endianness_options:
1317 for a in auth_options:
1318 for s in signseal_options:
1319 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1320 options = binding_string + " -U$USERNAME%$PASSWORD"
1321 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1323 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1324 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1326 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1327 plantestsuite("samba3.blackbox.guest", env,
1328 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1329 '$SERVER', smbclient3, smbcontrol, net, configuration])
1331 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
1333 plantestsuite("samba3.blackbox.smbclient-mget",
1334 "fileserver",
1335 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1336 smbclient3,
1337 "$SERVER",
1338 "tmp",
1339 "$USERNAME",
1340 "$PASSWORD",
1341 "valid_users"])
1343 t = "readdir-timestamp"
1344 plantestsuite(
1345 "samba3.smbtorture_s3.plain.%s" % t,
1346 "clusteredmember",
1347 [os.path.join(samba3srcdir,
1348 "script/tests/test_smbtorture_s3.sh"),
1350 '//foo/bar',
1351 '$DOMAIN\\\\$DC_USERNAME',
1352 '$DC_PASSWORD',
1353 smbtorture3,
1355 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1357 plantestsuite(
1358 "samba3.net_machine_account",
1359 "clusteredmember",
1360 [os.path.join(samba3srcdir,
1361 "script/tests/test_net_machine_account.sh"),
1362 "bin/net",
1363 "$SERVERCONFFILE",
1364 "$SERVER_IP"])
1366 plantestsuite(
1367 "samba3.net_lookup_ldap",
1368 "ad_dc:local",
1369 [os.path.join(samba3srcdir,
1370 "script/tests/test_net_lookup.sh"),
1371 '$DC_SERVER',
1372 '$DC_USERNAME',
1373 '$DC_PASSWORD',
1374 "bin/net",
1375 "bin/samba-tool",
1376 '$DNSNAME'])
1378 plantestsuite("samba3.blackbox.force-user-unlink",
1379 "maptoguest:local",
1380 [os.path.join(samba3srcdir,
1381 "script/tests/test_force_user_unlink.sh")])
1383 def planclusteredmembertestsuite(tname, prefix):
1384 '''Define a clustered test for the clusteredmember environment'''
1386 tshare = 'tmp'
1388 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1389 namearg = 'clustered.%s' % tname
1390 modnamearg = 'samba3.%s' % namearg
1391 extraargs = ''
1393 prefix = os.path.join(prefix, 'clusteredmember')
1394 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1396 unclistarg = '--unclist=%s' % unclist
1397 sharearg = '//$SERVER_IP/%s' % tshare
1399 return selftesthelpers.plansmbtorture4testsuite(
1400 namearg,
1401 'clusteredmember',
1402 [extraargs, unclistarg, sharearg, autharg, tname],
1403 target='samba3',
1404 modname=modnamearg)
1407 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1409 for test in CLUSTERED_TESTS:
1410 planclusteredmembertestsuite(test, "$PREFIX")
1412 CLUSTERED_LOCAL_TESTS = [
1413 "ctdbd-conn1",
1414 "local-dbwrap-ctdb1"
1417 for t in CLUSTERED_LOCAL_TESTS:
1418 plantestsuite(
1419 "samba3.%s" % t,
1420 "clusteredmember:local",
1421 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1423 '//foo/bar',
1424 '""',
1425 '""',
1426 smbtorture3,
1427 "-N 1000 -o 2000"])