s3:tests: Pass down a normal domain user for test_smbget.sh
[samba.git] / source3 / selftest / tests.py
blob30740d66dcffc7df1561961096df113e646debf3
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 '$DOMAIN_USER',
936 '$DOMAIN_USER_PASSWORD',
937 '$LOCAL_PATH/smbget',
938 smbget
941 plantestsuite("samba3.blackbox.server_addresses",
942 "simpleserver",
943 [os.path.join(samba3srcdir,
944 "script/tests/test_server_addresses.sh")])
946 # TODO encrypted against member, with member creds, and with DC creds
947 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
948 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
949 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
950 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
951 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
952 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
953 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
954 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
955 scriptdir, "$SMB_CONF_PATH", net, configuration])
956 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
957 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
958 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
959 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
960 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
961 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
963 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
964 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
965 scriptdir, "$SMB_CONF_PATH", net, configuration])
966 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
967 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
968 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
970 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
971 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
972 scriptdir, "$SMB_CONF_PATH", net, configuration])
973 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
974 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
975 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
978 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
979 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
980 "$LOCAL_PATH"])
982 plantestsuite(
983 "samba3.pthreadpool", "none",
984 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
986 if with_pthreadpool and have_ldwrap:
987 plantestsuite("samba3.pthreadpool_cmocka", "none",
988 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
990 if with_pthreadpool:
991 plantestsuite("samba3.libwbclient_threads",
992 "nt4_member",
993 [os.path.join(samba3srcdir,
994 "script/tests/test_libwbclient_threads.sh"),
995 "$DOMAIN", "$DC_USERNAME"])
996 plantestsuite("b15464_testcase", "none",
997 [os.path.join(bbdir, "b15464-testcase.sh"),
998 binpath("b15464-testcase"),
999 binpath("plugins/libnss_winbind.so.2")])
1001 plantestsuite("samba3.test_nfs4_acl", "none",
1002 [os.path.join(bindir(), "test_nfs4_acls"),
1003 "$SMB_CONF_PATH"])
1005 plantestsuite("samba3.test_vfs_full_audit", "none",
1006 [os.path.join(bindir(), "test_vfs_full_audit"),
1007 "$SMB_CONF_PATH"])
1009 plantestsuite("samba3.test_vfs_posixacl", "none",
1010 [os.path.join(bindir(), "test_vfs_posixacl"),
1011 "$SMB_CONF_PATH"])
1013 if is_module_enabled("vfs_gpfs"):
1014 plantestsuite("samba3.test_vfs_gpfs", "none",
1015 [os.path.join(bindir(), "test_vfs_gpfs")])
1017 plantestsuite(
1018 "samba3.resolvconf", "none",
1019 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
1021 plantestsuite("samba3.tevent_glib_glue", "none",
1022 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
1024 plantestsuite("samba3.async_req", "nt4_dc",
1025 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
1027 # smbtorture4 tests
1029 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
1030 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
1031 "base.disconnect", "base.fdpass", "base.lock",
1032 "base.mangle", "base.negnowait", "base.ntdeny1",
1033 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
1034 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
1035 "base.xcopy", "base.samba3error"]
1037 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
1038 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
1039 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
1040 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
1041 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
1042 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
1043 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
1044 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
1045 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
1047 smb2 = smbtorture4_testsuites("smb2.")
1049 rpc = ["rpc.authcontext",
1050 "rpc.samba3.bind",
1051 "rpc.samba3.srvsvc",
1052 "rpc.samba3.sharesec",
1053 "rpc.samba3.spoolss",
1054 "rpc.samba3.wkssvc",
1055 "rpc.samba3.winreg",
1056 "rpc.samba3.getaliasmembership-0",
1057 "rpc.samba3.netlogon",
1058 "rpc.samba3.sessionkey",
1059 "rpc.samba3.getusername",
1060 "rpc.samba3.smb1-pipe-name",
1061 "rpc.samba3.smb2-pipe-name",
1062 "rpc.samba3.smb-reauth1",
1063 "rpc.samba3.smb-reauth2",
1064 "rpc.samba3.lsa_over_netlogon",
1065 "rpc.samba3.pipes_supported_interfaces",
1066 "rpc.mgmt",
1067 "rpc.svcctl",
1068 "rpc.ntsvcs",
1069 "rpc.winreg",
1070 "rpc.eventlog",
1071 "rpc.spoolss.printserver",
1072 "rpc.spoolss.win",
1073 "rpc.spoolss.notify",
1074 "rpc.spoolss.printer",
1075 "rpc.spoolss.driver",
1076 "rpc.lsa",
1077 "rpc.lsa-getuser",
1078 "rpc.lsa.lookupsids",
1079 "rpc.lsa.lookupnames",
1080 "rpc.lsa.privileges",
1081 "rpc.lsa.secrets",
1082 "rpc.mdssvc",
1083 "rpc.samr",
1084 "rpc.samr.users",
1085 "rpc.samr.users.privileges",
1086 "rpc.samr.passwords.default",
1087 "rpc.samr.passwords.pwdlastset",
1088 "rpc.samr.passwords.lockout",
1089 "rpc.samr.passwords.badpwdcount",
1090 "rpc.samr.large-dc",
1091 "rpc.samr.machine.auth",
1092 "rpc.samr.priv",
1093 "rpc.samr.passwords.validate",
1094 "rpc.samr.handletype",
1095 "rpc.netlogon.admin",
1096 "rpc.netlogon.zerologon",
1097 "rpc.schannel",
1098 "rpc.schannel2",
1099 "rpc.bench-schannel1",
1100 "rpc.schannel_anon_setpw",
1101 "rpc.join",
1102 "rpc.bind",
1103 "rpc.initshutdown",
1104 "rpc.wkssvc",
1105 "rpc.srvsvc"]
1107 local = ["local.nss"]
1109 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
1111 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
1113 unix = ["unix.info2", "unix.whoami"]
1115 nbt = ["nbt.dgram"]
1117 vfs = [
1118 "vfs.fruit",
1119 "vfs.acl_xattr",
1120 "vfs.fruit_netatalk",
1121 "vfs.fruit_file_id",
1122 "vfs.fruit_timemachine",
1123 "vfs.fruit_conversion",
1124 "vfs.unfruit",
1127 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
1129 for t in tests:
1130 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
1131 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
1132 elif t == "base.createx_access":
1133 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
1134 elif t == "rap.sam":
1135 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
1136 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
1137 elif t == "winbind.pac":
1138 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1139 elif t == "unix.whoami":
1140 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
1141 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
1142 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1143 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1144 for env in ["nt4_dc_smb1", "nt4_member"]:
1145 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1146 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
1147 for env in ["ad_dc_smb1", "ad_member"]:
1148 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
1149 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
1150 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
1151 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
1152 elif t == "raw.samba3posixtimedlock":
1153 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
1154 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1155 description="brl_delay_inject1")
1156 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1157 description="brl_delay_inject2")
1158 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
1159 elif t == "smb2.samba3misc":
1160 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1161 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1162 description="brl_delay_inject1")
1163 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1164 description="brl_delay_inject2")
1165 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
1166 elif t == "raw.chkpath":
1167 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1168 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1169 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
1170 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1171 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1172 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1173 elif t == "raw.session":
1174 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1175 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1176 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
1177 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
1178 elif t == "smb2.session":
1179 alice_creds = "--option='torture:user2name=alice' --option='torture:user2password=Secret007'"
1180 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1181 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1182 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD ' + alice_creds, 'ntlm')
1183 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD ' + alice_creds, 'krb5')
1184 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
1185 # ad_member_idmap_rid sets "create krb5.conf = no"
1186 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
1187 elif t == "smb2.session-require-signing":
1188 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER_IP/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD')
1189 elif t == "rpc.lsa":
1190 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
1191 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1192 elif t.startswith("rpc.lsa."):
1193 # This avoids the rpc.lsa.* tests running under ncacn_ip_tcp:
1194 # (there is rpc.lsa.secrets fails due to OpenPolicy2 for example)
1195 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1196 elif t == "rpc.mdssvc":
1197 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1198 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
1199 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1200 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1201 elif t == "base.rw1":
1202 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1203 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
1204 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
1205 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1206 elif t == "idmap.rfc2307":
1207 plantestsuite(t, "ad_member_rfc2307",
1208 [os.path.join(samba3srcdir,
1209 "../nsswitch/tests/test_idmap_rfc2307.sh"),
1210 '$DOMAIN',
1211 'Administrator', '2000000',
1212 'Guest', '2000001',
1213 '"Domain Users"', '2000002',
1214 'DnsAdmins', '2000003',
1215 '2000005', '35',
1216 'ou=idmap,dc=samba,dc=example,dc=com',
1217 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
1218 elif t == "idmap.alloc":
1219 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
1220 elif t == "idmap.rid":
1221 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
1222 plantestsuite(t,
1223 "admem_idmap_autorid",
1224 [os.path.join(samba3srcdir,
1225 "../nsswitch/tests/test_idmap_rid.sh"),
1226 '$DOMAIN',
1227 '2000000'])
1228 elif t == "idmap.ad":
1229 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'])
1230 elif t == "raw.acls":
1231 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1232 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
1233 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
1234 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
1235 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
1236 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
1237 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
1238 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
1239 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1240 elif t == "smb2.ioctl":
1241 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
1242 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1243 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1244 elif t == "smb2.ioctl-on-stream":
1245 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1246 elif t == "smb2.lock":
1247 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1248 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1249 elif t == "raw.lock" or t == "base.lock":
1250 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1251 elif t == "raw.read":
1252 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1253 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1254 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1255 elif t == "raw.search":
1256 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1257 # test the dirsort module.
1258 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
1259 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1260 elif t == "vfs.fruit":
1261 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')
1262 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')
1263 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')
1264 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')
1265 elif t == "vfs.fruit_netatalk":
1266 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1267 elif t == "vfs.fruit_timemachine":
1268 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1269 elif t == "vfs.fruit_file_id":
1270 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
1271 elif t == "vfs.fruit_conversion":
1272 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')
1273 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')
1274 elif t == "vfs.unfruit":
1275 creds = '-U$USERNAME%$PASSWORD'
1276 share2 = '--option=torture:share2=tmp'
1277 netopt = '--option=torture:net=%s' % net
1278 shareopt = '--option=torture:sharename'
1280 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
1281 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')
1282 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')
1283 elif t == "rpc.schannel_anon_setpw":
1284 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
1285 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
1286 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
1287 elif t == "local.nss":
1288 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
1289 plansmbtorture4testsuite(t,
1290 env,
1291 '//$SERVER/tmp -U$USERNAME%$PASSWORD',
1292 environ = {
1293 'ENVNAME': env,
1295 elif t == "smb2.change_notify_disabled":
1296 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1297 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
1298 tmp_env = "nt4_dc"
1299 if t == "raw.notify" or t == "raw.oplock":
1300 tmp_env = "nt4_dc_smb1"
1301 # These tests are a little slower so don't duplicate them with ad_dc
1302 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --client-protection=sign')
1303 elif t == "smb2.dosmode":
1304 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
1305 elif t == "smb2.kernel-oplocks":
1306 if have_linux_kernel_oplocks:
1307 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1308 elif t == "smb2.notify-inotify":
1309 if have_inotify:
1310 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1311 elif t == "vfs.acl_xattr":
1312 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1313 elif t == "smb2.compound_find":
1314 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
1315 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1316 elif t == "smb2.compound":
1317 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1318 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1319 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1320 elif t == "smb2.compound_async":
1321 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1322 elif t == "smb2.ea":
1323 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/ea_acl_xattr --option=torture:acl_xattr_name=hackme -U$USERNAME%$PASSWORD')
1324 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
1325 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1326 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1327 elif t == "smb2.streams":
1328 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1329 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1330 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
1331 elif t == "smb2.aio_delay":
1332 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1333 elif t == "smb2.delete-on-close-perms":
1334 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1335 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
1336 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1337 elif t == "smb2.fileid":
1338 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
1339 elif t == "smb2.acls_non_canonical":
1340 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/acls_non_canonical -U$USERNAME%$PASSWORD')
1341 elif t == "smb2.async_dosmode":
1342 plansmbtorture4testsuite("smb2.async_dosmode",
1343 "simpleserver",
1344 "//$SERVER_IP/async_dosmode_shadow_copy2 -U$USERNAME%$PASSWORD")
1345 elif t == "smb2.rename":
1346 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1347 elif t == "smb2.twrp":
1348 # This is being driven by samba3.blackbox.shadow_copy_torture
1349 pass
1350 elif t == "smb2.create_no_streams":
1351 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD')
1352 elif t == "rpc.wkssvc":
1353 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1354 elif t == "rpc.srvsvc":
1355 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1356 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1357 elif t == "rpc.samba3.lsa_over_netlogon":
1358 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1359 elif t == "rpc.samba3.pipes_supported_interfaces":
1360 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1361 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1362 elif t == "rpc.spoolss.notify":
1363 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
1364 elif (t in base and t != "base.charset") \
1365 or (t in rap and t != "rap.printing") \
1366 or (t in unix) \
1367 or (t in ["rpc.authcontext",
1368 "rpc.join",
1369 "rpc.samba3.bind",
1370 "rpc.samba3.getusername",
1371 "rpc.samba3.sharesec",
1372 "rpc.samba3.smb1-pipe-name",
1373 "rpc.samba3.smb-reauth1",
1374 "rpc.samba3.smb-reauth2",
1375 "rpc.samba3.spoolss",
1376 "rpc.samba3.wkssvc",]) \
1377 or (t in ["raw.close",
1378 "raw.composite",
1379 "raw.eas",
1380 "raw.mkdir",
1381 "raw.open",
1382 "raw.rename",
1383 "raw.samba3badnameblob",
1384 "raw.samba3badpath",
1385 "raw.samba3caseinsensitive",
1386 "raw.samba3oplocklogoff",
1387 "raw.samba3posixtimedlock",
1388 "raw.samba3rootdirfid",
1389 "raw.samba3rootdirfid2",
1390 "raw.seek",
1391 "raw.sfileinfo.bug",
1392 "raw.sfileinfo.end-of-file",
1393 "raw.sfileinfo.rename",
1394 "raw.streams",
1395 "raw.unlink",
1396 "raw.write",]) :
1397 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1398 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1399 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
1400 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1401 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1402 elif t == "rpc.samr.passwords.validate":
1403 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1404 elif t == "rpc.samr.users.privileges":
1405 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
1406 elif t == "rpc.samr" or t.startswith("rpc.samr."):
1407 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1408 else:
1409 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1410 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1412 plantestsuite(
1413 "idmap_ad.ticket_expiry",
1414 "ad_member_idmap_ad:local",
1415 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1416 '$DOMAIN'])
1418 plansmbtorture4testsuite(
1419 "notifyd",
1420 "fileserver:local",
1421 '//foo/bar -U%')
1423 plansmbtorture4testsuite(
1424 "smb2.streams",
1425 "simpleserver",
1426 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1428 vfs_io_uring_tests = {
1429 "smb2.connect",
1430 "smb2.credits",
1431 "smb2.rw",
1432 "smb2.bench",
1433 "smb2.ioctl",
1435 for t in vfs_io_uring_tests:
1436 plansmbtorture4testsuite(t, "fileserver",
1437 '//$SERVER_IP/io_uring -U$USERNAME%$PASSWORD',
1438 "vfs_io_uring")
1440 test = 'rpc.lsa.lookupsids'
1441 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
1442 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
1443 endianness_options = ["", ",bigendian"]
1444 for s in signseal_options:
1445 for e in endianness_options:
1446 for a in auth_options:
1447 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1448 options = binding_string + " -U$USERNAME%$PASSWORD"
1449 if "smb1" in a:
1450 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1451 else:
1452 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1453 plantestsuite(
1454 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1455 "nt4_dc:local",
1456 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1457 "none",
1458 options + " -c getusername",
1459 configuration])
1460 plantestsuite(
1461 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1462 "nt4_dc:local",
1463 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1464 "none",
1465 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1466 configuration])
1467 if s != ",connect":
1468 plantestsuite(
1469 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1470 "nt4_dc:local",
1471 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1472 "none",
1473 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
1474 configuration])
1476 # We should try more combinations in future, but this is all
1477 # the pre-calculated credentials cache supports at the moment
1479 # As the ktest env requires SMB3_00 we need to use "smb2" until
1480 # dcerpc client code in smbtorture support autonegotiation
1481 # of any smb dialect.
1482 e = ""
1483 a = "smb2"
1484 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1485 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
1486 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
1488 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
1489 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
1491 auth_options2 = ["krb5", "spnego,krb5"]
1492 for a in auth_options2:
1493 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1495 plantestsuite(
1496 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1497 "ktest:local",
1498 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1499 "$PREFIX/ktest/krb5_ccache-3",
1500 binding_string,
1501 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
1502 configuration])
1504 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
1505 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
1506 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
1507 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
1508 configuration, os.path.join(bindir(), "sharesec"),
1509 os.path.join(bindir(), "net"), "tmp"])
1511 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
1512 [os.path.join(samba3srcdir,
1513 "script/tests/test_close_denied_share.sh"),
1514 configuration,
1515 os.path.join(bindir(), "sharesec"),
1516 os.path.join(bindir(), "smbclient"),
1517 os.path.join(bindir(), "smbcontrol"),
1518 '$SERVER_IP',
1519 "tmp"])
1521 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1522 [os.path.join(samba3srcdir,
1523 "script/tests/test_force_close_share.sh"),
1524 configuration,
1525 os.path.join(bindir(), "smbclient"),
1526 os.path.join(bindir(), "smbcontrol"),
1527 '$SERVER_IP',
1528 "aio_delay_inject",
1529 '$PREFIX/force-close-share'])
1531 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1532 [os.path.join(samba3srcdir,
1533 "script/tests/test_open_eintr.sh"),
1534 configuration,
1535 os.path.join(bindir(), "smbclient"),
1536 os.path.join(bindir(), "smbcontrol"),
1537 '$SERVER_IP',
1538 "error_inject"])
1540 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1541 [os.path.join(samba3srcdir,
1542 "script/tests/test_chdir_cache.sh"),
1543 configuration,
1544 os.path.join(bindir(), "smbclient"),
1545 os.path.join(bindir(), "smbcontrol"),
1546 '$SERVER_IP',
1547 "error_inject",
1548 '$PREFIX',
1549 'simpleserver'])
1551 plantestsuite("samba3.blackbox.rofs_error", "simpleserver",
1552 [os.path.join(samba3srcdir, "script/tests/test_rofs.sh"),
1553 configuration,
1554 os.path.join(bindir(), "smbclient"),
1555 '$SERVER_IP',
1556 "error_inject"])
1558 plantestsuite("samba3.blackbox.zero_readsize",
1559 "simpleserver:local",
1560 [os.path.join(samba3srcdir,
1561 "script/tests/test_zero_readsize.sh"),
1562 configuration,
1563 os.path.join(bindir(), "smbclient"),
1564 os.path.join(bindir(), "smbcontrol"),
1565 '$SERVER_IP',
1566 "tmp",
1567 "$PREFIX",
1568 "-mSMB2"])
1570 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1571 [os.path.join(samba3srcdir,
1572 "script/tests/test_netfileenum.sh"),
1573 os.path.join(bindir(), "smbclient"),
1574 os.path.join(bindir(), "rpcclient"),
1575 os.path.join(bindir(), "net"),
1576 '$SERVER_IP',
1577 'tmp'])
1579 plantestsuite("samba3.blackbox.netshareenum_username", "fileserver",
1580 [os.path.join(samba3srcdir,
1581 "script/tests/test_user_in_sharelist.sh"),
1582 os.path.join(bindir(), "rpcclient"),
1583 '$SERVER_IP'])
1585 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1586 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1587 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1588 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1590 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1591 [os.path.join(samba3srcdir,
1592 "script/tests/test_aio_outstanding.sh"),
1593 configuration,
1594 os.path.join(bindir(), "smbclient"),
1595 '$SERVER_IP',
1596 "aio_delay_inject"])
1598 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1599 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
1600 '$SERVER_IP'])
1602 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1603 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1605 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1606 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1607 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1609 plantestsuite("samba3.blackbox.winbind_ignore_domain", "ad_member_idmap_ad:local",
1610 [os.path.join(samba3srcdir, "script/tests/test_winbind_ignore_domains.sh")])
1612 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1613 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1615 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1616 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1617 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1619 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1620 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1621 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1622 configuration])
1624 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1625 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1626 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1627 configuration])
1628 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1629 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1630 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1631 configuration])
1632 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1633 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1634 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1635 "$SMB_CONF_PATH"])
1636 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1637 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1638 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1639 configuration])
1641 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1642 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1643 "$USERNAME", "$PASSWORD", "$SERVER",
1644 os.path.join(bindir(), "rpcclient"), "tmp"])
1646 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1647 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1648 "$USERNAME", "$PASSWORD", "$SERVER",
1649 os.path.join(bindir(), "rpcclient")])
1651 plantestsuite("samba3.blackbox.rpcclient_dfs", "fileserver:local",
1652 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_dfs.sh"),
1653 "$USERNAME", "$PASSWORD", "$SERVER",
1654 os.path.join(bindir(), "rpcclient")])
1656 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1657 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1658 "$USERNAME", "$PASSWORD", "$SERVER",
1659 os.path.join(bindir(), "rpcclient")])
1661 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1662 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1663 "$USERNAME", "$PASSWORD", "$SERVER",
1664 smbclient3])
1666 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1667 [os.path.join(samba3srcdir,
1668 "script/tests/test_smbXsrv_client_dead_rec.sh"),
1669 configuration,
1670 '$SERVER_IP',
1671 "tmp"])
1673 if have_cluster_support:
1674 plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
1675 [os.path.join(samba3srcdir,
1676 "script/tests/test_smbXsrv_client_cross_node.sh"),
1677 configuration,
1678 'ctdb0', 'ctdb1',
1679 "tmp"])
1680 plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
1681 [os.path.join(samba3srcdir,
1682 "script/tests/test_registry_share.sh"),
1683 "$SERVER", '$DC_USERNAME', "$DC_PASSWORD"])
1685 env = 'fileserver'
1686 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
1687 [os.path.join(samba3srcdir,
1688 "script/tests/test_virus_scanner.sh"),
1689 '$SERVER_IP',
1690 "virusfilter",
1691 '$LOCAL_PATH',
1692 smbclient3])
1694 for env in ['fileserver', 'simpleserver']:
1695 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1696 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1697 "$USERNAME", "$PASSWORD", "$SERVER",
1698 smbclient3, env])
1700 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1701 [os.path.join(samba3srcdir,
1702 "script/tests/test_smbclient_kerberos.sh"),
1703 "alice",
1704 "$REALM",
1705 "Secret007",
1706 "$SERVER",
1707 smbclient3,
1708 env])
1709 for env in ['ad_dc_fips', 'ad_member_fips']:
1710 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1711 [os.path.join(samba3srcdir,
1712 "script/tests/test_smbclient_kerberos.sh"),
1713 "alice",
1714 "$REALM",
1715 "Secret007",
1716 "$SERVER",
1717 smbclient3,
1718 env],
1719 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1720 'OPENSSL_FORCE_FIPS_MODE': '1'})
1722 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1723 [os.path.join(samba3srcdir,
1724 "script/tests/test_rpcclient_netsessenum.sh"),
1725 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1726 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1728 # The ktest environment uses:
1729 # server min protocol = SMB3_00
1730 # client max protocol = SMB3
1731 options_list = ["", "--client-protection=encrypt"]
1732 for options in options_list:
1733 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1734 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1735 "$PREFIX/ktest/krb5_ccache-2",
1736 smbclient3, "$SERVER", options, configuration])
1738 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1739 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1740 "$PREFIX/ktest/krb5_ccache-3",
1741 smbclient3, "$SERVER", options, configuration])
1743 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1744 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1745 "$PREFIX/ktest/krb5_ccache-3",
1746 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1748 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1749 for options in options_list:
1750 env = "nt4_dc"
1751 if "NT1" in options:
1752 env = "nt4_dc_smb1_done"
1753 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1754 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1755 "none",
1756 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1758 for alias in ["foo", "bar"]:
1759 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1760 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1761 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1762 configuration])
1764 for e in endianness_options:
1765 for a in auth_options:
1766 for s in signseal_options:
1767 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1768 options = binding_string + " -U$USERNAME%$PASSWORD"
1769 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1771 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1772 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1774 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1775 plantestsuite("samba3.blackbox.guest", env,
1776 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1777 '$SERVER', smbclient3, smbcontrol, net, configuration])
1779 plantestsuite("samba3.blackbox.smbclient-mget",
1780 "fileserver",
1781 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1782 smbclient3,
1783 "$SERVER",
1784 "tmp",
1785 "$USERNAME",
1786 "$PASSWORD",
1787 "valid_users"])
1789 plantestsuite("samba3.blackbox.smbclient-bug15435",
1790 "fileserver",
1791 [os.path.join(samba3srcdir, "script/tests/test_bug15435_widelink_dfs.sh"),
1792 "$SERVER",
1793 "$SERVER_IP",
1794 "$USERNAME",
1795 "$PASSWORD",
1796 smbclient3,
1797 configuration])
1800 if have_cluster_support:
1801 t = "readdir-timestamp"
1802 plantestsuite(
1803 "samba3.smbtorture_s3.plain.%s" % t,
1804 "clusteredmember",
1805 [os.path.join(samba3srcdir,
1806 "script/tests/test_smbtorture_s3.sh"),
1808 '//foo/bar',
1809 '$DOMAIN\\\\$DC_USERNAME',
1810 '$DC_PASSWORD',
1811 smbtorture3,
1813 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1815 plantestsuite(
1816 "samba3.net_machine_account",
1817 "clusteredmember",
1818 [os.path.join(samba3srcdir,
1819 "script/tests/test_net_machine_account.sh"),
1820 "bin/net",
1821 "$SERVERCONFFILE",
1822 "$SERVER_IP"])
1824 plantestsuite(
1825 "samba3.net_lookup_ldap",
1826 "ad_dc:local",
1827 [os.path.join(samba3srcdir,
1828 "script/tests/test_net_lookup.sh"),
1829 '$DC_SERVER',
1830 '$DC_USERNAME',
1831 '$DC_PASSWORD',
1832 "bin/net",
1833 "bin/samba-tool",
1834 '$DNSNAME'])
1836 plantestsuite("samba3.blackbox.force-user-unlink",
1837 "maptoguest:local",
1838 [os.path.join(samba3srcdir,
1839 "script/tests/test_force_user_unlink.sh")])
1841 plansmbtorture4testsuite(
1842 "vfs.fruit_validate_afpinfo", "fileserver",
1843 '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=yes')
1844 plansmbtorture4testsuite(
1845 "vfs.fruit_validate_afpinfo", "fileserver",
1846 '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=no')
1848 def planclusteredmembertestsuite(tname, prefix):
1849 '''Define a clustered test for the clusteredmember environment'''
1851 tshare = 'tmp'
1853 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1854 namearg = 'clustered.%s' % tname
1855 modnamearg = 'samba3.%s' % namearg
1856 extraargs = ''
1858 prefix = os.path.join(prefix, 'clusteredmember')
1859 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1861 unclistarg = '--unclist=%s' % unclist
1862 sharearg = '//$SERVER_IP/%s' % tshare
1864 return selftesthelpers.plansmbtorture4testsuite(
1865 tname,
1866 'clusteredmember',
1867 [extraargs, unclistarg, sharearg, autharg, tname],
1868 target='samba3',
1869 modname=modnamearg)
1872 if have_cluster_support:
1873 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1875 for test in CLUSTERED_TESTS:
1876 planclusteredmembertestsuite(test, "$PREFIX")
1878 CLUSTERED_LOCAL_TESTS = [
1879 "ctdbd-conn1",
1880 "local-dbwrap-ctdb1"
1883 for t in CLUSTERED_LOCAL_TESTS:
1884 plantestsuite(
1885 "samba3.%s" % t,
1886 "clusteredmember:local",
1887 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1889 '//foo/bar',
1890 '""',
1891 '""',
1892 smbtorture3,
1893 "-N 1000 -o 2000"])
1895 planpythontestsuite("fileserver_smb1", "samba.tests.smb3unix")
1896 planpythontestsuite("fileserver", "samba.tests.reparsepoints")
1897 planpythontestsuite("fileserver_smb1", "samba.tests.smb2symlink")
1898 planpythontestsuite("fileserver_smb1", "samba.tests.smb1posix")