smbtorture: add test for fruit:validate_afpinfo option
[Samba.git] / source3 / selftest / tests.py
blob8141b7e59ade84a538ebb0730cc0ce689c1f2e5a
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 bbdir = os.path.join(srcdir(), "testprogs/blackbox")
72 # check available features
73 config_hash = dict()
74 f = open(config_h, 'r')
75 try:
76 lines = f.readlines()
77 config_hash = dict((x[0], ' '.join(x[1:]))
78 for x in map(lambda line: line.strip().split(' ')[1:],
79 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
80 finally:
81 f.close()
83 linux_kernel_version = None
84 if platform.system() == 'Linux':
85 m = re.search(r'(\d+).(\d+).(\d+)', platform.release())
86 if m:
87 linux_kernel_version = [int(m.group(1)), int(m.group(2)), int(m.group(3))]
89 have_linux_kernel_oplocks = False
90 if "HAVE_KERNEL_OPLOCKS_LINUX" in config_hash:
91 if compare_versions(linux_kernel_version, [5,3,1]) >= 0:
92 have_linux_kernel_oplocks = True
94 have_inotify = ("HAVE_INOTIFY" in config_hash)
95 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
96 with_pthreadpool = ("WITH_PTHREADPOOL" 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"])
244 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-NEGOTIATE-TCON",
245 "fileserver_smb1",
246 [os.path.join(samba3srcdir,
247 "script/tests/test_smbtorture_s3.sh"),
248 'SMB1-NEGOTIATE-TCON',
249 '//$SERVER_IP/tmp',
250 '$USERNAME',
251 '$PASSWORD',
252 smbtorture3,
253 "-mNT1"])
256 # MSDFS attribute tests.
258 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
259 "fileserver",
260 [os.path.join(samba3srcdir,
261 "script/tests/test_smbtorture_s3.sh"),
262 'MSDFS-ATTRIBUTE',
263 '//$SERVER_IP/msdfs-share',
264 '$USERNAME',
265 '$PASSWORD',
266 smbtorture3,
267 "-mSMB2",
268 "-f msdfs-src1"])
270 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
271 "fileserver_smb1",
272 [os.path.join(samba3srcdir,
273 "script/tests/test_smbtorture_s3.sh"),
274 'MSDFS-ATTRIBUTE',
275 '//$SERVER_IP/msdfs-share',
276 '$USERNAME',
277 '$PASSWORD',
278 smbtorture3,
279 "-mNT1",
280 "-f msdfs-src1"])
283 # SMB2-DFS-PATHS needs to run against a special share msdfs-pathname-share
284 # This is an empty DFS share with no links, used merely to test
285 # incoming DFS pathnames and how they map to local paths.
287 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-PATHS",
288 "fileserver",
289 [os.path.join(samba3srcdir,
290 "script/tests/test_smbtorture_s3.sh"),
291 'SMB2-DFS-PATHS',
292 '//$SERVER_IP/msdfs-pathname-share',
293 '$USERNAME',
294 '$PASSWORD',
295 smbtorture3,
296 "-mSMB2"])
298 # BUG: https://bugzilla.samba.org/show_bug.cgi?id=15277
299 # MacOSX clients send a leading '\\' character for DFS paths.
301 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-FILENAME-LEADING-BACKSLASH",
302 "fileserver",
303 [os.path.join(samba3srcdir,
304 "script/tests/test_smbtorture_s3.sh"),
305 'SMB2-DFS-FILENAME-LEADING-BACKSLASH',
306 '//$SERVER_IP/msdfs-pathname-share',
307 '$USERNAME',
308 '$PASSWORD',
309 smbtorture3,
310 "-mSMB2"])
312 # BUG: https://bugzilla.samba.org/show_bug.cgi?id=15422
313 # Prevent bad pipenames.
315 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-INVALID-PIPENAME",
316 "fileserver",
317 [os.path.join(samba3srcdir,
318 "script/tests/test_smbtorture_s3.sh"),
319 'SMB2-INVALID-PIPENAME',
320 '//$SERVER_IP/tmp',
321 '$USERNAME',
322 '$PASSWORD',
323 smbtorture3,
324 "-mSMB2"])
327 # SMB2-NON-DFS-SHARE needs to run against a special share non-msdfs-pathname-share
328 # This is an empty non-DFS share with no links, used merely to test
329 # incoming DFS pathnames and how they map to local paths. We are testing
330 # what happens if we set the FLAGS2_DFS_PATHNAMES and send DFS paths
331 # on a non-DFS share.
333 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-NON-DFS-SHARE",
334 "fileserver",
335 [os.path.join(samba3srcdir,
336 "script/tests/test_smbtorture_s3.sh"),
337 'SMB2-NON-DFS-SHARE',
338 '//$SERVER_IP/non-msdfs-pathname-share',
339 '$USERNAME',
340 '$PASSWORD',
341 smbtorture3,
342 "-mSMB2"])
345 # SMB2-DFS-SHARE-NON-DFS-PATH needs to run against a special share msdfs-pathname-share
346 # This is an empty DFS share with no links, used merely to test
347 # incoming non-DFS pathnames and how they map to local paths.
349 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-SHARE-NON-DFS-PATH",
350 "fileserver",
351 [os.path.join(samba3srcdir,
352 "script/tests/test_smbtorture_s3.sh"),
353 'SMB2-DFS-SHARE-NON-DFS-PATH',
354 '//$SERVER_IP/msdfs-pathname-share',
355 '$USERNAME',
356 '$PASSWORD',
357 smbtorture3,
358 "-mSMB2"])
361 # SMB1-DFS-PATHS needs to run against a special share msdfs-pathname-share
362 # This is an empty DFS share with no links, used merely to test
363 # incoming DFS pathnames and how they map to local paths.
365 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-PATHS",
366 "fileserver_smb1",
367 [os.path.join(samba3srcdir,
368 "script/tests/test_smbtorture_s3.sh"),
369 'SMB1-DFS-PATHS',
370 '//$SERVER_IP/msdfs-pathname-share',
371 '$USERNAME',
372 '$PASSWORD',
373 smbtorture3,
374 "-mNT1"])
377 # SMB1-DFS-SEARCH-PATHS needs to run against a special share msdfs-pathname-share
378 # This is an empty DFS share with no links, used merely to test
379 # incoming DFS pathnames and how they map to local paths.
381 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-SEARCH-PATHS",
382 "fileserver_smb1",
383 [os.path.join(samba3srcdir,
384 "script/tests/test_smbtorture_s3.sh"),
385 'SMB1-DFS-SEARCH-PATHS',
386 '//$SERVER_IP/msdfs-pathname-share',
387 '$USERNAME',
388 '$PASSWORD',
389 smbtorture3,
390 "-mNT1"])
393 # SMB1-DFS-OPERATIONS needs to run against a special share msdfs-pathname-share
394 # This is an empty DFS share with no links, used merely to test
395 # incoming DFS pathnames and how they map to local paths.
397 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-OPERATIONS",
398 "fileserver_smb1",
399 [os.path.join(samba3srcdir,
400 "script/tests/test_smbtorture_s3.sh"),
401 'SMB1-DFS-OPERATIONS',
402 '//$SERVER_IP/msdfs-pathname-share',
403 '$USERNAME',
404 '$PASSWORD',
405 smbtorture3,
406 "-mNT1"])
408 # SMB1-DFS-BADPATH needs to run against a special share msdfs-pathname-share
409 # BUG: https://bugzilla.samba.org/show_bug.cgi?id=15419
411 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-BADPATH",
412 "fileserver_smb1",
413 [os.path.join(samba3srcdir,
414 "script/tests/test_smbtorture_s3.sh"),
415 'SMB1-DFS-BADPATH',
416 '//$SERVER_IP/msdfs-pathname-share',
417 '$USERNAME',
418 '$PASSWORD',
419 smbtorture3,
420 "-mNT1"])
423 # SMB2-STREAM-ACL needs to run against a special share - vfs_wo_fruit
425 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-STREAM-ACL",
426 "fileserver",
427 [os.path.join(samba3srcdir,
428 "script/tests/test_smbtorture_s3.sh"),
429 'SMB2-STREAM-ACL',
430 '//$SERVER_IP/vfs_wo_fruit',
431 '$USERNAME',
432 '$PASSWORD',
433 smbtorture3,
435 "-l $LOCAL_PATH"])
438 # SMB2-LIST-DIR-ASYNC needs to run against a special share vfs_aio_pthread_async_dosmode_default1
440 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-LIST-DIR-ASYNC",
441 "simpleserver",
442 [os.path.join(samba3srcdir,
443 "script/tests/test_smbtorture_s3.sh"),
444 'SMB2-LIST-DIR-ASYNC',
445 '//$SERVER_IP/vfs_aio_pthread_async_dosmode_default1',
446 '$USERNAME',
447 '$PASSWORD',
448 smbtorture3,
450 "-l $LOCAL_PATH"])
452 # SMB2-DEL-ON-CLOSE-NONEMPTY needs to run against a special fileserver share veto_files_delete
454 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONEMPTY",
455 "fileserver",
456 [os.path.join(samba3srcdir,
457 "script/tests/test_smbtorture_s3.sh"),
458 'SMB2-DEL-ON-CLOSE-NONEMPTY',
459 '//$SERVER_IP/veto_files_delete',
460 '$USERNAME',
461 '$PASSWORD',
462 smbtorture3,
464 "-l $LOCAL_PATH"])
467 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES needs to run against a special fileserver share delete_yes_unwrite
469 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES",
470 "fileserver",
471 [os.path.join(samba3srcdir,
472 "script/tests/test_smbtorture_s3.sh"),
473 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES',
474 '//$SERVER_IP/delete_yes_unwrite',
475 '$USERNAME',
476 '$PASSWORD',
477 smbtorture3,
479 "-l $LOCAL_PATH"])
482 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO needs to run against a special fileserver share delete_no_unwrite
484 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO",
485 "fileserver",
486 [os.path.join(samba3srcdir,
487 "script/tests/test_smbtorture_s3.sh"),
488 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO',
489 '//$SERVER_IP/delete_no_unwrite',
490 '$USERNAME',
491 '$PASSWORD',
492 smbtorture3,
494 "-l $LOCAL_PATH"])
497 # Test doing an async read + disconnect on a pipe doesn't crash the server.
498 # BUG: https://bugzilla.samba.org/show_bug.cgi?id=15423
500 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-PIPE-READ-ASYNC-DISCONNECT",
501 "fileserver",
502 [os.path.join(samba3srcdir,
503 "script/tests/test_smbtorture_nocrash_s3.sh"),
504 'SMB2-PIPE-READ-ASYNC-DISCONNECT',
505 '//$SERVER_IP/tmp',
506 '$USERNAME',
507 '$PASSWORD',
508 smbtorture3,
510 "-l $LOCAL_PATH"])
512 shares = [
513 "vfs_aio_pthread_async_dosmode_default1",
514 "vfs_aio_pthread_async_dosmode_default2"
516 for s in shares:
517 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"])
518 t = "smb2.compound_find"
519 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
521 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
522 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
523 "POSIX-BLOCKING-LOCK",
524 "POSIX-ACL-OPLOCK",
525 "POSIX-ACL-SHAREROOT",
526 "POSIX-LS-WILDCARD",
527 "POSIX-LS-SINGLE",
528 "POSIX-READLINK",
529 "POSIX-STAT",
530 "POSIX-SYMLINK-PARENT",
531 "POSIX-SYMLINK-CHMOD",
532 "POSIX-DIR-DEFAULT-ACL",
533 "POSIX-SYMLINK-RENAME",
534 "POSIX-SYMLINK-GETPATHINFO",
535 "POSIX-SYMLINK-SETPATHINFO",
538 for t in posix_tests:
539 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"])
540 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"])
542 local_tests = [
543 "LOCAL-SUBSTITUTE",
544 "LOCAL-GENCACHE",
545 "LOCAL-BASE64",
546 "LOCAL-RBTREE",
547 "LOCAL-MEMCACHE",
548 "LOCAL-STREAM-NAME",
549 "LOCAL-STR-MATCH-MSWILD",
550 "LOCAL-STR-MATCH-REGEX-SUB1",
551 "LOCAL-string_to_sid",
552 "LOCAL-sid_to_string",
553 "LOCAL-binary_to_sid",
554 "LOCAL-DBTRANS",
555 "LOCAL-TEVENT-POLL",
556 "LOCAL-CONVERT-STRING",
557 "LOCAL-CONV-AUTH-INFO",
558 "LOCAL-IDMAP-TDB-COMMON",
559 "LOCAL-MESSAGING-READ1",
560 "LOCAL-MESSAGING-READ2",
561 "LOCAL-MESSAGING-READ3",
562 "LOCAL-MESSAGING-READ4",
563 "LOCAL-MESSAGING-FDPASS1",
564 "LOCAL-MESSAGING-FDPASS2",
565 "LOCAL-MESSAGING-FDPASS2a",
566 "LOCAL-MESSAGING-FDPASS2b",
567 "LOCAL-MESSAGING-SEND-ALL",
568 "LOCAL-PTHREADPOOL-TEVENT",
569 "LOCAL-CANONICALIZE-PATH",
570 "LOCAL-DBWRAP-WATCH1",
571 "LOCAL-DBWRAP-WATCH2",
572 "LOCAL-DBWRAP-WATCH3",
573 "LOCAL-DBWRAP-WATCH4",
574 "LOCAL-DBWRAP-DO-LOCKED1",
575 "LOCAL-G-LOCK1",
576 "LOCAL-G-LOCK2",
577 "LOCAL-G-LOCK3",
578 "LOCAL-G-LOCK4",
579 "LOCAL-G-LOCK4A",
580 "LOCAL-G-LOCK5",
581 "LOCAL-G-LOCK6",
582 "LOCAL-G-LOCK7",
583 "LOCAL-G-LOCK8",
584 "LOCAL-NAMEMAP-CACHE1",
585 "LOCAL-IDMAP-CACHE1",
586 "LOCAL-TDB-VALIDATE",
587 "LOCAL-hex_encode_buf",
588 "LOCAL-remove_duplicate_addrs2"]
590 for t in local_tests:
591 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
593 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
594 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
595 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
596 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
597 plantestsuite(
598 "samba.vfstest.full_audit_segfault",
599 "nt4_dc:local",
600 [os.path.join(samba3srcdir,
601 "script/tests/full_audit_segfault/run.sh"),
602 binpath("vfstest"),
603 "$PREFIX",
604 configuration])
606 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"])
607 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"])
608 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"])
609 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"])
610 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"])
611 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"])
613 plantestsuite("samba3.blackbox.smbclient_usernamemap", "ad_member_idmap_nss:local", [os.path.join(samba3srcdir, "script/tests/test_usernamemap.sh"), '$SERVER', smbclient3])
615 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])
616 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"]:
617 if "NT1" in options or "LANMAN2" in options:
618 env = "nt4_dc_smb1_done"
619 else:
620 env = "nt4_dc"
621 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])
623 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "s4member", "fl2000dc"]:
624 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
625 smb1_env = env
626 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
627 smb1_env = smb1_env + "_smb1_done"
628 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])
629 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])
632 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
634 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
635 # don't attempt to run SMB1 tests in nt4_member or ad_member
636 # as these test envs don't support SMB1, use nt4_dc instead
637 environs = ["nt4_member", "ad_member"]
638 if "NT1" in options or "LANMAN2" in options:
639 environs = ["nt4_dc_smb1_done"]
640 for env in environs:
641 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])
642 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])
644 for env in ["nt4_member", "ad_member"]:
645 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])
646 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])
647 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])
648 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])
649 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])
650 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])
652 env = "ad_dc_smb1"
653 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
655 env = "ad_member_fips"
656 plantestsuite("samba3.blackbox.krbsmbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool_krb.sh"), '$SERVER', 'bob', 'Secret007', '$REALM'])
658 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'])
660 for env in ["ad_member:local", "nt4_dc:local"]:
661 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
663 env = "nt4_dc"
664 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])
666 for env in ["nt4_member", "ad_member"]:
667 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
669 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'])
671 env = "ad_member"
672 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
673 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
674 plantestsuite("samba3.wbinfo_name_lookup", env,
675 [os.path.join(srcdir(),
676 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
677 '$DOMAIN', '$REALM', '$DC_USERNAME'])
679 env = "ad_member"
680 plantestsuite("samba3.wbinfo_user_info_cached", env,
681 [os.path.join(srcdir(),
682 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
683 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
684 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
685 [os.path.join(srcdir(),
686 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
687 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
689 env = "ad_member:local"
690 plantestsuite("samba3.wbinfo_user_info", env,
691 [os.path.join(srcdir(),
692 "nsswitch/tests/test_wbinfo_user_info.sh"),
693 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
695 plantestsuite("samba3.winbind_call_depth_trace", env,
696 [os.path.join(srcdir(),
697 "source3/script/tests/test_winbind_call_depth_trace.sh"),
698 smbcontrol, configuration, '$PREFIX', env])
700 env = "fl2008r2dc:local"
701 plantestsuite("samba3.wbinfo_user_info", env,
702 [os.path.join(srcdir(),
703 "nsswitch/tests/test_wbinfo_user_info.sh"),
704 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
706 env = "nt4_member:local"
707 plantestsuite("samba3.wbinfo_sids_to_xids", env,
708 [os.path.join(srcdir(),
709 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
710 plantestsuite(
711 "samba.wbinfo_lookuprids_cache",
712 env,
713 [os.path.join(samba3srcdir,
714 "script/tests/test_wbinfo_lookuprids_cache.sh")])
716 env = "ad_member"
717 t = "WBCLIENT-MULTI-PING"
718 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
719 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
721 for env in ["maptoguest", "simpleserver"]:
722 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"])
724 env = "maptoguest"
725 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"])
726 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])
727 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])
729 # plain
730 env = "nt4_dc_smb1_done"
731 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"])
732 env = "nt4_dc"
733 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"])
735 for env in ["nt4_member", "ad_member"]:
736 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"])
737 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"])
739 env = "nt4_dc_smb1_done"
740 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"])
741 env = "nt4_dc"
742 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"])
744 for env in ["nt4_member", "ad_member"]:
745 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"])
746 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"])
748 env = "nt4_dc_smb1_done"
749 # encrypted
750 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"])
751 env = "nt4_dc"
752 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"])
754 for env in ["fileserver"]:
755 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"])
756 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"'])
757 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"])
758 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
759 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"])
760 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"])
761 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
762 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
763 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])
764 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
765 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
766 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'])
767 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'])
768 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])
769 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
770 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
771 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'])
772 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
773 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])
774 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'])
775 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'])
776 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'])
777 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'])
778 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'])
779 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'])
780 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'])
781 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
782 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'])
783 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'])
784 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
785 plantestsuite("samba3.blackbox.force_group_change", env,
786 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
787 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
788 plantestsuite("samba3.blackbox.zero-data", env,
789 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
790 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
791 plantestsuite("samba3.blackbox.timestamps", env,
792 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
793 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
794 plantestsuite("samba3.blackbox.volumeserialnumber", env,
795 [os.path.join(samba3srcdir, "script/tests/test_volume_serial_number.sh"),
796 '$SERVER_IP', '$USERNAME', '$PASSWORD', 'volumeserialnumber', smbclient3])
797 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
798 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
799 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
800 plantestsuite("samba3.blackbox.sacl_get_set", env,
801 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
802 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
803 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
804 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
805 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
806 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
807 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
808 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
809 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
810 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
811 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
812 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
813 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
814 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
815 plantestsuite("samba3.blackbox.test_veto_rmdir", env,
816 [os.path.join(samba3srcdir, "script/tests/test_veto_rmdir.sh"),
817 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
818 plantestsuite("samba3.blackbox.test_dangle_rmdir", env,
819 [os.path.join(samba3srcdir, "script/tests/test_delete_veto_files_only_rmdir.sh"),
820 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
821 plantestsuite("samba3.blackbox.test_list_servers.NT1",
822 env + "_smb1_done",
823 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
824 '$SERVER',
825 '$SERVER_IP',
826 '$USERNAME',
827 '$PASSWORD',
828 smbclient3,
829 "-mSMB3"])
830 plantestsuite("samba3.blackbox.test_list_servers.SMB2",
831 env,
832 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
833 '$SERVER',
834 '$SERVER_IP',
835 '$USERNAME',
836 '$PASSWORD',
837 smbclient3,
838 "-mSMB3"])
840 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB2", env,
841 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb2.sh"),
842 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
843 '$PREFIX', smbclient3])
845 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1", env + "_smb1_done",
846 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1.sh"),
847 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
848 '$PREFIX', smbclient3])
850 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1.posix", env + "_smb1_done",
851 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1_posix.sh"),
852 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
853 '$PREFIX', smbclient3])
855 plantestsuite("samba3.blackbox.test_symlink_rename.SMB1.posix", env + "_smb1_done",
856 [os.path.join(samba3srcdir, "script/tests/test_symlink_rename_smb1_posix.sh"),
857 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
858 '$PREFIX', smbclient3])
860 plantestsuite("samba3.blackbox.test_veto_files", env,
861 [os.path.join(samba3srcdir, "script/tests/test_veto_files.sh"),
862 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
864 plantestsuite("samba3.blackbox.stream_dir_rename", env,
865 [os.path.join(samba3srcdir, "script/tests/test_stream_dir_rename.sh"),
866 '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
868 plantestsuite("samba3.blackbox.test_symlink_dosmode", env,
869 [os.path.join(samba3srcdir, "script/tests/test_symlink_dosmode.sh"),
870 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
871 '$PREFIX', smbclient3])
873 # tar command tests
876 # Test smbclient/tarmode
877 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
878 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
879 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
880 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mNT1"])
881 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
882 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
883 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
884 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mSMB3"])
886 # Test suite for new smbclient/tar with libarchive (GSoC 13)
887 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
888 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
889 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
890 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
891 '-d', 'smbclient_tar.NT1', '-b', smbclient3,
892 '--subunit', '--', configuration, '-mNT1'])
893 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
894 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
895 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
896 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
897 '-d', 'smbclient_tar.SMB3', '-b', smbclient3,
898 '--subunit', '--', configuration, '-mSMB3'])
899 plantestsuite("samba3.blackbox.fifo", env,
900 [os.path.join(samba3srcdir, "script/tests/test_fifo.sh"),
901 '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
902 plantestsuite("samba3.blackbox.test_full_audit_success_badname", env,
903 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
904 '$SERVER', 'full_audit_success_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
905 plantestsuite("samba3.blackbox.test_full_audit_fail_badname", env,
906 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
907 '$SERVER', 'full_audit_fail_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
908 plantestsuite("samba3.blackbox.fruit.resource_stream", env,
909 [os.path.join(samba3srcdir, "script/tests/test_fruit_resource_stream.sh"),
910 '$SERVER', 'fruit_resource_stream', '$USERNAME', '$PASSWORD',
911 '$LOCAL_PATH/fruit_resource_stream', smbclient3])
913 plantestsuite("samba3.blackbox.smbclient_old_dir", "fileserver_smb1",
914 [os.path.join(samba3srcdir,
915 "script/tests/test_old_dirlisting.sh"),
916 timelimit, smbclient3])
918 for env in ["fileserver:local"]:
919 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
921 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"])
922 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
924 env = 'ad_member'
925 plantestsuite("samba3.blackbox.smbget",
926 env,
928 os.path.join(samba3srcdir, "script/tests/test_smbget.sh"),
929 '$SERVER',
930 '$SERVER_IP',
931 '$DOMAIN',
932 '$REALM',
933 'smbget_user',
934 '$PASSWORD',
935 '$LOCAL_PATH/smbget',
936 smbget
939 plantestsuite("samba3.blackbox.server_addresses",
940 "simpleserver",
941 [os.path.join(samba3srcdir,
942 "script/tests/test_server_addresses.sh")])
944 # TODO encrypted against member, with member creds, and with DC creds
945 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
946 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
947 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
948 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
949 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
950 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
951 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
952 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
953 scriptdir, "$SMB_CONF_PATH", net, configuration])
954 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
955 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
956 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
957 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
958 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
959 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
961 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
962 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
963 scriptdir, "$SMB_CONF_PATH", net, configuration])
964 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
965 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
966 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
968 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
969 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
970 scriptdir, "$SMB_CONF_PATH", net, configuration])
971 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
972 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
973 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
976 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
977 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
978 "$LOCAL_PATH"])
980 plantestsuite(
981 "samba3.pthreadpool", "none",
982 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
984 if with_pthreadpool and have_ldwrap:
985 plantestsuite("samba3.pthreadpool_cmocka", "none",
986 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
988 if with_pthreadpool:
989 plantestsuite("samba3.libwbclient_threads",
990 "nt4_member",
991 [os.path.join(samba3srcdir,
992 "script/tests/test_libwbclient_threads.sh"),
993 "$DOMAIN", "$DC_USERNAME"])
994 plantestsuite("b15464_testcase", "none",
995 [os.path.join(bbdir, "b15464-testcase.sh"),
996 binpath("b15464-testcase"),
997 binpath("plugins/libnss_winbind.so.2")])
999 plantestsuite("samba3.test_nfs4_acl", "none",
1000 [os.path.join(bindir(), "test_nfs4_acls"),
1001 "$SMB_CONF_PATH"])
1003 plantestsuite("samba3.test_vfs_full_audit", "none",
1004 [os.path.join(bindir(), "test_vfs_full_audit"),
1005 "$SMB_CONF_PATH"])
1007 plantestsuite("samba3.test_vfs_posixacl", "none",
1008 [os.path.join(bindir(), "test_vfs_posixacl"),
1009 "$SMB_CONF_PATH"])
1011 if is_module_enabled("vfs_gpfs"):
1012 plantestsuite("samba3.test_vfs_gpfs", "none",
1013 [os.path.join(bindir(), "test_vfs_gpfs")])
1015 plantestsuite(
1016 "samba3.resolvconf", "none",
1017 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
1019 plantestsuite("samba3.tevent_glib_glue", "none",
1020 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
1022 plantestsuite("samba3.async_req", "nt4_dc",
1023 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
1025 # smbtorture4 tests
1027 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
1028 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
1029 "base.disconnect", "base.fdpass", "base.lock",
1030 "base.mangle", "base.negnowait", "base.ntdeny1",
1031 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
1032 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
1033 "base.xcopy", "base.samba3error"]
1035 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
1036 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
1037 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
1038 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
1039 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
1040 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
1041 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
1042 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
1043 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
1045 smb2 = smbtorture4_testsuites("smb2.")
1047 rpc = ["rpc.authcontext",
1048 "rpc.samba3.bind",
1049 "rpc.samba3.srvsvc",
1050 "rpc.samba3.sharesec",
1051 "rpc.samba3.spoolss",
1052 "rpc.samba3.wkssvc",
1053 "rpc.samba3.winreg",
1054 "rpc.samba3.getaliasmembership-0",
1055 "rpc.samba3.netlogon",
1056 "rpc.samba3.sessionkey",
1057 "rpc.samba3.getusername",
1058 "rpc.samba3.smb1-pipe-name",
1059 "rpc.samba3.smb2-pipe-name",
1060 "rpc.samba3.smb-reauth1",
1061 "rpc.samba3.smb-reauth2",
1062 "rpc.samba3.lsa_over_netlogon",
1063 "rpc.samba3.pipes_supported_interfaces",
1064 "rpc.mgmt",
1065 "rpc.svcctl",
1066 "rpc.ntsvcs",
1067 "rpc.winreg",
1068 "rpc.eventlog",
1069 "rpc.spoolss.printserver",
1070 "rpc.spoolss.win",
1071 "rpc.spoolss.notify",
1072 "rpc.spoolss.printer",
1073 "rpc.spoolss.driver",
1074 "rpc.lsa",
1075 "rpc.lsa-getuser",
1076 "rpc.lsa.lookupsids",
1077 "rpc.lsa.lookupnames",
1078 "rpc.lsa.privileges",
1079 "rpc.lsa.secrets",
1080 "rpc.mdssvc",
1081 "rpc.samr",
1082 "rpc.samr.users",
1083 "rpc.samr.users.privileges",
1084 "rpc.samr.passwords.default",
1085 "rpc.samr.passwords.pwdlastset",
1086 "rpc.samr.passwords.lockout",
1087 "rpc.samr.passwords.badpwdcount",
1088 "rpc.samr.large-dc",
1089 "rpc.samr.machine.auth",
1090 "rpc.samr.priv",
1091 "rpc.samr.passwords.validate",
1092 "rpc.samr.handletype",
1093 "rpc.netlogon.admin",
1094 "rpc.netlogon.zerologon",
1095 "rpc.schannel",
1096 "rpc.schannel2",
1097 "rpc.bench-schannel1",
1098 "rpc.schannel_anon_setpw",
1099 "rpc.join",
1100 "rpc.bind",
1101 "rpc.initshutdown",
1102 "rpc.wkssvc",
1103 "rpc.srvsvc"]
1105 local = ["local.nss"]
1107 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
1109 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
1111 unix = ["unix.info2", "unix.whoami"]
1113 nbt = ["nbt.dgram"]
1115 vfs = [
1116 "vfs.fruit",
1117 "vfs.acl_xattr",
1118 "vfs.fruit_netatalk",
1119 "vfs.fruit_file_id",
1120 "vfs.fruit_timemachine",
1121 "vfs.fruit_conversion",
1122 "vfs.unfruit",
1125 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
1127 for t in tests:
1128 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
1129 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
1130 elif t == "base.createx_access":
1131 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
1132 elif t == "rap.sam":
1133 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
1134 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
1135 elif t == "winbind.pac":
1136 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1137 elif t == "unix.whoami":
1138 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
1139 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
1140 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1141 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1142 for env in ["nt4_dc_smb1", "nt4_member"]:
1143 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1144 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
1145 for env in ["ad_dc_smb1", "ad_member"]:
1146 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
1147 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
1148 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
1149 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
1150 elif t == "raw.samba3posixtimedlock":
1151 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
1152 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1153 description="brl_delay_inject1")
1154 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1155 description="brl_delay_inject2")
1156 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
1157 elif t == "smb2.samba3misc":
1158 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1159 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1160 description="brl_delay_inject1")
1161 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1162 description="brl_delay_inject2")
1163 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
1164 elif t == "raw.chkpath":
1165 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1166 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1167 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
1168 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1169 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1170 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1171 elif t == "raw.session":
1172 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1173 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1174 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
1175 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
1176 elif t == "smb2.session":
1177 alice_creds = "--option='torture:user2name=alice' --option='torture:user2password=Secret007'"
1178 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1179 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1180 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD ' + alice_creds, 'ntlm')
1181 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD ' + alice_creds, 'krb5')
1182 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
1183 # ad_member_idmap_rid sets "create krb5.conf = no"
1184 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
1185 elif t == "smb2.session-require-signing":
1186 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER_IP/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD')
1187 elif t == "rpc.lsa":
1188 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
1189 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1190 elif t.startswith("rpc.lsa."):
1191 # This avoids the rpc.lsa.* tests running under ncacn_ip_tcp:
1192 # (there is rpc.lsa.secrets fails due to OpenPolicy2 for example)
1193 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1194 elif t == "rpc.mdssvc":
1195 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1196 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
1197 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1198 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1199 elif t == "base.rw1":
1200 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1201 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
1202 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
1203 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1204 elif t == "idmap.rfc2307":
1205 plantestsuite(t, "ad_member_rfc2307",
1206 [os.path.join(samba3srcdir,
1207 "../nsswitch/tests/test_idmap_rfc2307.sh"),
1208 '$DOMAIN',
1209 'Administrator', '2000000',
1210 'Guest', '2000001',
1211 '"Domain Users"', '2000002',
1212 'DnsAdmins', '2000003',
1213 '2000005', '35',
1214 'ou=idmap,dc=samba,dc=example,dc=com',
1215 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
1216 elif t == "idmap.alloc":
1217 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
1218 elif t == "idmap.rid":
1219 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
1220 plantestsuite(t,
1221 "admem_idmap_autorid",
1222 [os.path.join(samba3srcdir,
1223 "../nsswitch/tests/test_idmap_rid.sh"),
1224 '$DOMAIN',
1225 '2000000'])
1226 elif t == "idmap.ad":
1227 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'])
1228 elif t == "raw.acls":
1229 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1230 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
1231 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
1232 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
1233 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
1234 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
1235 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
1236 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
1237 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1238 elif t == "smb2.ioctl":
1239 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
1240 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1241 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1242 elif t == "smb2.ioctl-on-stream":
1243 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1244 elif t == "smb2.lock":
1245 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1246 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1247 elif t == "raw.lock" or t == "base.lock":
1248 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1249 elif t == "raw.read":
1250 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1251 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1252 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1253 elif t == "raw.search":
1254 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1255 # test the dirsort module.
1256 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
1257 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1258 elif t == "vfs.fruit":
1259 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')
1260 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')
1261 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')
1262 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')
1263 elif t == "vfs.fruit_netatalk":
1264 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1265 elif t == "vfs.fruit_timemachine":
1266 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1267 elif t == "vfs.fruit_file_id":
1268 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
1269 elif t == "vfs.fruit_conversion":
1270 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')
1271 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')
1272 elif t == "vfs.unfruit":
1273 creds = '-U$USERNAME%$PASSWORD'
1274 share2 = '--option=torture:share2=tmp'
1275 netopt = '--option=torture:net=%s' % net
1276 shareopt = '--option=torture:sharename'
1278 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
1279 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')
1280 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')
1281 elif t == "rpc.schannel_anon_setpw":
1282 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
1283 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
1284 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
1285 elif t == "local.nss":
1286 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
1287 plansmbtorture4testsuite(t,
1288 env,
1289 '//$SERVER/tmp -U$USERNAME%$PASSWORD',
1290 environ = {
1291 'ENVNAME': env,
1293 elif t == "smb2.change_notify_disabled":
1294 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1295 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
1296 tmp_env = "nt4_dc"
1297 if t == "raw.notify" or t == "raw.oplock":
1298 tmp_env = "nt4_dc_smb1"
1299 # These tests are a little slower so don't duplicate them with ad_dc
1300 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --client-protection=sign')
1301 elif t == "smb2.dosmode":
1302 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
1303 elif t == "smb2.kernel-oplocks":
1304 if have_linux_kernel_oplocks:
1305 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1306 elif t == "smb2.notify-inotify":
1307 if have_inotify:
1308 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1309 elif t == "vfs.acl_xattr":
1310 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1311 elif t == "smb2.compound_find":
1312 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
1313 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1314 elif t == "smb2.compound":
1315 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1316 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1317 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1318 elif t == "smb2.compound_async":
1319 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1320 elif t == "smb2.ea":
1321 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/ea_acl_xattr --option=torture:acl_xattr_name=hackme -U$USERNAME%$PASSWORD')
1322 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
1323 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1324 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1325 elif t == "smb2.streams":
1326 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1327 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1328 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
1329 elif t == "smb2.aio_delay":
1330 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1331 elif t == "smb2.delete-on-close-perms":
1332 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1333 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
1334 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1335 elif t == "smb2.fileid":
1336 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
1337 elif t == "smb2.acls_non_canonical":
1338 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/acls_non_canonical -U$USERNAME%$PASSWORD')
1339 elif t == "smb2.async_dosmode":
1340 plansmbtorture4testsuite("smb2.async_dosmode",
1341 "simpleserver",
1342 "//$SERVER_IP/async_dosmode_shadow_copy2 -U$USERNAME%$PASSWORD")
1343 elif t == "smb2.rename":
1344 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1345 elif t == "smb2.twrp":
1346 # This is being driven by samba3.blackbox.shadow_copy_torture
1347 pass
1348 elif t == "smb2.create_no_streams":
1349 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD')
1350 elif t == "rpc.wkssvc":
1351 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1352 elif t == "rpc.srvsvc":
1353 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1354 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1355 elif t == "rpc.samba3.lsa_over_netlogon":
1356 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1357 elif t == "rpc.samba3.pipes_supported_interfaces":
1358 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1359 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1360 elif t == "rpc.spoolss.notify":
1361 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
1362 elif (t in base and t != "base.charset") \
1363 or (t in rap and t != "rap.printing") \
1364 or (t in unix) \
1365 or (t in ["rpc.authcontext",
1366 "rpc.join",
1367 "rpc.samba3.bind",
1368 "rpc.samba3.getusername",
1369 "rpc.samba3.sharesec",
1370 "rpc.samba3.smb1-pipe-name",
1371 "rpc.samba3.smb-reauth1",
1372 "rpc.samba3.smb-reauth2",
1373 "rpc.samba3.spoolss",
1374 "rpc.samba3.wkssvc",]) \
1375 or (t in ["raw.close",
1376 "raw.composite",
1377 "raw.eas",
1378 "raw.mkdir",
1379 "raw.open",
1380 "raw.rename",
1381 "raw.samba3badnameblob",
1382 "raw.samba3badpath",
1383 "raw.samba3caseinsensitive",
1384 "raw.samba3oplocklogoff",
1385 "raw.samba3posixtimedlock",
1386 "raw.samba3rootdirfid",
1387 "raw.samba3rootdirfid2",
1388 "raw.seek",
1389 "raw.sfileinfo.bug",
1390 "raw.sfileinfo.end-of-file",
1391 "raw.sfileinfo.rename",
1392 "raw.streams",
1393 "raw.unlink",
1394 "raw.write",]) :
1395 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1396 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1397 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
1398 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1399 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1400 elif t == "rpc.samr.passwords.validate":
1401 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1402 elif t == "rpc.samr.users.privileges":
1403 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
1404 elif t == "rpc.samr" or t.startswith("rpc.samr."):
1405 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1406 else:
1407 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1408 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1410 plantestsuite(
1411 "idmap_ad.ticket_expiry",
1412 "ad_member_idmap_ad:local",
1413 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1414 '$DOMAIN'])
1416 plansmbtorture4testsuite(
1417 "notifyd",
1418 "fileserver:local",
1419 '//foo/bar -U%')
1421 plansmbtorture4testsuite(
1422 "smb2.streams",
1423 "simpleserver",
1424 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1426 vfs_io_uring_tests = {
1427 "smb2.connect",
1428 "smb2.credits",
1429 "smb2.rw",
1430 "smb2.bench",
1431 "smb2.ioctl",
1433 for t in vfs_io_uring_tests:
1434 plansmbtorture4testsuite(t, "fileserver",
1435 '//$SERVER_IP/io_uring -U$USERNAME%$PASSWORD',
1436 "vfs_io_uring")
1438 test = 'rpc.lsa.lookupsids'
1439 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
1440 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
1441 endianness_options = ["", ",bigendian"]
1442 for s in signseal_options:
1443 for e in endianness_options:
1444 for a in auth_options:
1445 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1446 options = binding_string + " -U$USERNAME%$PASSWORD"
1447 if "smb1" in a:
1448 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1449 else:
1450 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1451 plantestsuite(
1452 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1453 "nt4_dc:local",
1454 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1455 "none",
1456 options + " -c getusername",
1457 configuration])
1458 plantestsuite(
1459 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1460 "nt4_dc:local",
1461 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1462 "none",
1463 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1464 configuration])
1465 if s != ",connect":
1466 plantestsuite(
1467 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1468 "nt4_dc:local",
1469 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1470 "none",
1471 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
1472 configuration])
1474 # We should try more combinations in future, but this is all
1475 # the pre-calculated credentials cache supports at the moment
1477 # As the ktest env requires SMB3_00 we need to use "smb2" until
1478 # dcerpc client code in smbtorture support autonegotiation
1479 # of any smb dialect.
1480 e = ""
1481 a = "smb2"
1482 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1483 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
1484 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
1486 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
1487 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
1489 auth_options2 = ["krb5", "spnego,krb5"]
1490 for a in auth_options2:
1491 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1493 plantestsuite(
1494 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1495 "ktest:local",
1496 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1497 "$PREFIX/ktest/krb5_ccache-3",
1498 binding_string,
1499 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
1500 configuration])
1502 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
1503 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
1504 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
1505 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
1506 configuration, os.path.join(bindir(), "sharesec"),
1507 os.path.join(bindir(), "net"), "tmp"])
1509 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
1510 [os.path.join(samba3srcdir,
1511 "script/tests/test_close_denied_share.sh"),
1512 configuration,
1513 os.path.join(bindir(), "sharesec"),
1514 os.path.join(bindir(), "smbclient"),
1515 os.path.join(bindir(), "smbcontrol"),
1516 '$SERVER_IP',
1517 "tmp"])
1519 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1520 [os.path.join(samba3srcdir,
1521 "script/tests/test_force_close_share.sh"),
1522 configuration,
1523 os.path.join(bindir(), "smbclient"),
1524 os.path.join(bindir(), "smbcontrol"),
1525 '$SERVER_IP',
1526 "aio_delay_inject",
1527 '$PREFIX/force-close-share'])
1529 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1530 [os.path.join(samba3srcdir,
1531 "script/tests/test_open_eintr.sh"),
1532 configuration,
1533 os.path.join(bindir(), "smbclient"),
1534 os.path.join(bindir(), "smbcontrol"),
1535 '$SERVER_IP',
1536 "error_inject"])
1538 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1539 [os.path.join(samba3srcdir,
1540 "script/tests/test_chdir_cache.sh"),
1541 configuration,
1542 os.path.join(bindir(), "smbclient"),
1543 os.path.join(bindir(), "smbcontrol"),
1544 '$SERVER_IP',
1545 "error_inject",
1546 '$PREFIX',
1547 'simpleserver'])
1549 plantestsuite("samba3.blackbox.rofs_error", "simpleserver",
1550 [os.path.join(samba3srcdir, "script/tests/test_rofs.sh"),
1551 configuration,
1552 os.path.join(bindir(), "smbclient"),
1553 '$SERVER_IP',
1554 "error_inject"])
1556 plantestsuite("samba3.blackbox.zero_readsize",
1557 "simpleserver:local",
1558 [os.path.join(samba3srcdir,
1559 "script/tests/test_zero_readsize.sh"),
1560 configuration,
1561 os.path.join(bindir(), "smbclient"),
1562 os.path.join(bindir(), "smbcontrol"),
1563 '$SERVER_IP',
1564 "tmp",
1565 "$PREFIX",
1566 "-mSMB2"])
1568 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1569 [os.path.join(samba3srcdir,
1570 "script/tests/test_netfileenum.sh"),
1571 os.path.join(bindir(), "smbclient"),
1572 os.path.join(bindir(), "rpcclient"),
1573 os.path.join(bindir(), "net"),
1574 '$SERVER_IP',
1575 'tmp'])
1577 plantestsuite("samba3.blackbox.netshareenum_username", "fileserver",
1578 [os.path.join(samba3srcdir,
1579 "script/tests/test_user_in_sharelist.sh"),
1580 os.path.join(bindir(), "rpcclient"),
1581 '$SERVER_IP'])
1583 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1584 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1585 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1586 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1588 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1589 [os.path.join(samba3srcdir,
1590 "script/tests/test_aio_outstanding.sh"),
1591 configuration,
1592 os.path.join(bindir(), "smbclient"),
1593 '$SERVER_IP',
1594 "aio_delay_inject"])
1596 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1597 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
1598 '$SERVER_IP'])
1600 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1601 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1603 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1604 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1605 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1607 plantestsuite("samba3.blackbox.winbind_ignore_domain", "ad_member_idmap_ad:local",
1608 [os.path.join(samba3srcdir, "script/tests/test_winbind_ignore_domains.sh")])
1610 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1611 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1613 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1614 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1615 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1617 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1618 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1619 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1620 configuration])
1622 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1623 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1624 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1625 configuration])
1626 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1627 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1628 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1629 configuration])
1630 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1631 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1632 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1633 "$SMB_CONF_PATH"])
1634 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1635 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1636 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1637 configuration])
1639 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1640 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1641 "$USERNAME", "$PASSWORD", "$SERVER",
1642 os.path.join(bindir(), "rpcclient"), "tmp"])
1644 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1645 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1646 "$USERNAME", "$PASSWORD", "$SERVER",
1647 os.path.join(bindir(), "rpcclient")])
1649 plantestsuite("samba3.blackbox.rpcclient_dfs", "fileserver:local",
1650 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_dfs.sh"),
1651 "$USERNAME", "$PASSWORD", "$SERVER",
1652 os.path.join(bindir(), "rpcclient")])
1654 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1655 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1656 "$USERNAME", "$PASSWORD", "$SERVER",
1657 os.path.join(bindir(), "rpcclient")])
1659 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1660 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1661 "$USERNAME", "$PASSWORD", "$SERVER",
1662 smbclient3])
1664 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1665 [os.path.join(samba3srcdir,
1666 "script/tests/test_smbXsrv_client_dead_rec.sh"),
1667 configuration,
1668 '$SERVER_IP',
1669 "tmp"])
1671 if have_cluster_support:
1672 plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
1673 [os.path.join(samba3srcdir,
1674 "script/tests/test_smbXsrv_client_cross_node.sh"),
1675 configuration,
1676 'ctdb0', 'ctdb1',
1677 "tmp"])
1678 plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
1679 [os.path.join(samba3srcdir,
1680 "script/tests/test_registry_share.sh"),
1681 "$SERVER", '$DC_USERNAME', "$DC_PASSWORD"])
1683 env = 'fileserver'
1684 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
1685 [os.path.join(samba3srcdir,
1686 "script/tests/test_virus_scanner.sh"),
1687 '$SERVER_IP',
1688 "virusfilter",
1689 '$LOCAL_PATH',
1690 smbclient3])
1692 for env in ['fileserver', 'simpleserver']:
1693 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1694 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1695 "$USERNAME", "$PASSWORD", "$SERVER",
1696 smbclient3, env])
1698 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1699 [os.path.join(samba3srcdir,
1700 "script/tests/test_smbclient_kerberos.sh"),
1701 "alice",
1702 "$REALM",
1703 "Secret007",
1704 "$SERVER",
1705 smbclient3,
1706 env])
1707 for env in ['ad_dc_fips', 'ad_member_fips']:
1708 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1709 [os.path.join(samba3srcdir,
1710 "script/tests/test_smbclient_kerberos.sh"),
1711 "alice",
1712 "$REALM",
1713 "Secret007",
1714 "$SERVER",
1715 smbclient3,
1716 env],
1717 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1718 'OPENSSL_FORCE_FIPS_MODE': '1'})
1720 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1721 [os.path.join(samba3srcdir,
1722 "script/tests/test_rpcclient_netsessenum.sh"),
1723 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1724 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1726 # The ktest environment uses:
1727 # server min protocol = SMB3_00
1728 # client max protocol = SMB3
1729 options_list = ["", "--client-protection=encrypt"]
1730 for options in options_list:
1731 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1732 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1733 "$PREFIX/ktest/krb5_ccache-2",
1734 smbclient3, "$SERVER", options, configuration])
1736 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1737 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1738 "$PREFIX/ktest/krb5_ccache-3",
1739 smbclient3, "$SERVER", options, configuration])
1741 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1742 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1743 "$PREFIX/ktest/krb5_ccache-3",
1744 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1746 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1747 for options in options_list:
1748 env = "nt4_dc"
1749 if "NT1" in options:
1750 env = "nt4_dc_smb1_done"
1751 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1752 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1753 "none",
1754 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1756 for alias in ["foo", "bar"]:
1757 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1758 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1759 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1760 configuration])
1762 for e in endianness_options:
1763 for a in auth_options:
1764 for s in signseal_options:
1765 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1766 options = binding_string + " -U$USERNAME%$PASSWORD"
1767 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1769 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1770 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1772 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1773 plantestsuite("samba3.blackbox.guest", env,
1774 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1775 '$SERVER', smbclient3, smbcontrol, net, configuration])
1777 plantestsuite("samba3.blackbox.smbclient-mget",
1778 "fileserver",
1779 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1780 smbclient3,
1781 "$SERVER",
1782 "tmp",
1783 "$USERNAME",
1784 "$PASSWORD",
1785 "valid_users"])
1787 plantestsuite("samba3.blackbox.smbclient-bug15435",
1788 "fileserver",
1789 [os.path.join(samba3srcdir, "script/tests/test_bug15435_widelink_dfs.sh"),
1790 "$SERVER",
1791 "$SERVER_IP",
1792 "$USERNAME",
1793 "$PASSWORD",
1794 smbclient3,
1795 configuration])
1798 if have_cluster_support:
1799 t = "readdir-timestamp"
1800 plantestsuite(
1801 "samba3.smbtorture_s3.plain.%s" % t,
1802 "clusteredmember",
1803 [os.path.join(samba3srcdir,
1804 "script/tests/test_smbtorture_s3.sh"),
1806 '//foo/bar',
1807 '$DOMAIN\\\\$DC_USERNAME',
1808 '$DC_PASSWORD',
1809 smbtorture3,
1811 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1813 plantestsuite(
1814 "samba3.net_machine_account",
1815 "clusteredmember",
1816 [os.path.join(samba3srcdir,
1817 "script/tests/test_net_machine_account.sh"),
1818 "bin/net",
1819 "$SERVERCONFFILE",
1820 "$SERVER_IP"])
1822 plantestsuite(
1823 "samba3.net_lookup_ldap",
1824 "ad_dc:local",
1825 [os.path.join(samba3srcdir,
1826 "script/tests/test_net_lookup.sh"),
1827 '$DC_SERVER',
1828 '$DC_USERNAME',
1829 '$DC_PASSWORD',
1830 "bin/net",
1831 "bin/samba-tool",
1832 '$DNSNAME'])
1834 plantestsuite("samba3.blackbox.force-user-unlink",
1835 "maptoguest:local",
1836 [os.path.join(samba3srcdir,
1837 "script/tests/test_force_user_unlink.sh")])
1839 plansmbtorture4testsuite(
1840 "vfs.fruit_validate_afpinfo", "fileserver",
1841 '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=yes')
1842 plansmbtorture4testsuite(
1843 "vfs.fruit_validate_afpinfo", "fileserver",
1844 '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=no')
1846 def planclusteredmembertestsuite(tname, prefix):
1847 '''Define a clustered test for the clusteredmember environment'''
1849 tshare = 'tmp'
1851 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1852 namearg = 'clustered.%s' % tname
1853 modnamearg = 'samba3.%s' % namearg
1854 extraargs = ''
1856 prefix = os.path.join(prefix, 'clusteredmember')
1857 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1859 unclistarg = '--unclist=%s' % unclist
1860 sharearg = '//$SERVER_IP/%s' % tshare
1862 return selftesthelpers.plansmbtorture4testsuite(
1863 tname,
1864 'clusteredmember',
1865 [extraargs, unclistarg, sharearg, autharg, tname],
1866 target='samba3',
1867 modname=modnamearg)
1870 if have_cluster_support:
1871 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1873 for test in CLUSTERED_TESTS:
1874 planclusteredmembertestsuite(test, "$PREFIX")
1876 CLUSTERED_LOCAL_TESTS = [
1877 "ctdbd-conn1",
1878 "local-dbwrap-ctdb1"
1881 for t in CLUSTERED_LOCAL_TESTS:
1882 plantestsuite(
1883 "samba3.%s" % t,
1884 "clusteredmember:local",
1885 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1887 '//foo/bar',
1888 '""',
1889 '""',
1890 smbtorture3,
1891 "-N 1000 -o 2000"])
1893 planpythontestsuite("fileserver_smb1", "samba.tests.smb3unix")
1894 planpythontestsuite("fileserver", "samba.tests.reparsepoints")
1895 planpythontestsuite("fileserver_smb1", "samba.tests.smb2symlink")
1896 planpythontestsuite("fileserver_smb1", "samba.tests.smb1posix")