s3: torture: Add a test doing an SMB1 negotiate+exit.
[Samba.git] / source3 / selftest / tests.py
blob8c9ed71c6f78a8b787e174b76892720a1489388f
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 import platform
25 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
26 import selftesthelpers
27 from selftesthelpers import bindir, srcdir, scriptdir, binpath
28 from selftesthelpers import plantestsuite, samba3srcdir
29 from selftesthelpers import planpythontestsuite
30 from selftesthelpers import smbtorture3, configuration, smbclient3, smbtorture4
31 from selftesthelpers import net, wbinfo, dbwrap_tool, rpcclient, python
32 from selftesthelpers import smbget, smbcacls, smbcquotas, ntlm_auth3
33 from selftesthelpers import valgrindify, smbtorture4_testsuites
34 from selftesthelpers import smbtorture4_options
35 from selftesthelpers import smbcontrol
36 from selftesthelpers import smbstatus
37 from selftesthelpers import timelimit
38 smbtorture4_options.extend([
39 '--option=torture:sharedelay=100000',
40 '--option=torture:writetimeupdatedelay=500000',
44 def plansmbtorture4testsuite(name, env, options, description='', environ=None):
45 if description == '':
46 modname = "samba3.%s" % (name, )
47 else:
48 modname = "samba3.%s %s" % (name, description)
50 selftesthelpers.plansmbtorture4testsuite(
51 name, env, options, target='samba3', modname=modname, environ=environ)
53 def compare_versions(version1, version2):
54 for i in range(max(len(version1),len(version2))):
55 v1 = version1[i] if i < len(version1) else 0
56 v2 = version2[i] if i < len(version2) else 0
57 if v1 > v2:
58 return 1
59 elif v1 <v2:
60 return -1
61 return 0
63 # find config.h
64 try:
65 config_h = os.environ["CONFIG_H"]
66 except KeyError:
67 samba4bindir = bindir()
68 config_h = os.path.join(samba4bindir, "default/include/config.h")
70 # check available features
71 config_hash = dict()
72 f = open(config_h, 'r')
73 try:
74 lines = f.readlines()
75 config_hash = dict((x[0], ' '.join(x[1:]))
76 for x in map(lambda line: line.strip().split(' ')[1:],
77 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
78 finally:
79 f.close()
81 linux_kernel_version = None
82 if platform.system() == 'Linux':
83 m = re.search(r'(\d+).(\d+).(\d+)', platform.release())
84 if m:
85 linux_kernel_version = [int(m.group(1)), int(m.group(2)), int(m.group(3))]
87 have_linux_kernel_oplocks = False
88 if "HAVE_KERNEL_OPLOCKS_LINUX" in config_hash:
89 if compare_versions(linux_kernel_version, [5,3,1]) >= 0:
90 have_linux_kernel_oplocks = True
92 have_inotify = ("HAVE_INOTIFY" in config_hash)
93 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
94 with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
96 have_smb3_unix_extensions = ("HAVE_SMB3_UNIX_EXTENSIONS" in config_hash)
98 have_cluster_support = "CLUSTER_SUPPORT" in config_hash
100 def is_module_enabled(module):
101 if module in config_hash["STRING_SHARED_MODULES"]:
102 return True
103 if module in config_hash["STRING_STATIC_MODULES"]:
104 return True
105 return False
107 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
108 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
110 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
112 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
114 fileserver_tests = [
115 "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
116 "LOCK9A", "LOCK9B",
117 "LOCK10",
118 "LOCK11",
119 "LOCK12",
120 "LOCK13",
121 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
122 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
123 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
124 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
125 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
126 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
127 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
128 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
129 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
130 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
131 "SMB2-PATH-SLASH",
132 "SMB2-QUOTA1",
133 "CLEANUP1",
134 "CLEANUP2",
135 "CLEANUP4",
136 "DELETE-STREAM",
137 "BAD-NBT-SESSION",
138 "SMB1-WILD-MANGLE-UNLINK",
139 "SMB1-WILD-MANGLE-RENAME"]
141 for t in fileserver_tests:
142 fileserver_env = "fileserver_smb1"
143 if "SMB2" in t:
144 fileserver_env = "fileserver"
145 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"])
146 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"])
147 if t == "TORTURE":
148 # this is a negative test to verify that the server rejects
149 # access without encryption
150 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"])
151 if t == "CLI_SPLICE":
152 # We must test this against the SMB1 fallback.
153 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"])
154 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"])
156 t = "TLDAP"
157 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"])
159 if have_linux_kernel_oplocks:
160 t = "OPLOCK5"
161 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
162 "fileserver_smb1",
163 [os.path.join(samba3srcdir,
164 "script/tests/test_smbtorture_s3.sh"),
166 '//$SERVER/tmp',
167 '$USERNAME',
168 '$PASSWORD',
169 smbtorture3,
171 "-l $LOCAL_PATH",
172 "-mNT1"])
174 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
176 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"])
177 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"])
178 # non-crypt only
180 tests = ["OPLOCK-CANCEL"]
181 for t in tests:
182 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"])
184 env = "nt4_dc_smb1"
185 tests = ["MANGLE-ILLEGAL"]
186 for t in tests:
187 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"])
189 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
190 for t in tests:
191 if t == "SMB2-BASIC":
192 env = "simpleserver"
193 else:
194 env = "fileserver_smb1"
196 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"])
197 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"])
199 plantestsuite("samba3.smbtorture_s3.hidenewfiles",
200 "simpleserver",
201 [os.path.join(samba3srcdir,
202 "script/tests/test_smbtorture_s3.sh"),
203 'hide-new-files-timeout',
204 '//$SERVER_IP/hidenewfiles',
205 '$USERNAME',
206 '$PASSWORD',
207 smbtorture3,
209 "-l $LOCAL_PATH"])
210 plantestsuite("samba3.smbtorture_s3.hidenewfiles_showdirs",
211 "simpleserver",
212 [os.path.join(samba3srcdir,
213 "script/tests/test_smbtorture_s3.sh"),
214 'hide-new-files-timeout-showdirs',
215 '//$SERVER_IP/hidenewfiles',
216 '$USERNAME',
217 '$PASSWORD',
218 smbtorture3,
220 "-l $LOCAL_PATH"])
222 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-TRUNCATED-SESSSETUP",
223 "fileserver_smb1",
224 [os.path.join(samba3srcdir,
225 "script/tests/test_smbtorture_s3.sh"),
226 'SMB1-TRUNCATED-SESSSETUP',
227 '//$SERVER_IP/tmp',
228 '$USERNAME',
229 '$PASSWORD',
230 smbtorture3,
231 "-mNT1"])
233 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-NEGOTIATE-EXIT",
234 "fileserver_smb1",
235 [os.path.join(samba3srcdir,
236 "script/tests/test_smbtorture_s3.sh"),
237 'SMB1-NEGOTIATE-EXIT',
238 '//$SERVER_IP/tmp',
239 '$USERNAME',
240 '$PASSWORD',
241 smbtorture3,
242 "-mNT1"])
245 # MSDFS attribute tests.
247 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
248 "fileserver",
249 [os.path.join(samba3srcdir,
250 "script/tests/test_smbtorture_s3.sh"),
251 'MSDFS-ATTRIBUTE',
252 '//$SERVER_IP/msdfs-share',
253 '$USERNAME',
254 '$PASSWORD',
255 smbtorture3,
256 "-mSMB2",
257 "-f msdfs-src1"])
259 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
260 "fileserver_smb1",
261 [os.path.join(samba3srcdir,
262 "script/tests/test_smbtorture_s3.sh"),
263 'MSDFS-ATTRIBUTE',
264 '//$SERVER_IP/msdfs-share',
265 '$USERNAME',
266 '$PASSWORD',
267 smbtorture3,
268 "-mNT1",
269 "-f msdfs-src1"])
272 # SMB2-DFS-PATHS needs to run against a special share msdfs-pathname-share
273 # This is an empty DFS share with no links, used merely to test
274 # incoming DFS pathnames and how they map to local paths.
276 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-PATHS",
277 "fileserver",
278 [os.path.join(samba3srcdir,
279 "script/tests/test_smbtorture_s3.sh"),
280 'SMB2-DFS-PATHS',
281 '//$SERVER_IP/msdfs-pathname-share',
282 '$USERNAME',
283 '$PASSWORD',
284 smbtorture3,
285 "-mSMB2"])
287 # BUG: https://bugzilla.samba.org/show_bug.cgi?id=15277
288 # MacOSX clients send a leading '\\' character for DFS paths.
290 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-FILENAME-LEADING-BACKSLASH",
291 "fileserver",
292 [os.path.join(samba3srcdir,
293 "script/tests/test_smbtorture_s3.sh"),
294 'SMB2-DFS-FILENAME-LEADING-BACKSLASH',
295 '//$SERVER_IP/msdfs-pathname-share',
296 '$USERNAME',
297 '$PASSWORD',
298 smbtorture3,
299 "-mSMB2"])
302 # SMB2-NON-DFS-SHARE needs to run against a special share non-msdfs-pathname-share
303 # This is an empty non-DFS share with no links, used merely to test
304 # incoming DFS pathnames and how they map to local paths. We are testing
305 # what happens if we set the FLAGS2_DFS_PATHNAMES and send DFS paths
306 # on a non-DFS share.
308 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-NON-DFS-SHARE",
309 "fileserver",
310 [os.path.join(samba3srcdir,
311 "script/tests/test_smbtorture_s3.sh"),
312 'SMB2-NON-DFS-SHARE',
313 '//$SERVER_IP/non-msdfs-pathname-share',
314 '$USERNAME',
315 '$PASSWORD',
316 smbtorture3,
317 "-mSMB2"])
320 # SMB2-DFS-SHARE-NON-DFS-PATH needs to run against a special share msdfs-pathname-share
321 # This is an empty DFS share with no links, used merely to test
322 # incoming non-DFS pathnames and how they map to local paths.
324 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-SHARE-NON-DFS-PATH",
325 "fileserver",
326 [os.path.join(samba3srcdir,
327 "script/tests/test_smbtorture_s3.sh"),
328 'SMB2-DFS-SHARE-NON-DFS-PATH',
329 '//$SERVER_IP/msdfs-pathname-share',
330 '$USERNAME',
331 '$PASSWORD',
332 smbtorture3,
333 "-mSMB2"])
336 # SMB1-DFS-PATHS needs to run against a special share msdfs-pathname-share
337 # This is an empty DFS share with no links, used merely to test
338 # incoming DFS pathnames and how they map to local paths.
340 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-PATHS",
341 "fileserver_smb1",
342 [os.path.join(samba3srcdir,
343 "script/tests/test_smbtorture_s3.sh"),
344 'SMB1-DFS-PATHS',
345 '//$SERVER_IP/msdfs-pathname-share',
346 '$USERNAME',
347 '$PASSWORD',
348 smbtorture3,
349 "-mNT1"])
352 # SMB1-DFS-SEARCH-PATHS needs to run against a special share msdfs-pathname-share
353 # This is an empty DFS share with no links, used merely to test
354 # incoming DFS pathnames and how they map to local paths.
356 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-SEARCH-PATHS",
357 "fileserver_smb1",
358 [os.path.join(samba3srcdir,
359 "script/tests/test_smbtorture_s3.sh"),
360 'SMB1-DFS-SEARCH-PATHS',
361 '//$SERVER_IP/msdfs-pathname-share',
362 '$USERNAME',
363 '$PASSWORD',
364 smbtorture3,
365 "-mNT1"])
368 # SMB1-DFS-OPERATIONS needs to run against a special share msdfs-pathname-share
369 # This is an empty DFS share with no links, used merely to test
370 # incoming DFS pathnames and how they map to local paths.
372 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-OPERATIONS",
373 "fileserver_smb1",
374 [os.path.join(samba3srcdir,
375 "script/tests/test_smbtorture_s3.sh"),
376 'SMB1-DFS-OPERATIONS',
377 '//$SERVER_IP/msdfs-pathname-share',
378 '$USERNAME',
379 '$PASSWORD',
380 smbtorture3,
381 "-mNT1"])
383 # SMB1-DFS-BADPATH needs to run against a special share msdfs-pathname-share
384 # BUG: https://bugzilla.samba.org/show_bug.cgi?id=15419
386 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-BADPATH",
387 "fileserver_smb1",
388 [os.path.join(samba3srcdir,
389 "script/tests/test_smbtorture_s3.sh"),
390 'SMB1-DFS-BADPATH',
391 '//$SERVER_IP/msdfs-pathname-share',
392 '$USERNAME',
393 '$PASSWORD',
394 smbtorture3,
395 "-mNT1"])
398 # SMB2-STREAM-ACL needs to run against a special share - vfs_wo_fruit
400 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-STREAM-ACL",
401 "fileserver",
402 [os.path.join(samba3srcdir,
403 "script/tests/test_smbtorture_s3.sh"),
404 'SMB2-STREAM-ACL',
405 '//$SERVER_IP/vfs_wo_fruit',
406 '$USERNAME',
407 '$PASSWORD',
408 smbtorture3,
410 "-l $LOCAL_PATH"])
413 # SMB2-LIST-DIR-ASYNC needs to run against a special share vfs_aio_pthread_async_dosmode_default1
415 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-LIST-DIR-ASYNC",
416 "simpleserver",
417 [os.path.join(samba3srcdir,
418 "script/tests/test_smbtorture_s3.sh"),
419 'SMB2-LIST-DIR-ASYNC',
420 '//$SERVER_IP/vfs_aio_pthread_async_dosmode_default1',
421 '$USERNAME',
422 '$PASSWORD',
423 smbtorture3,
425 "-l $LOCAL_PATH"])
427 # SMB2-DEL-ON-CLOSE-NONEMPTY needs to run against a special fileserver share veto_files_delete
429 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONEMPTY",
430 "fileserver",
431 [os.path.join(samba3srcdir,
432 "script/tests/test_smbtorture_s3.sh"),
433 'SMB2-DEL-ON-CLOSE-NONEMPTY',
434 '//$SERVER_IP/veto_files_delete',
435 '$USERNAME',
436 '$PASSWORD',
437 smbtorture3,
439 "-l $LOCAL_PATH"])
442 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES needs to run against a special fileserver share delete_yes_unwrite
444 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES",
445 "fileserver",
446 [os.path.join(samba3srcdir,
447 "script/tests/test_smbtorture_s3.sh"),
448 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES',
449 '//$SERVER_IP/delete_yes_unwrite',
450 '$USERNAME',
451 '$PASSWORD',
452 smbtorture3,
454 "-l $LOCAL_PATH"])
457 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO needs to run against a special fileserver share delete_no_unwrite
459 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO",
460 "fileserver",
461 [os.path.join(samba3srcdir,
462 "script/tests/test_smbtorture_s3.sh"),
463 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO',
464 '//$SERVER_IP/delete_no_unwrite',
465 '$USERNAME',
466 '$PASSWORD',
467 smbtorture3,
469 "-l $LOCAL_PATH"])
471 shares = [
472 "vfs_aio_pthread_async_dosmode_default1",
473 "vfs_aio_pthread_async_dosmode_default2"
475 for s in shares:
476 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"])
477 t = "smb2.compound_find"
478 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
480 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
481 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
482 "POSIX-BLOCKING-LOCK",
483 "POSIX-ACL-OPLOCK",
484 "POSIX-ACL-SHAREROOT",
485 "POSIX-LS-WILDCARD",
486 "POSIX-LS-SINGLE",
487 "POSIX-READLINK",
488 "POSIX-STAT",
489 "POSIX-SYMLINK-PARENT",
490 "POSIX-SYMLINK-CHMOD",
491 "POSIX-DIR-DEFAULT-ACL",
492 "POSIX-SYMLINK-RENAME",
493 "POSIX-SYMLINK-GETPATHINFO",
494 "POSIX-SYMLINK-SETPATHINFO",
497 for t in posix_tests:
498 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"])
499 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"])
501 local_tests = [
502 "LOCAL-SUBSTITUTE",
503 "LOCAL-GENCACHE",
504 "LOCAL-BASE64",
505 "LOCAL-RBTREE",
506 "LOCAL-MEMCACHE",
507 "LOCAL-STREAM-NAME",
508 "LOCAL-STR-MATCH-MSWILD",
509 "LOCAL-STR-MATCH-REGEX-SUB1",
510 "LOCAL-string_to_sid",
511 "LOCAL-sid_to_string",
512 "LOCAL-binary_to_sid",
513 "LOCAL-DBTRANS",
514 "LOCAL-TEVENT-POLL",
515 "LOCAL-CONVERT-STRING",
516 "LOCAL-CONV-AUTH-INFO",
517 "LOCAL-IDMAP-TDB-COMMON",
518 "LOCAL-MESSAGING-READ1",
519 "LOCAL-MESSAGING-READ2",
520 "LOCAL-MESSAGING-READ3",
521 "LOCAL-MESSAGING-READ4",
522 "LOCAL-MESSAGING-FDPASS1",
523 "LOCAL-MESSAGING-FDPASS2",
524 "LOCAL-MESSAGING-FDPASS2a",
525 "LOCAL-MESSAGING-FDPASS2b",
526 "LOCAL-MESSAGING-SEND-ALL",
527 "LOCAL-PTHREADPOOL-TEVENT",
528 "LOCAL-CANONICALIZE-PATH",
529 "LOCAL-DBWRAP-WATCH1",
530 "LOCAL-DBWRAP-WATCH2",
531 "LOCAL-DBWRAP-WATCH3",
532 "LOCAL-DBWRAP-WATCH4",
533 "LOCAL-DBWRAP-DO-LOCKED1",
534 "LOCAL-G-LOCK1",
535 "LOCAL-G-LOCK2",
536 "LOCAL-G-LOCK3",
537 "LOCAL-G-LOCK4",
538 "LOCAL-G-LOCK4A",
539 "LOCAL-G-LOCK5",
540 "LOCAL-G-LOCK6",
541 "LOCAL-G-LOCK7",
542 "LOCAL-G-LOCK8",
543 "LOCAL-NAMEMAP-CACHE1",
544 "LOCAL-IDMAP-CACHE1",
545 "LOCAL-TDB-VALIDATE",
546 "LOCAL-hex_encode_buf",
547 "LOCAL-remove_duplicate_addrs2"]
549 for t in local_tests:
550 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
552 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
553 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
554 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
555 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
556 plantestsuite(
557 "samba.vfstest.full_audit_segfault",
558 "nt4_dc:local",
559 [os.path.join(samba3srcdir,
560 "script/tests/full_audit_segfault/run.sh"),
561 binpath("vfstest"),
562 "$PREFIX",
563 configuration])
565 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"])
566 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"])
567 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"])
568 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"])
569 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"])
570 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"])
572 plantestsuite("samba3.blackbox.smbclient_usernamemap", "ad_member_idmap_nss:local", [os.path.join(samba3srcdir, "script/tests/test_usernamemap.sh"), '$SERVER', smbclient3])
574 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])
575 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"]:
576 if "NT1" in options or "LANMAN2" in options:
577 env = "nt4_dc_smb1_done"
578 else:
579 env = "nt4_dc"
580 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])
582 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "s4member", "fl2000dc"]:
583 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
584 smb1_env = env
585 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
586 smb1_env = smb1_env + "_smb1_done"
587 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])
588 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])
591 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
593 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
594 # don't attempt to run SMB1 tests in nt4_member or ad_member
595 # as these test envs don't support SMB1, use nt4_dc instead
596 environs = ["nt4_member", "ad_member"]
597 if "NT1" in options or "LANMAN2" in options:
598 environs = ["nt4_dc_smb1_done"]
599 for env in environs:
600 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])
601 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])
603 for env in ["nt4_member", "ad_member"]:
604 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])
605 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])
606 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])
607 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])
608 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])
609 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])
611 env = "ad_dc_smb1"
612 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
614 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'])
616 for env in ["ad_member:local", "nt4_dc:local"]:
617 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
619 env = "nt4_dc"
620 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])
622 for env in ["nt4_member", "ad_member"]:
623 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
625 plantestsuite("samba3.blackbox.net_cred_change_at", "ad_member_s3_join:local", [os.path.join(samba3srcdir, "script/tests/test_net_cred_change_at.sh"), configuration, '$DC_SERVER'])
627 env = "ad_member"
628 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
629 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
630 plantestsuite("samba3.wbinfo_name_lookup", env,
631 [os.path.join(srcdir(),
632 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
633 '$DOMAIN', '$REALM', '$DC_USERNAME'])
635 env = "ad_member"
636 plantestsuite("samba3.wbinfo_user_info_cached", env,
637 [os.path.join(srcdir(),
638 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
639 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
640 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
641 [os.path.join(srcdir(),
642 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
643 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
645 env = "ad_member:local"
646 plantestsuite("samba3.wbinfo_user_info", env,
647 [os.path.join(srcdir(),
648 "nsswitch/tests/test_wbinfo_user_info.sh"),
649 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
651 plantestsuite("samba3.winbind_call_depth_trace", env,
652 [os.path.join(srcdir(),
653 "source3/script/tests/test_winbind_call_depth_trace.sh"),
654 smbcontrol, configuration, '$PREFIX', env])
656 env = "fl2008r2dc:local"
657 plantestsuite("samba3.wbinfo_user_info", env,
658 [os.path.join(srcdir(),
659 "nsswitch/tests/test_wbinfo_user_info.sh"),
660 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
662 env = "nt4_member:local"
663 plantestsuite("samba3.wbinfo_sids_to_xids", env,
664 [os.path.join(srcdir(),
665 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
666 plantestsuite(
667 "samba.wbinfo_lookuprids_cache",
668 env,
669 [os.path.join(samba3srcdir,
670 "script/tests/test_wbinfo_lookuprids_cache.sh")])
672 env = "ad_member"
673 t = "WBCLIENT-MULTI-PING"
674 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
675 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
677 for env in ["maptoguest", "simpleserver"]:
678 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"])
680 env = "maptoguest"
681 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"])
682 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])
683 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])
685 # plain
686 env = "nt4_dc_smb1_done"
687 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"])
688 env = "nt4_dc"
689 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"])
691 for env in ["nt4_member", "ad_member"]:
692 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"])
693 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"])
695 env = "nt4_dc_smb1_done"
696 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"])
697 env = "nt4_dc"
698 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"])
700 for env in ["nt4_member", "ad_member"]:
701 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"])
702 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"])
704 env = "nt4_dc_smb1_done"
705 # encrypted
706 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"])
707 env = "nt4_dc"
708 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"])
710 for env in ["fileserver"]:
711 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"])
712 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"'])
713 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"])
714 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
715 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"])
716 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"])
717 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
718 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
719 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])
720 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
721 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
722 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'])
723 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'])
724 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])
725 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
726 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
727 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'])
728 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
729 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])
730 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'])
731 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'])
732 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'])
733 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'])
734 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'])
735 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'])
736 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'])
737 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
738 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'])
739 plantestsuite("samba3.blackbox.delete_stream", env, [os.path.join(samba3srcdir, "script/tests/test_delete_stream.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'acl_streams_xattr'])
740 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
741 plantestsuite("samba3.blackbox.force_group_change", env,
742 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
743 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
744 plantestsuite("samba3.blackbox.zero-data", env,
745 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
746 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
747 plantestsuite("samba3.blackbox.timestamps", env,
748 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
749 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
750 plantestsuite("samba3.blackbox.volumeserialnumber", env,
751 [os.path.join(samba3srcdir, "script/tests/test_volume_serial_number.sh"),
752 '$SERVER_IP', '$USERNAME', '$PASSWORD', 'volumeserialnumber', smbclient3])
753 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
754 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
755 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
756 plantestsuite("samba3.blackbox.sacl_get_set", env,
757 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
758 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
759 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
760 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
761 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
762 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
763 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
764 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
765 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
766 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
767 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
768 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
769 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
770 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
771 plantestsuite("samba3.blackbox.test_veto_rmdir", env,
772 [os.path.join(samba3srcdir, "script/tests/test_veto_rmdir.sh"),
773 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
774 plantestsuite("samba3.blackbox.test_dangle_rmdir", env,
775 [os.path.join(samba3srcdir, "script/tests/test_delete_veto_files_only_rmdir.sh"),
776 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
777 plantestsuite("samba3.blackbox.test_list_servers.NT1",
778 env + "_smb1_done",
779 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
780 '$SERVER',
781 '$SERVER_IP',
782 '$USERNAME',
783 '$PASSWORD',
784 smbclient3,
785 "-mSMB3"])
786 plantestsuite("samba3.blackbox.test_list_servers.SMB2",
787 env,
788 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
789 '$SERVER',
790 '$SERVER_IP',
791 '$USERNAME',
792 '$PASSWORD',
793 smbclient3,
794 "-mSMB3"])
796 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB2", env,
797 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb2.sh"),
798 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
799 '$PREFIX', smbclient3])
801 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1", env + "_smb1_done",
802 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1.sh"),
803 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
804 '$PREFIX', smbclient3])
806 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1.posix", env + "_smb1_done",
807 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1_posix.sh"),
808 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
809 '$PREFIX', smbclient3])
811 plantestsuite("samba3.blackbox.test_symlink_rename.SMB1.posix", env + "_smb1_done",
812 [os.path.join(samba3srcdir, "script/tests/test_symlink_rename_smb1_posix.sh"),
813 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
814 '$PREFIX', smbclient3])
816 plantestsuite("samba3.blackbox.test_veto_files", env,
817 [os.path.join(samba3srcdir, "script/tests/test_veto_files.sh"),
818 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
820 plantestsuite("samba3.blackbox.stream_dir_rename", env,
821 [os.path.join(samba3srcdir, "script/tests/test_stream_dir_rename.sh"),
822 '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
824 plantestsuite("samba3.blackbox.test_symlink_dosmode", env,
825 [os.path.join(samba3srcdir, "script/tests/test_symlink_dosmode.sh"),
826 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
827 '$PREFIX', smbclient3])
829 # tar command tests
832 # Test smbclient/tarmode
833 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
834 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
835 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
836 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mNT1"])
837 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
838 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
839 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
840 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mSMB3"])
842 # Test suite for new smbclient/tar with libarchive (GSoC 13)
843 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
844 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
845 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
846 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
847 '-d', 'smbclient_tar.NT1', '-b', smbclient3,
848 '--subunit', '--', configuration, '-mNT1'])
849 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
850 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
851 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
852 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
853 '-d', 'smbclient_tar.SMB3', '-b', smbclient3,
854 '--subunit', '--', configuration, '-mSMB3'])
855 plantestsuite("samba3.blackbox.fifo", env,
856 [os.path.join(samba3srcdir, "script/tests/test_fifo.sh"),
857 '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
858 plantestsuite("samba3.blackbox.test_full_audit_success_badname", env,
859 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
860 '$SERVER', 'full_audit_success_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
861 plantestsuite("samba3.blackbox.test_full_audit_fail_badname", env,
862 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
863 '$SERVER', 'full_audit_fail_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
864 plantestsuite("samba3.blackbox.fruit.resource_stream", env,
865 [os.path.join(samba3srcdir, "script/tests/test_fruit_resource_stream.sh"),
866 '$SERVER', 'fruit_resource_stream', '$USERNAME', '$PASSWORD',
867 '$LOCAL_PATH/fruit_resource_stream', smbclient3])
869 plantestsuite("samba3.blackbox.smbclient_old_dir", "fileserver_smb1",
870 [os.path.join(samba3srcdir,
871 "script/tests/test_old_dirlisting.sh"),
872 timelimit, smbclient3])
874 for env in ["fileserver:local"]:
875 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
877 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"])
878 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
880 env = 'ad_member'
881 plantestsuite("samba3.blackbox.smbget",
882 env,
884 os.path.join(samba3srcdir, "script/tests/test_smbget.sh"),
885 '$SERVER',
886 '$SERVER_IP',
887 '$DOMAIN',
888 '$REALM',
889 'smbget_user',
890 '$PASSWORD',
891 '$LOCAL_PATH/smbget',
892 smbget
895 plantestsuite("samba3.blackbox.server_addresses",
896 "simpleserver",
897 [os.path.join(samba3srcdir,
898 "script/tests/test_server_addresses.sh")])
900 # TODO encrypted against member, with member creds, and with DC creds
901 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
902 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
903 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
904 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
905 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
906 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
907 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
908 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
909 scriptdir, "$SMB_CONF_PATH", net, configuration])
910 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
911 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
912 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
913 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
914 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
915 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
917 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
918 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
919 scriptdir, "$SMB_CONF_PATH", net, configuration])
920 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
921 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
922 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
924 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
925 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
926 scriptdir, "$SMB_CONF_PATH", net, configuration])
927 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
928 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
929 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
932 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
933 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
934 "$LOCAL_PATH"])
936 plantestsuite(
937 "samba3.pthreadpool", "none",
938 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
940 if with_pthreadpool and have_ldwrap:
941 plantestsuite("samba3.pthreadpool_cmocka", "none",
942 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
944 if with_pthreadpool:
945 plantestsuite("samba3.libwbclient_threads",
946 "nt4_member",
947 [os.path.join(samba3srcdir,
948 "script/tests/test_libwbclient_threads.sh"),
949 "$DOMAIN", "$DC_USERNAME"])
951 plantestsuite("samba3.test_nfs4_acl", "none",
952 [os.path.join(bindir(), "test_nfs4_acls"),
953 "$SMB_CONF_PATH"])
955 plantestsuite("samba3.test_vfs_full_audit", "none",
956 [os.path.join(bindir(), "test_vfs_full_audit"),
957 "$SMB_CONF_PATH"])
959 plantestsuite("samba3.test_vfs_posixacl", "none",
960 [os.path.join(bindir(), "test_vfs_posixacl"),
961 "$SMB_CONF_PATH"])
963 if is_module_enabled("vfs_gpfs"):
964 plantestsuite("samba3.test_vfs_gpfs", "none",
965 [os.path.join(bindir(), "test_vfs_gpfs")])
967 plantestsuite(
968 "samba3.resolvconf", "none",
969 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
971 plantestsuite("samba3.tevent_glib_glue", "none",
972 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
974 plantestsuite("samba3.async_req", "nt4_dc",
975 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
977 # smbtorture4 tests
979 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
980 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
981 "base.disconnect", "base.fdpass", "base.lock",
982 "base.mangle", "base.negnowait", "base.ntdeny1",
983 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
984 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
985 "base.xcopy", "base.samba3error"]
987 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
988 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
989 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
990 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
991 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
992 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
993 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
994 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
995 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
997 smb2 = smbtorture4_testsuites("smb2.")
999 rpc = ["rpc.authcontext",
1000 "rpc.samba3.bind",
1001 "rpc.samba3.srvsvc",
1002 "rpc.samba3.sharesec",
1003 "rpc.samba3.spoolss",
1004 "rpc.samba3.wkssvc",
1005 "rpc.samba3.winreg",
1006 "rpc.samba3.getaliasmembership-0",
1007 "rpc.samba3.netlogon",
1008 "rpc.samba3.sessionkey",
1009 "rpc.samba3.getusername",
1010 "rpc.samba3.smb1-pipe-name",
1011 "rpc.samba3.smb2-pipe-name",
1012 "rpc.samba3.smb-reauth1",
1013 "rpc.samba3.smb-reauth2",
1014 "rpc.samba3.lsa_over_netlogon",
1015 "rpc.samba3.pipes_supported_interfaces",
1016 "rpc.svcctl",
1017 "rpc.ntsvcs",
1018 "rpc.winreg",
1019 "rpc.eventlog",
1020 "rpc.spoolss.printserver",
1021 "rpc.spoolss.win",
1022 "rpc.spoolss.notify",
1023 "rpc.spoolss.printer",
1024 "rpc.spoolss.driver",
1025 "rpc.lsa",
1026 "rpc.lsa-getuser",
1027 "rpc.lsa.lookupsids",
1028 "rpc.lsa.lookupnames",
1029 "rpc.lsa.privileges",
1030 "rpc.lsa.secrets",
1031 "rpc.mdssvc",
1032 "rpc.samr",
1033 "rpc.samr.users",
1034 "rpc.samr.users.privileges",
1035 "rpc.samr.passwords.default",
1036 "rpc.samr.passwords.pwdlastset",
1037 "rpc.samr.passwords.lockout",
1038 "rpc.samr.passwords.badpwdcount",
1039 "rpc.samr.large-dc",
1040 "rpc.samr.machine.auth",
1041 "rpc.samr.priv",
1042 "rpc.samr.passwords.validate",
1043 "rpc.samr.handletype",
1044 "rpc.netlogon.admin",
1045 "rpc.netlogon.zerologon",
1046 "rpc.schannel",
1047 "rpc.schannel2",
1048 "rpc.bench-schannel1",
1049 "rpc.schannel_anon_setpw",
1050 "rpc.join",
1051 "rpc.bind",
1052 "rpc.initshutdown",
1053 "rpc.wkssvc",
1054 "rpc.srvsvc"]
1056 local = ["local.nss"]
1058 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
1060 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
1062 unix = ["unix.info2", "unix.whoami"]
1064 nbt = ["nbt.dgram"]
1066 vfs = [
1067 "vfs.fruit",
1068 "vfs.acl_xattr",
1069 "vfs.fruit_netatalk",
1070 "vfs.fruit_file_id",
1071 "vfs.fruit_timemachine",
1072 "vfs.fruit_conversion",
1073 "vfs.unfruit",
1076 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
1078 for t in tests:
1079 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
1080 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
1081 elif t == "base.createx_access":
1082 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
1083 elif t == "rap.sam":
1084 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
1085 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
1086 elif t == "winbind.pac":
1087 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1088 elif t == "unix.whoami":
1089 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
1090 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
1091 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1092 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1093 for env in ["nt4_dc_smb1", "nt4_member"]:
1094 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1095 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
1096 for env in ["ad_dc_smb1", "ad_member"]:
1097 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
1098 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
1099 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
1100 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
1101 elif t == "raw.samba3posixtimedlock":
1102 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
1103 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1104 description="brl_delay_inject1")
1105 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1106 description="brl_delay_inject2")
1107 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
1108 elif t == "smb2.samba3misc":
1109 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1110 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1111 description="brl_delay_inject1")
1112 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1113 description="brl_delay_inject2")
1114 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
1115 elif t == "raw.chkpath":
1116 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1117 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1118 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
1119 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1120 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1121 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1122 elif t == "raw.session":
1123 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1124 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1125 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
1126 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
1127 elif t == "smb2.session":
1128 alice_creds = "--option='torture:user2name=alice' --option='torture:user2password=Secret007'"
1129 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1130 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1131 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD ' + alice_creds, 'ntlm')
1132 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD ' + alice_creds, 'krb5')
1133 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
1134 # ad_member_idmap_rid sets "create krb5.conf = no"
1135 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
1136 elif t == "smb2.session-require-signing":
1137 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER_IP/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD')
1138 elif t == "rpc.lsa":
1139 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
1140 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1141 elif t.startswith("rpc.lsa."):
1142 # This avoids the rpc.lsa.* tests running under ncacn_ip_tcp:
1143 # (there is rpc.lsa.secrets fails due to OpenPolicy2 for example)
1144 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1145 elif t == "rpc.mdssvc":
1146 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1147 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
1148 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1149 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1150 elif t == "base.rw1":
1151 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1152 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
1153 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
1154 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1155 elif t == "idmap.rfc2307":
1156 plantestsuite(t, "ad_member_rfc2307",
1157 [os.path.join(samba3srcdir,
1158 "../nsswitch/tests/test_idmap_rfc2307.sh"),
1159 '$DOMAIN',
1160 'Administrator', '2000000',
1161 'Guest', '2000001',
1162 '"Domain Users"', '2000002',
1163 'DnsAdmins', '2000003',
1164 '2000005', '35',
1165 'ou=idmap,dc=samba,dc=example,dc=com',
1166 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
1167 elif t == "idmap.alloc":
1168 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
1169 elif t == "idmap.rid":
1170 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
1171 plantestsuite(t,
1172 "admem_idmap_autorid",
1173 [os.path.join(samba3srcdir,
1174 "../nsswitch/tests/test_idmap_rid.sh"),
1175 '$DOMAIN',
1176 '2000000'])
1177 elif t == "idmap.ad":
1178 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'])
1179 elif t == "raw.acls":
1180 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1181 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
1182 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
1183 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
1184 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
1185 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
1186 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
1187 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
1188 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1189 elif t == "smb2.ioctl":
1190 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
1191 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1192 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1193 elif t == "smb2.ioctl-on-stream":
1194 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1195 elif t == "smb2.lock":
1196 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1197 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1198 elif t == "raw.lock" or t == "base.lock":
1199 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1200 elif t == "raw.read":
1201 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1202 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1203 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1204 elif t == "raw.search":
1205 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1206 # test the dirsort module.
1207 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
1208 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1209 elif t == "vfs.fruit":
1210 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')
1211 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')
1212 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')
1213 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')
1214 elif t == "vfs.fruit_netatalk":
1215 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1216 elif t == "vfs.fruit_timemachine":
1217 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1218 elif t == "vfs.fruit_file_id":
1219 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
1220 elif t == "vfs.fruit_conversion":
1221 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')
1222 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')
1223 elif t == "vfs.unfruit":
1224 creds = '-U$USERNAME%$PASSWORD'
1225 share2 = '--option=torture:share2=tmp'
1226 netopt = '--option=torture:net=%s' % net
1227 shareopt = '--option=torture:sharename'
1229 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
1230 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')
1231 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')
1232 elif t == "rpc.schannel_anon_setpw":
1233 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
1234 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
1235 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
1236 elif t == "local.nss":
1237 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
1238 plansmbtorture4testsuite(t,
1239 env,
1240 '//$SERVER/tmp -U$USERNAME%$PASSWORD',
1241 environ = {
1242 'ENVNAME': env,
1244 elif t == "smb2.change_notify_disabled":
1245 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1246 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
1247 tmp_env = "nt4_dc"
1248 if t == "raw.notify" or t == "raw.oplock":
1249 tmp_env = "nt4_dc_smb1"
1250 # These tests are a little slower so don't duplicate them with ad_dc
1251 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --client-protection=sign')
1252 elif t == "smb2.dosmode":
1253 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
1254 elif t == "smb2.kernel-oplocks":
1255 if have_linux_kernel_oplocks:
1256 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1257 elif t == "smb2.notify-inotify":
1258 if have_inotify:
1259 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1260 elif t == "vfs.acl_xattr":
1261 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1262 elif t == "smb2.compound_find":
1263 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
1264 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1265 elif t == "smb2.compound":
1266 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1267 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1268 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1269 elif t == "smb2.compound_async":
1270 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1271 elif t == "smb2.ea":
1272 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/ea_acl_xattr --option=torture:acl_xattr_name=hackme -U$USERNAME%$PASSWORD')
1273 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
1274 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1275 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1276 elif t == "smb2.streams":
1277 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1278 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1279 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
1280 elif t == "smb2.aio_delay":
1281 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1282 elif t == "smb2.delete-on-close-perms":
1283 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1284 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
1285 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1286 elif t == "smb2.fileid":
1287 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
1288 elif t == "smb2.acls_non_canonical":
1289 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/acls_non_canonical -U$USERNAME%$PASSWORD')
1290 elif t == "smb2.async_dosmode":
1291 plansmbtorture4testsuite("smb2.async_dosmode",
1292 "simpleserver",
1293 "//$SERVER_IP/async_dosmode_shadow_copy2 -U$USERNAME%$PASSWORD")
1294 elif t == "smb2.rename":
1295 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1296 elif t == "smb2.twrp":
1297 # This is being driven by samba3.blackbox.shadow_copy_torture
1298 pass
1299 elif t == "smb2.create_no_streams":
1300 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD')
1301 elif t == "rpc.wkssvc":
1302 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1303 elif t == "rpc.srvsvc":
1304 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1305 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1306 elif t == "rpc.samba3.lsa_over_netlogon":
1307 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1308 elif t == "rpc.samba3.pipes_supported_interfaces":
1309 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1310 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1311 elif t == "rpc.spoolss.notify":
1312 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
1313 elif (t in base and t != "base.charset") \
1314 or (t in rap and t != "rap.printing") \
1315 or (t in unix) \
1316 or (t in ["rpc.authcontext",
1317 "rpc.join",
1318 "rpc.samba3.bind",
1319 "rpc.samba3.getusername",
1320 "rpc.samba3.sharesec",
1321 "rpc.samba3.smb1-pipe-name",
1322 "rpc.samba3.smb-reauth1",
1323 "rpc.samba3.smb-reauth2",
1324 "rpc.samba3.spoolss",
1325 "rpc.samba3.wkssvc",]) \
1326 or (t in ["raw.close",
1327 "raw.composite",
1328 "raw.eas",
1329 "raw.mkdir",
1330 "raw.open",
1331 "raw.rename",
1332 "raw.samba3badnameblob",
1333 "raw.samba3badpath",
1334 "raw.samba3caseinsensitive",
1335 "raw.samba3oplocklogoff",
1336 "raw.samba3posixtimedlock",
1337 "raw.samba3rootdirfid",
1338 "raw.samba3rootdirfid2",
1339 "raw.seek",
1340 "raw.sfileinfo.bug",
1341 "raw.sfileinfo.end-of-file",
1342 "raw.sfileinfo.rename",
1343 "raw.streams",
1344 "raw.unlink",
1345 "raw.write",]) :
1346 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1347 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1348 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
1349 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1350 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1351 elif t == "rpc.samr.passwords.validate":
1352 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1353 elif t == "rpc.samr.users.privileges":
1354 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
1355 elif t == "rpc.samr" or t.startswith("rpc.samr."):
1356 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1357 else:
1358 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1359 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1361 plantestsuite(
1362 "idmap_ad.ticket_expiry",
1363 "ad_member_idmap_ad:local",
1364 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1365 '$DOMAIN'])
1367 plansmbtorture4testsuite(
1368 "notifyd",
1369 "fileserver:local",
1370 '//foo/bar -U%')
1372 plansmbtorture4testsuite(
1373 "smb2.streams",
1374 "simpleserver",
1375 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1377 test = 'rpc.lsa.lookupsids'
1378 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
1379 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
1380 endianness_options = ["", ",bigendian"]
1381 for s in signseal_options:
1382 for e in endianness_options:
1383 for a in auth_options:
1384 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1385 options = binding_string + " -U$USERNAME%$PASSWORD"
1386 if "smb1" in a:
1387 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1388 else:
1389 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1390 plantestsuite(
1391 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1392 "nt4_dc:local",
1393 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1394 "none",
1395 options + " -c getusername",
1396 configuration])
1397 plantestsuite(
1398 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1399 "nt4_dc:local",
1400 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1401 "none",
1402 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1403 configuration])
1404 if s != ",connect":
1405 plantestsuite(
1406 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1407 "nt4_dc:local",
1408 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1409 "none",
1410 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
1411 configuration])
1413 # We should try more combinations in future, but this is all
1414 # the pre-calculated credentials cache supports at the moment
1416 # As the ktest env requires SMB3_00 we need to use "smb2" until
1417 # dcerpc client code in smbtorture support autonegotiation
1418 # of any smb dialect.
1419 e = ""
1420 a = "smb2"
1421 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1422 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
1423 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
1425 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
1426 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
1428 auth_options2 = ["krb5", "spnego,krb5"]
1429 for a in auth_options2:
1430 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1432 plantestsuite(
1433 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1434 "ktest:local",
1435 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1436 "$PREFIX/ktest/krb5_ccache-3",
1437 binding_string,
1438 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
1439 configuration])
1441 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
1442 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
1443 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
1444 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
1445 configuration, os.path.join(bindir(), "sharesec"),
1446 os.path.join(bindir(), "net"), "tmp"])
1448 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
1449 [os.path.join(samba3srcdir,
1450 "script/tests/test_close_denied_share.sh"),
1451 configuration,
1452 os.path.join(bindir(), "sharesec"),
1453 os.path.join(bindir(), "smbclient"),
1454 os.path.join(bindir(), "smbcontrol"),
1455 '$SERVER_IP',
1456 "tmp"])
1458 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1459 [os.path.join(samba3srcdir,
1460 "script/tests/test_force_close_share.sh"),
1461 configuration,
1462 os.path.join(bindir(), "smbclient"),
1463 os.path.join(bindir(), "smbcontrol"),
1464 '$SERVER_IP',
1465 "aio_delay_inject",
1466 '$PREFIX/force-close-share'])
1468 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1469 [os.path.join(samba3srcdir,
1470 "script/tests/test_open_eintr.sh"),
1471 configuration,
1472 os.path.join(bindir(), "smbclient"),
1473 os.path.join(bindir(), "smbcontrol"),
1474 '$SERVER_IP',
1475 "error_inject"])
1477 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1478 [os.path.join(samba3srcdir,
1479 "script/tests/test_chdir_cache.sh"),
1480 configuration,
1481 os.path.join(bindir(), "smbclient"),
1482 os.path.join(bindir(), "smbcontrol"),
1483 '$SERVER_IP',
1484 "error_inject",
1485 '$PREFIX',
1486 'simpleserver'])
1488 plantestsuite("samba3.blackbox.rofs_error", "simpleserver",
1489 [os.path.join(samba3srcdir, "script/tests/test_rofs.sh"),
1490 configuration,
1491 os.path.join(bindir(), "smbclient"),
1492 '$SERVER_IP',
1493 "error_inject"])
1495 plantestsuite("samba3.blackbox.zero_readsize",
1496 "simpleserver:local",
1497 [os.path.join(samba3srcdir,
1498 "script/tests/test_zero_readsize.sh"),
1499 configuration,
1500 os.path.join(bindir(), "smbclient"),
1501 os.path.join(bindir(), "smbcontrol"),
1502 '$SERVER_IP',
1503 "tmp",
1504 "$PREFIX",
1505 "-mSMB2"])
1507 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1508 [os.path.join(samba3srcdir,
1509 "script/tests/test_netfileenum.sh"),
1510 os.path.join(bindir(), "smbclient"),
1511 os.path.join(bindir(), "rpcclient"),
1512 os.path.join(bindir(), "net"),
1513 '$SERVER_IP',
1514 'tmp'])
1516 plantestsuite("samba3.blackbox.netshareenum_username", "fileserver",
1517 [os.path.join(samba3srcdir,
1518 "script/tests/test_user_in_sharelist.sh"),
1519 os.path.join(bindir(), "rpcclient"),
1520 '$SERVER_IP'])
1522 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1523 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1524 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1525 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1527 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1528 [os.path.join(samba3srcdir,
1529 "script/tests/test_aio_outstanding.sh"),
1530 configuration,
1531 os.path.join(bindir(), "smbclient"),
1532 '$SERVER_IP',
1533 "aio_delay_inject"])
1535 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1536 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
1537 '$SERVER_IP'])
1539 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1540 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1542 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1543 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1544 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1546 plantestsuite("samba3.blackbox.winbind_ignore_domain", "ad_member_idmap_ad:local",
1547 [os.path.join(samba3srcdir, "script/tests/test_winbind_ignore_domains.sh")])
1549 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1550 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1552 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1553 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1554 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1556 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1557 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1558 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1559 configuration])
1561 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1562 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1563 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1564 configuration])
1565 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1566 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1567 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1568 configuration])
1569 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1570 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1571 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1572 "$SMB_CONF_PATH"])
1573 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1574 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1575 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1576 configuration])
1578 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1579 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1580 "$USERNAME", "$PASSWORD", "$SERVER",
1581 os.path.join(bindir(), "rpcclient"), "tmp"])
1583 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1584 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1585 "$USERNAME", "$PASSWORD", "$SERVER",
1586 os.path.join(bindir(), "rpcclient")])
1588 plantestsuite("samba3.blackbox.rpcclient_dfs", "fileserver:local",
1589 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_dfs.sh"),
1590 "$USERNAME", "$PASSWORD", "$SERVER",
1591 os.path.join(bindir(), "rpcclient")])
1593 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1594 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1595 "$USERNAME", "$PASSWORD", "$SERVER",
1596 os.path.join(bindir(), "rpcclient")])
1598 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1599 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1600 "$USERNAME", "$PASSWORD", "$SERVER",
1601 smbclient3])
1603 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1604 [os.path.join(samba3srcdir,
1605 "script/tests/test_smbXsrv_client_dead_rec.sh"),
1606 configuration,
1607 '$SERVER_IP',
1608 "tmp"])
1610 if have_cluster_support:
1611 plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
1612 [os.path.join(samba3srcdir,
1613 "script/tests/test_smbXsrv_client_cross_node.sh"),
1614 configuration,
1615 'ctdb0', 'ctdb1',
1616 "tmp"])
1617 plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
1618 [os.path.join(samba3srcdir,
1619 "script/tests/test_registry_share.sh"),
1620 "$SERVER", '$DC_USERNAME', "$DC_PASSWORD"])
1622 env = 'fileserver'
1623 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
1624 [os.path.join(samba3srcdir,
1625 "script/tests/test_virus_scanner.sh"),
1626 '$SERVER_IP',
1627 "virusfilter",
1628 '$LOCAL_PATH',
1629 smbclient3])
1631 for env in ['fileserver', 'simpleserver']:
1632 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1633 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1634 "$USERNAME", "$PASSWORD", "$SERVER",
1635 smbclient3, env])
1637 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1638 [os.path.join(samba3srcdir,
1639 "script/tests/test_smbclient_kerberos.sh"),
1640 "alice",
1641 "$REALM",
1642 "Secret007",
1643 "$SERVER",
1644 smbclient3,
1645 env])
1646 for env in ['ad_dc_fips', 'ad_member_fips']:
1647 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1648 [os.path.join(samba3srcdir,
1649 "script/tests/test_smbclient_kerberos.sh"),
1650 "alice",
1651 "$REALM",
1652 "Secret007",
1653 "$SERVER",
1654 smbclient3,
1655 env],
1656 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1657 'OPENSSL_FORCE_FIPS_MODE': '1'})
1659 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1660 [os.path.join(samba3srcdir,
1661 "script/tests/test_rpcclient_netsessenum.sh"),
1662 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1663 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1665 # The ktest environment uses:
1666 # server min protocol = SMB3_00
1667 # client max protocol = SMB3
1668 options_list = ["", "--client-protection=encrypt"]
1669 for options in options_list:
1670 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1671 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1672 "$PREFIX/ktest/krb5_ccache-2",
1673 smbclient3, "$SERVER", options, configuration])
1675 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1676 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1677 "$PREFIX/ktest/krb5_ccache-3",
1678 smbclient3, "$SERVER", options, configuration])
1680 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1681 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1682 "$PREFIX/ktest/krb5_ccache-3",
1683 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1685 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1686 for options in options_list:
1687 env = "nt4_dc"
1688 if "NT1" in options:
1689 env = "nt4_dc_smb1_done"
1690 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1691 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1692 "none",
1693 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1695 for alias in ["foo", "bar"]:
1696 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1697 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1698 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1699 configuration])
1701 for e in endianness_options:
1702 for a in auth_options:
1703 for s in signseal_options:
1704 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1705 options = binding_string + " -U$USERNAME%$PASSWORD"
1706 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1708 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1709 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1711 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1712 plantestsuite("samba3.blackbox.guest", env,
1713 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1714 '$SERVER', smbclient3, smbcontrol, net, configuration])
1716 plantestsuite("samba3.blackbox.smbclient-mget",
1717 "fileserver",
1718 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1719 smbclient3,
1720 "$SERVER",
1721 "tmp",
1722 "$USERNAME",
1723 "$PASSWORD",
1724 "valid_users"])
1726 plantestsuite("samba3.blackbox.smbclient-bug15435",
1727 "fileserver",
1728 [os.path.join(samba3srcdir, "script/tests/test_bug15435_widelink_dfs.sh"),
1729 "$SERVER",
1730 "$SERVER_IP",
1731 "$USERNAME",
1732 "$PASSWORD",
1733 smbclient3,
1734 configuration])
1737 if have_cluster_support:
1738 t = "readdir-timestamp"
1739 plantestsuite(
1740 "samba3.smbtorture_s3.plain.%s" % t,
1741 "clusteredmember",
1742 [os.path.join(samba3srcdir,
1743 "script/tests/test_smbtorture_s3.sh"),
1745 '//foo/bar',
1746 '$DOMAIN\\\\$DC_USERNAME',
1747 '$DC_PASSWORD',
1748 smbtorture3,
1750 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1752 plantestsuite(
1753 "samba3.net_machine_account",
1754 "clusteredmember",
1755 [os.path.join(samba3srcdir,
1756 "script/tests/test_net_machine_account.sh"),
1757 "bin/net",
1758 "$SERVERCONFFILE",
1759 "$SERVER_IP"])
1761 plantestsuite(
1762 "samba3.net_lookup_ldap",
1763 "ad_dc:local",
1764 [os.path.join(samba3srcdir,
1765 "script/tests/test_net_lookup.sh"),
1766 '$DC_SERVER',
1767 '$DC_USERNAME',
1768 '$DC_PASSWORD',
1769 "bin/net",
1770 "bin/samba-tool",
1771 '$DNSNAME'])
1773 plantestsuite("samba3.blackbox.force-user-unlink",
1774 "maptoguest:local",
1775 [os.path.join(samba3srcdir,
1776 "script/tests/test_force_user_unlink.sh")])
1778 def planclusteredmembertestsuite(tname, prefix):
1779 '''Define a clustered test for the clusteredmember environment'''
1781 tshare = 'tmp'
1783 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1784 namearg = 'clustered.%s' % tname
1785 modnamearg = 'samba3.%s' % namearg
1786 extraargs = ''
1788 prefix = os.path.join(prefix, 'clusteredmember')
1789 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1791 unclistarg = '--unclist=%s' % unclist
1792 sharearg = '//$SERVER_IP/%s' % tshare
1794 return selftesthelpers.plansmbtorture4testsuite(
1795 tname,
1796 'clusteredmember',
1797 [extraargs, unclistarg, sharearg, autharg, tname],
1798 target='samba3',
1799 modname=modnamearg)
1802 if have_cluster_support:
1803 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1805 for test in CLUSTERED_TESTS:
1806 planclusteredmembertestsuite(test, "$PREFIX")
1808 CLUSTERED_LOCAL_TESTS = [
1809 "ctdbd-conn1",
1810 "local-dbwrap-ctdb1"
1813 for t in CLUSTERED_LOCAL_TESTS:
1814 plantestsuite(
1815 "samba3.%s" % t,
1816 "clusteredmember:local",
1817 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1819 '//foo/bar',
1820 '""',
1821 '""',
1822 smbtorture3,
1823 "-N 1000 -o 2000"])
1825 if have_smb3_unix_extensions:
1826 planpythontestsuite("fileserver", "samba.tests.smb3unix")
1827 planpythontestsuite("fileserver", "samba.tests.reparsepoints")
1828 planpythontestsuite("fileserver_smb1", "samba.tests.smb2symlink")
1829 planpythontestsuite("fileserver_smb1", "samba.tests.smb1posix")