s3:selftest: add samba3.blackbox.smbXsrv_client_ctdb_registered_ips
[Samba.git] / source3 / selftest / tests.py
blobbdc49527bde4177a9c628526b489746380d282db
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", "idmap.nss"]
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.nss":
1221 plantestsuite(t, "ad_member_idmap_nss:local", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss_use_upn.sh")])
1222 elif t == "idmap.rid":
1223 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
1224 plantestsuite(t,
1225 "admem_idmap_autorid",
1226 [os.path.join(samba3srcdir,
1227 "../nsswitch/tests/test_idmap_rid.sh"),
1228 '$DOMAIN',
1229 '2000000'])
1230 elif t == "idmap.ad":
1231 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'])
1232 elif t == "raw.acls":
1233 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1234 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
1235 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
1236 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
1237 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
1238 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
1239 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
1240 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
1241 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1242 elif t == "smb2.ioctl":
1243 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
1244 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1245 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1246 elif t == "smb2.ioctl-on-stream":
1247 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1248 elif t == "smb2.lock":
1249 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1250 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1251 elif t == "raw.lock" or t == "base.lock":
1252 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1253 elif t == "raw.read":
1254 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1255 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1256 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1257 elif t == "raw.search":
1258 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1259 # test the dirsort module.
1260 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
1261 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1262 elif t == "vfs.fruit":
1263 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')
1264 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')
1265 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')
1266 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')
1267 elif t == "vfs.fruit_netatalk":
1268 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1269 elif t == "vfs.fruit_timemachine":
1270 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1271 elif t == "vfs.fruit_file_id":
1272 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
1273 elif t == "vfs.fruit_conversion":
1274 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')
1275 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')
1276 elif t == "vfs.unfruit":
1277 creds = '-U$USERNAME%$PASSWORD'
1278 share2 = '--option=torture:share2=tmp'
1279 netopt = '--option=torture:net=%s' % net
1280 shareopt = '--option=torture:sharename'
1282 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
1283 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')
1284 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')
1285 elif t == "rpc.schannel_anon_setpw":
1286 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
1287 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
1288 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
1289 elif t == "local.nss":
1290 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
1291 plansmbtorture4testsuite(t,
1292 env,
1293 '//$SERVER/tmp -U$USERNAME%$PASSWORD',
1294 environ = {
1295 'ENVNAME': env,
1297 elif t == "smb2.change_notify_disabled":
1298 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1299 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
1300 tmp_env = "nt4_dc"
1301 if t == "raw.notify" or t == "raw.oplock":
1302 tmp_env = "nt4_dc_smb1"
1303 # These tests are a little slower so don't duplicate them with ad_dc
1304 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --client-protection=sign')
1305 elif t == "smb2.dosmode":
1306 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
1307 elif t == "smb2.kernel-oplocks":
1308 if have_linux_kernel_oplocks:
1309 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1310 elif t == "smb2.notify-inotify":
1311 if have_inotify:
1312 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1313 elif t == "vfs.acl_xattr":
1314 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1315 elif t == "smb2.compound_find":
1316 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
1317 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1318 elif t == "smb2.compound":
1319 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1320 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1321 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1322 elif t == "smb2.compound_async":
1323 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1324 elif t == "smb2.ea":
1325 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/ea_acl_xattr --option=torture:acl_xattr_name=hackme -U$USERNAME%$PASSWORD')
1326 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
1327 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1328 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1329 elif t == "smb2.streams":
1330 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1331 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1332 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
1333 elif t == "smb2.aio_delay":
1334 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1335 elif t == "smb2.delete-on-close-perms":
1336 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1337 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
1338 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1339 elif t == "smb2.fileid":
1340 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
1341 elif t == "smb2.acls_non_canonical":
1342 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/acls_non_canonical -U$USERNAME%$PASSWORD')
1343 elif t == "smb2.async_dosmode":
1344 plansmbtorture4testsuite("smb2.async_dosmode",
1345 "simpleserver",
1346 "//$SERVER_IP/async_dosmode_shadow_copy2 -U$USERNAME%$PASSWORD")
1347 elif t == "smb2.rename":
1348 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1349 elif t == "smb2.twrp":
1350 # This is being driven by samba3.blackbox.shadow_copy_torture
1351 pass
1352 elif t == "smb2.create_no_streams":
1353 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD')
1354 elif t == "rpc.wkssvc":
1355 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1356 elif t == "rpc.srvsvc":
1357 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1358 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1359 elif t == "rpc.samba3.lsa_over_netlogon":
1360 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1361 elif t == "rpc.samba3.pipes_supported_interfaces":
1362 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1363 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1364 elif t == "rpc.spoolss.notify":
1365 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
1366 elif (t in base and t != "base.charset") \
1367 or (t in rap and t != "rap.printing") \
1368 or (t in unix) \
1369 or (t in ["rpc.authcontext",
1370 "rpc.join",
1371 "rpc.samba3.bind",
1372 "rpc.samba3.getusername",
1373 "rpc.samba3.sharesec",
1374 "rpc.samba3.smb1-pipe-name",
1375 "rpc.samba3.smb-reauth1",
1376 "rpc.samba3.smb-reauth2",
1377 "rpc.samba3.spoolss",
1378 "rpc.samba3.wkssvc",]) \
1379 or (t in ["raw.close",
1380 "raw.composite",
1381 "raw.eas",
1382 "raw.mkdir",
1383 "raw.open",
1384 "raw.rename",
1385 "raw.samba3badnameblob",
1386 "raw.samba3badpath",
1387 "raw.samba3caseinsensitive",
1388 "raw.samba3oplocklogoff",
1389 "raw.samba3posixtimedlock",
1390 "raw.samba3rootdirfid",
1391 "raw.samba3rootdirfid2",
1392 "raw.seek",
1393 "raw.sfileinfo.bug",
1394 "raw.sfileinfo.end-of-file",
1395 "raw.sfileinfo.rename",
1396 "raw.streams",
1397 "raw.unlink",
1398 "raw.write",]) :
1399 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1400 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1401 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
1402 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1403 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1404 elif t == "rpc.samr.passwords.validate":
1405 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1406 elif t == "rpc.samr.users.privileges":
1407 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
1408 elif t == "rpc.samr" or t.startswith("rpc.samr."):
1409 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1410 else:
1411 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1412 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1414 plantestsuite(
1415 "idmap_ad.ticket_expiry",
1416 "ad_member_idmap_ad:local",
1417 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1418 '$DOMAIN'])
1420 plansmbtorture4testsuite(
1421 "notifyd",
1422 "fileserver:local",
1423 '//foo/bar -U%')
1425 plansmbtorture4testsuite(
1426 "smb2.streams",
1427 "simpleserver",
1428 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1430 vfs_io_uring_tests = {
1431 "smb2.connect",
1432 "smb2.credits",
1433 "smb2.rw",
1434 "smb2.bench",
1435 "smb2.ioctl",
1437 for t in vfs_io_uring_tests:
1438 plansmbtorture4testsuite(t, "fileserver",
1439 '//$SERVER_IP/io_uring -U$USERNAME%$PASSWORD',
1440 "vfs_io_uring")
1442 test = 'rpc.lsa.lookupsids'
1443 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
1444 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
1445 endianness_options = ["", ",bigendian"]
1446 for s in signseal_options:
1447 for e in endianness_options:
1448 for a in auth_options:
1449 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1450 options = binding_string + " -U$USERNAME%$PASSWORD"
1451 if "smb1" in a:
1452 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1453 else:
1454 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1455 plantestsuite(
1456 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1457 "nt4_dc:local",
1458 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1459 "none",
1460 options + " -c getusername",
1461 configuration])
1462 plantestsuite(
1463 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1464 "nt4_dc:local",
1465 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1466 "none",
1467 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1468 configuration])
1469 if s != ",connect":
1470 plantestsuite(
1471 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1472 "nt4_dc:local",
1473 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1474 "none",
1475 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
1476 configuration])
1478 # We should try more combinations in future, but this is all
1479 # the pre-calculated credentials cache supports at the moment
1481 # As the ktest env requires SMB3_00 we need to use "smb2" until
1482 # dcerpc client code in smbtorture support autonegotiation
1483 # of any smb dialect.
1484 e = ""
1485 a = "smb2"
1486 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1487 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
1488 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
1490 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
1491 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
1493 auth_options2 = ["krb5", "spnego,krb5"]
1494 for a in auth_options2:
1495 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1497 plantestsuite(
1498 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1499 "ktest:local",
1500 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1501 "$PREFIX/ktest/krb5_ccache-3",
1502 binding_string,
1503 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
1504 configuration])
1506 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
1507 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
1508 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
1509 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
1510 configuration, os.path.join(bindir(), "sharesec"),
1511 os.path.join(bindir(), "net"), "tmp"])
1513 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
1514 [os.path.join(samba3srcdir,
1515 "script/tests/test_close_denied_share.sh"),
1516 configuration,
1517 os.path.join(bindir(), "sharesec"),
1518 os.path.join(bindir(), "smbclient"),
1519 os.path.join(bindir(), "smbcontrol"),
1520 '$SERVER_IP',
1521 "tmp"])
1523 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1524 [os.path.join(samba3srcdir,
1525 "script/tests/test_force_close_share.sh"),
1526 configuration,
1527 os.path.join(bindir(), "smbclient"),
1528 os.path.join(bindir(), "smbcontrol"),
1529 '$SERVER_IP',
1530 "aio_delay_inject",
1531 '$PREFIX/force-close-share'])
1533 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1534 [os.path.join(samba3srcdir,
1535 "script/tests/test_open_eintr.sh"),
1536 configuration,
1537 os.path.join(bindir(), "smbclient"),
1538 os.path.join(bindir(), "smbcontrol"),
1539 '$SERVER_IP',
1540 "error_inject"])
1542 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1543 [os.path.join(samba3srcdir,
1544 "script/tests/test_chdir_cache.sh"),
1545 configuration,
1546 os.path.join(bindir(), "smbclient"),
1547 os.path.join(bindir(), "smbcontrol"),
1548 '$SERVER_IP',
1549 "error_inject",
1550 '$PREFIX',
1551 'simpleserver'])
1553 plantestsuite("samba3.blackbox.rofs_error", "simpleserver",
1554 [os.path.join(samba3srcdir, "script/tests/test_rofs.sh"),
1555 configuration,
1556 os.path.join(bindir(), "smbclient"),
1557 '$SERVER_IP',
1558 "error_inject"])
1560 plantestsuite("samba3.blackbox.zero_readsize",
1561 "simpleserver:local",
1562 [os.path.join(samba3srcdir,
1563 "script/tests/test_zero_readsize.sh"),
1564 configuration,
1565 os.path.join(bindir(), "smbclient"),
1566 os.path.join(bindir(), "smbcontrol"),
1567 '$SERVER_IP',
1568 "tmp",
1569 "$PREFIX",
1570 "-mSMB2"])
1572 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1573 [os.path.join(samba3srcdir,
1574 "script/tests/test_netfileenum.sh"),
1575 os.path.join(bindir(), "smbclient"),
1576 os.path.join(bindir(), "rpcclient"),
1577 os.path.join(bindir(), "net"),
1578 '$SERVER_IP',
1579 'tmp'])
1581 plantestsuite("samba3.blackbox.netshareenum_username", "fileserver",
1582 [os.path.join(samba3srcdir,
1583 "script/tests/test_user_in_sharelist.sh"),
1584 os.path.join(bindir(), "rpcclient"),
1585 '$SERVER_IP'])
1587 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1588 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1589 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1590 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1592 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1593 [os.path.join(samba3srcdir,
1594 "script/tests/test_aio_outstanding.sh"),
1595 configuration,
1596 os.path.join(bindir(), "smbclient"),
1597 '$SERVER_IP',
1598 "aio_delay_inject"])
1600 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1601 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
1602 '$SERVER_IP'])
1604 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1605 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1607 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1608 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1609 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1611 plantestsuite("samba3.blackbox.winbind_ignore_domain", "ad_member_idmap_ad:local",
1612 [os.path.join(samba3srcdir, "script/tests/test_winbind_ignore_domains.sh")])
1614 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1615 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1617 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1618 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1619 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1621 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1622 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1623 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1624 configuration])
1626 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1627 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1628 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1629 configuration])
1630 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1631 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1632 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1633 configuration])
1634 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1635 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1636 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1637 "$SMB_CONF_PATH"])
1638 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1639 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1640 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1641 configuration])
1643 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1644 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1645 "$USERNAME", "$PASSWORD", "$SERVER",
1646 os.path.join(bindir(), "rpcclient"), "tmp"])
1648 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1649 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1650 "$USERNAME", "$PASSWORD", "$SERVER",
1651 os.path.join(bindir(), "rpcclient")])
1653 plantestsuite("samba3.blackbox.rpcclient_dfs", "fileserver:local",
1654 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_dfs.sh"),
1655 "$USERNAME", "$PASSWORD", "$SERVER",
1656 os.path.join(bindir(), "rpcclient")])
1658 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1659 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1660 "$USERNAME", "$PASSWORD", "$SERVER",
1661 os.path.join(bindir(), "rpcclient")])
1663 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1664 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1665 "$USERNAME", "$PASSWORD", "$SERVER",
1666 smbclient3])
1668 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1669 [os.path.join(samba3srcdir,
1670 "script/tests/test_smbXsrv_client_dead_rec.sh"),
1671 configuration,
1672 '$SERVER_IP',
1673 "tmp"])
1675 if have_cluster_support:
1676 plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
1677 [os.path.join(samba3srcdir,
1678 "script/tests/test_smbXsrv_client_cross_node.sh"),
1679 configuration,
1680 '$CTDB_SERVER_NAME_NODE0', '$CTDB_SERVER_NAME_NODE1',
1681 "tmp"])
1682 plantestsuite("samba3.blackbox.smbXsrv_client_ctdb_registered_ips", "clusteredmember:local",
1683 [os.path.join(samba3srcdir,
1684 "script/tests/test_smbXsrv_client_ctdb_registered_ips.sh"),
1685 configuration,
1686 '$CTDB_IFACE_IP',
1687 "tmp"])
1688 plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
1689 [os.path.join(samba3srcdir,
1690 "script/tests/test_registry_share.sh"),
1691 "$SERVER", '$DC_USERNAME', "$DC_PASSWORD"])
1693 env = 'fileserver'
1694 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
1695 [os.path.join(samba3srcdir,
1696 "script/tests/test_virus_scanner.sh"),
1697 '$SERVER_IP',
1698 "virusfilter",
1699 '$LOCAL_PATH',
1700 smbclient3])
1702 for env in ['fileserver', 'simpleserver']:
1703 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1704 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1705 "$USERNAME", "$PASSWORD", "$SERVER",
1706 smbclient3, env])
1708 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1709 [os.path.join(samba3srcdir,
1710 "script/tests/test_smbclient_kerberos.sh"),
1711 "alice",
1712 "$REALM",
1713 "Secret007",
1714 "$SERVER",
1715 smbclient3,
1716 env])
1717 for env in ['ad_dc_fips', 'ad_member_fips']:
1718 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1719 [os.path.join(samba3srcdir,
1720 "script/tests/test_smbclient_kerberos.sh"),
1721 "alice",
1722 "$REALM",
1723 "Secret007",
1724 "$SERVER",
1725 smbclient3,
1726 env],
1727 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1728 'OPENSSL_FORCE_FIPS_MODE': '1'})
1730 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1731 [os.path.join(samba3srcdir,
1732 "script/tests/test_rpcclient_netsessenum.sh"),
1733 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1734 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1736 # The ktest environment uses:
1737 # server min protocol = SMB3_00
1738 # client max protocol = SMB3
1739 options_list = ["", "--client-protection=encrypt"]
1740 for options in options_list:
1741 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1742 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1743 "$PREFIX/ktest/krb5_ccache-2",
1744 smbclient3, "$SERVER", options, configuration])
1746 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1747 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1748 "$PREFIX/ktest/krb5_ccache-3",
1749 smbclient3, "$SERVER", options, configuration])
1751 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1752 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1753 "$PREFIX/ktest/krb5_ccache-3",
1754 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1756 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1757 for options in options_list:
1758 env = "nt4_dc"
1759 if "NT1" in options:
1760 env = "nt4_dc_smb1_done"
1761 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1762 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1763 "none",
1764 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1766 for alias in ["foo", "bar"]:
1767 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1768 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1769 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1770 configuration])
1772 for e in endianness_options:
1773 for a in auth_options:
1774 for s in signseal_options:
1775 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1776 options = binding_string + " -U$USERNAME%$PASSWORD"
1777 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1779 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1780 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1782 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1783 plantestsuite("samba3.blackbox.guest", env,
1784 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1785 '$SERVER', smbclient3, smbcontrol, net, configuration])
1787 plantestsuite("samba3.blackbox.smbclient-mget",
1788 "fileserver",
1789 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1790 smbclient3,
1791 "$SERVER",
1792 "tmp",
1793 "$USERNAME",
1794 "$PASSWORD",
1795 "valid_users"])
1797 plantestsuite("samba3.blackbox.smbclient-bug15435",
1798 "fileserver",
1799 [os.path.join(samba3srcdir, "script/tests/test_bug15435_widelink_dfs.sh"),
1800 "$SERVER",
1801 "$SERVER_IP",
1802 "$USERNAME",
1803 "$PASSWORD",
1804 smbclient3,
1805 configuration])
1808 if have_cluster_support:
1809 t = "readdir-timestamp"
1810 plantestsuite(
1811 "samba3.smbtorture_s3.plain.%s" % t,
1812 "clusteredmember",
1813 [os.path.join(samba3srcdir,
1814 "script/tests/test_smbtorture_s3.sh"),
1816 '//foo/bar',
1817 '$DOMAIN\\\\$DC_USERNAME',
1818 '$DC_PASSWORD',
1819 smbtorture3,
1821 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1823 plantestsuite(
1824 "samba3.net_machine_account",
1825 "clusteredmember",
1826 [os.path.join(samba3srcdir,
1827 "script/tests/test_net_machine_account.sh"),
1828 "bin/net",
1829 "$SERVERCONFFILE",
1830 "$SERVER_IP"])
1832 plantestsuite(
1833 "samba3.net_lookup_ldap",
1834 "ad_dc:local",
1835 [os.path.join(samba3srcdir,
1836 "script/tests/test_net_lookup.sh"),
1837 '$DC_SERVER',
1838 '$DC_USERNAME',
1839 '$DC_PASSWORD',
1840 "bin/net",
1841 "bin/samba-tool",
1842 '$DNSNAME'])
1844 plantestsuite("samba3.blackbox.force-user-unlink",
1845 "maptoguest:local",
1846 [os.path.join(samba3srcdir,
1847 "script/tests/test_force_user_unlink.sh")])
1849 plansmbtorture4testsuite(
1850 "vfs.fruit_validate_afpinfo", "fileserver",
1851 '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=yes')
1852 plansmbtorture4testsuite(
1853 "vfs.fruit_validate_afpinfo", "fileserver",
1854 '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=no')
1856 def planclusteredmembertestsuite(tname, prefix):
1857 '''Define a clustered test for the clusteredmember environment'''
1859 tshare = 'tmp'
1861 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1862 namearg = 'clustered.%s' % tname
1863 modnamearg = 'samba3.%s' % namearg
1864 extraargs = ''
1866 prefix = os.path.join(prefix, 'clusteredmember')
1867 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1869 unclistarg = '--unclist=%s' % unclist
1870 sharearg = '//$SERVER_IP/%s' % tshare
1872 return selftesthelpers.plansmbtorture4testsuite(
1873 tname,
1874 'clusteredmember',
1875 [extraargs, unclistarg, sharearg, autharg, tname],
1876 target='samba3',
1877 modname=modnamearg)
1880 if have_cluster_support:
1881 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1883 for test in CLUSTERED_TESTS:
1884 planclusteredmembertestsuite(test, "$PREFIX")
1886 CLUSTERED_LOCAL_TESTS = [
1887 "ctdbd-conn1",
1888 "local-dbwrap-ctdb1"
1891 for t in CLUSTERED_LOCAL_TESTS:
1892 plantestsuite(
1893 "samba3.%s" % t,
1894 "clusteredmember:local",
1895 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1897 '//foo/bar',
1898 '""',
1899 '""',
1900 smbtorture3,
1901 "-N 1000 -o 2000"])
1903 planpythontestsuite("fileserver_smb1", "samba.tests.smb3unix")
1904 planpythontestsuite("fileserver", "samba.tests.reparsepoints")
1905 planpythontestsuite("fileserver_smb1", "samba.tests.smb2symlink")
1906 planpythontestsuite("fileserver_smb1", "samba.tests.smb1posix")