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
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):
46 modname = "samba3.%s" % (name, )
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
65 config_h = os.environ["CONFIG_H"]
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
74 f = open(config_h, 'r')
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)))
83 linux_kernel_version = None
84 if platform.system() == 'Linux':
85 m = re.search(r'(\d+).(\d+).(\d+)', platform.release())
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"]:
103 if module in config_hash["STRING_STATIC_MODULES"]:
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])
115 "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
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",
138 "SMB1-WILD-MANGLE-UNLINK",
139 "SMB1-WILD-MANGLE-RENAME"]
141 for t in fileserver_tests:
142 fileserver_env = "fileserver_smb1"
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"])
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"])
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:
161 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
163 [os.path.join(samba3srcdir,
164 "script/tests/test_smbtorture_s3.sh"),
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"])
180 tests = ["OPLOCK-CANCEL"]
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"])
185 tests = ["MANGLE-ILLEGAL"]
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"]
191 if t == "SMB2-BASIC":
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",
201 [os.path.join(samba3srcdir,
202 "script/tests/test_smbtorture_s3.sh"),
203 'hide-new-files-timeout',
204 '//$SERVER_IP/hidenewfiles',
210 plantestsuite("samba3.smbtorture_s3.hidenewfiles_showdirs",
212 [os.path.join(samba3srcdir,
213 "script/tests/test_smbtorture_s3.sh"),
214 'hide-new-files-timeout-showdirs',
215 '//$SERVER_IP/hidenewfiles',
222 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-TRUNCATED-SESSSETUP",
224 [os.path.join(samba3srcdir,
225 "script/tests/test_smbtorture_s3.sh"),
226 'SMB1-TRUNCATED-SESSSETUP',
233 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-NEGOTIATE-EXIT",
235 [os.path.join(samba3srcdir,
236 "script/tests/test_smbtorture_s3.sh"),
237 'SMB1-NEGOTIATE-EXIT',
244 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-NEGOTIATE-TCON",
246 [os.path.join(samba3srcdir,
247 "script/tests/test_smbtorture_s3.sh"),
248 'SMB1-NEGOTIATE-TCON',
256 # MSDFS attribute tests.
258 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
260 [os.path.join(samba3srcdir,
261 "script/tests/test_smbtorture_s3.sh"),
263 '//$SERVER_IP/msdfs-share',
270 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
272 [os.path.join(samba3srcdir,
273 "script/tests/test_smbtorture_s3.sh"),
275 '//$SERVER_IP/msdfs-share',
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",
289 [os.path.join(samba3srcdir,
290 "script/tests/test_smbtorture_s3.sh"),
292 '//$SERVER_IP/msdfs-pathname-share',
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",
303 [os.path.join(samba3srcdir,
304 "script/tests/test_smbtorture_s3.sh"),
305 'SMB2-DFS-FILENAME-LEADING-BACKSLASH',
306 '//$SERVER_IP/msdfs-pathname-share',
312 # BUG: https://bugzilla.samba.org/show_bug.cgi?id=15422
313 # Prevent bad pipenames.
315 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-INVALID-PIPENAME",
317 [os.path.join(samba3srcdir,
318 "script/tests/test_smbtorture_s3.sh"),
319 'SMB2-INVALID-PIPENAME',
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",
335 [os.path.join(samba3srcdir,
336 "script/tests/test_smbtorture_s3.sh"),
337 'SMB2-NON-DFS-SHARE',
338 '//$SERVER_IP/non-msdfs-pathname-share',
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",
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',
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",
367 [os.path.join(samba3srcdir,
368 "script/tests/test_smbtorture_s3.sh"),
370 '//$SERVER_IP/msdfs-pathname-share',
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",
383 [os.path.join(samba3srcdir,
384 "script/tests/test_smbtorture_s3.sh"),
385 'SMB1-DFS-SEARCH-PATHS',
386 '//$SERVER_IP/msdfs-pathname-share',
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",
399 [os.path.join(samba3srcdir,
400 "script/tests/test_smbtorture_s3.sh"),
401 'SMB1-DFS-OPERATIONS',
402 '//$SERVER_IP/msdfs-pathname-share',
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",
413 [os.path.join(samba3srcdir,
414 "script/tests/test_smbtorture_s3.sh"),
416 '//$SERVER_IP/msdfs-pathname-share',
423 # SMB2-STREAM-ACL needs to run against a special share - vfs_wo_fruit
425 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-STREAM-ACL",
427 [os.path.join(samba3srcdir,
428 "script/tests/test_smbtorture_s3.sh"),
430 '//$SERVER_IP/vfs_wo_fruit',
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",
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',
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",
456 [os.path.join(samba3srcdir,
457 "script/tests/test_smbtorture_s3.sh"),
458 'SMB2-DEL-ON-CLOSE-NONEMPTY',
459 '//$SERVER_IP/veto_files_delete',
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",
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',
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",
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',
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",
502 [os.path.join(samba3srcdir,
503 "script/tests/test_smbtorture_nocrash_s3.sh"),
504 'SMB2-PIPE-READ-ASYNC-DISCONNECT',
513 "vfs_aio_pthread_async_dosmode_default1",
514 "vfs_aio_pthread_async_dosmode_default2"
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",
525 "POSIX-ACL-SHAREROOT",
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"])
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",
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",
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])
598 "samba.vfstest.full_audit_segfault",
600 [os.path.join(samba3srcdir,
601 "script/tests/full_audit_segfault/run.sh"),
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"
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])
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"]
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])
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'])
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'])
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'])
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")])
711 "samba.wbinfo_lookuprids_cache",
713 [os.path.join(samba3srcdir,
714 "script/tests/test_wbinfo_lookuprids_cache.sh")])
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"])
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])
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"])
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"])
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"
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"])
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",
823 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
830 plantestsuite("samba3.blackbox.test_list_servers.SMB2",
832 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
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])
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'])
925 plantestsuite("samba3.blackbox.smbget",
928 os.path.join(samba3srcdir, "script/tests/test_smbget.sh"),
936 '$DOMAIN_USER_PASSWORD',
937 '$LOCAL_PATH/smbget',
941 plantestsuite("samba3.blackbox.server_addresses",
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"),
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")])
991 plantestsuite("samba3.libwbclient_threads",
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"),
1005 plantestsuite("samba3.test_vfs_full_audit", "none",
1006 [os.path.join(bindir(), "test_vfs_full_audit"),
1009 plantestsuite("samba3.test_vfs_posixacl", "none",
1010 [os.path.join(bindir(), "test_vfs_posixacl"),
1013 if is_module_enabled("vfs_gpfs"):
1014 plantestsuite("samba3.test_vfs_gpfs", "none",
1015 [os.path.join(bindir(), "test_vfs_gpfs")])
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")])
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",
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",
1071 "rpc.spoolss.printserver",
1073 "rpc.spoolss.notify",
1074 "rpc.spoolss.printer",
1075 "rpc.spoolss.driver",
1078 "rpc.lsa.lookupsids",
1079 "rpc.lsa.lookupnames",
1080 "rpc.lsa.privileges",
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",
1093 "rpc.samr.passwords.validate",
1094 "rpc.samr.handletype",
1095 "rpc.netlogon.admin",
1096 "rpc.netlogon.zerologon",
1099 "rpc.bench-schannel1",
1100 "rpc.schannel_anon_setpw",
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"]
1120 "vfs.fruit_netatalk",
1121 "vfs.fruit_file_id",
1122 "vfs.fruit_timemachine",
1123 "vfs.fruit_conversion",
1127 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
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"),
1211 'Administrator', '2000000',
1213 '"Domain Users"', '2000002',
1214 'DnsAdmins', '2000003',
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'])
1225 "admem_idmap_autorid",
1226 [os.path.join(samba3srcdir,
1227 "../nsswitch/tests/test_idmap_rid.sh"),
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,
1293 '//$SERVER/tmp -U$USERNAME%$PASSWORD',
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":
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":
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",
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
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") \
1369 or (t in ["rpc.authcontext",
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",
1385 "raw.samba3badnameblob",
1386 "raw.samba3badpath",
1387 "raw.samba3caseinsensitive",
1388 "raw.samba3oplocklogoff",
1389 "raw.samba3posixtimedlock",
1390 "raw.samba3rootdirfid",
1391 "raw.samba3rootdirfid2",
1393 "raw.sfileinfo.bug",
1394 "raw.sfileinfo.end-of-file",
1395 "raw.sfileinfo.rename",
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')
1411 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1412 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1415 "idmap_ad.ticket_expiry",
1416 "ad_member_idmap_ad:local",
1417 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1420 plansmbtorture4testsuite(
1425 plansmbtorture4testsuite(
1428 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1430 vfs_io_uring_tests = {
1437 for t in vfs_io_uring_tests:
1438 plansmbtorture4testsuite(t, "fileserver",
1439 '//$SERVER_IP/io_uring -U$USERNAME%$PASSWORD',
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"
1452 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1454 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1456 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1458 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1460 options + " -c getusername",
1463 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1465 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1467 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1471 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1473 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1475 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
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.
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)
1498 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1500 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1501 "$PREFIX/ktest/krb5_ccache-3",
1503 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
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"),
1517 os.path.join(bindir(), "sharesec"),
1518 os.path.join(bindir(), "smbclient"),
1519 os.path.join(bindir(), "smbcontrol"),
1523 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1524 [os.path.join(samba3srcdir,
1525 "script/tests/test_force_close_share.sh"),
1527 os.path.join(bindir(), "smbclient"),
1528 os.path.join(bindir(), "smbcontrol"),
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"),
1537 os.path.join(bindir(), "smbclient"),
1538 os.path.join(bindir(), "smbcontrol"),
1542 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1543 [os.path.join(samba3srcdir,
1544 "script/tests/test_chdir_cache.sh"),
1546 os.path.join(bindir(), "smbclient"),
1547 os.path.join(bindir(), "smbcontrol"),
1553 plantestsuite("samba3.blackbox.rofs_error", "simpleserver",
1554 [os.path.join(samba3srcdir, "script/tests/test_rofs.sh"),
1556 os.path.join(bindir(), "smbclient"),
1560 plantestsuite("samba3.blackbox.zero_readsize",
1561 "simpleserver:local",
1562 [os.path.join(samba3srcdir,
1563 "script/tests/test_zero_readsize.sh"),
1565 os.path.join(bindir(), "smbclient"),
1566 os.path.join(bindir(), "smbcontrol"),
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"),
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"),
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"),
1596 os.path.join(bindir(), "smbclient"),
1598 "aio_delay_inject"])
1600 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1601 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
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",
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",
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",
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",
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",
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",
1668 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1669 [os.path.join(samba3srcdir,
1670 "script/tests/test_smbXsrv_client_dead_rec.sh"),
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"),
1680 '$CTDB_SERVER_NAME_NODE0', '$CTDB_SERVER_NAME_NODE1',
1682 plantestsuite("samba3.blackbox.registry_share", "clusteredmember",
1683 [os.path.join(samba3srcdir,
1684 "script/tests/test_registry_share.sh"),
1685 "$SERVER", '$DC_USERNAME', "$DC_PASSWORD"])
1688 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
1689 [os.path.join(samba3srcdir,
1690 "script/tests/test_virus_scanner.sh"),
1696 for env in ['fileserver', 'simpleserver']:
1697 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1698 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1699 "$USERNAME", "$PASSWORD", "$SERVER",
1702 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1703 [os.path.join(samba3srcdir,
1704 "script/tests/test_smbclient_kerberos.sh"),
1711 for env in ['ad_dc_fips', 'ad_member_fips']:
1712 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1713 [os.path.join(samba3srcdir,
1714 "script/tests/test_smbclient_kerberos.sh"),
1721 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1722 'OPENSSL_FORCE_FIPS_MODE': '1'})
1724 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1725 [os.path.join(samba3srcdir,
1726 "script/tests/test_rpcclient_netsessenum.sh"),
1727 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1728 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1730 # The ktest environment uses:
1731 # server min protocol = SMB3_00
1732 # client max protocol = SMB3
1733 options_list = ["", "--client-protection=encrypt"]
1734 for options in options_list:
1735 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1736 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1737 "$PREFIX/ktest/krb5_ccache-2",
1738 smbclient3, "$SERVER", options, configuration])
1740 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1741 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1742 "$PREFIX/ktest/krb5_ccache-3",
1743 smbclient3, "$SERVER", options, configuration])
1745 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1746 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1747 "$PREFIX/ktest/krb5_ccache-3",
1748 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1750 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1751 for options in options_list:
1753 if "NT1" in options:
1754 env = "nt4_dc_smb1_done"
1755 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1756 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1758 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1760 for alias in ["foo", "bar"]:
1761 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1762 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1763 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1766 for e in endianness_options:
1767 for a in auth_options:
1768 for s in signseal_options:
1769 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1770 options = binding_string + " -U$USERNAME%$PASSWORD"
1771 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1773 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1774 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1776 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1777 plantestsuite("samba3.blackbox.guest", env,
1778 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1779 '$SERVER', smbclient3, smbcontrol, net, configuration])
1781 plantestsuite("samba3.blackbox.smbclient-mget",
1783 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1791 plantestsuite("samba3.blackbox.smbclient-bug15435",
1793 [os.path.join(samba3srcdir, "script/tests/test_bug15435_widelink_dfs.sh"),
1802 if have_cluster_support:
1803 t = "readdir-timestamp"
1805 "samba3.smbtorture_s3.plain.%s" % t,
1807 [os.path.join(samba3srcdir,
1808 "script/tests/test_smbtorture_s3.sh"),
1811 '$DOMAIN\\\\$DC_USERNAME',
1815 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1818 "samba3.net_machine_account",
1820 [os.path.join(samba3srcdir,
1821 "script/tests/test_net_machine_account.sh"),
1827 "samba3.net_lookup_ldap",
1829 [os.path.join(samba3srcdir,
1830 "script/tests/test_net_lookup.sh"),
1838 plantestsuite("samba3.blackbox.force-user-unlink",
1840 [os.path.join(samba3srcdir,
1841 "script/tests/test_force_user_unlink.sh")])
1843 plansmbtorture4testsuite(
1844 "vfs.fruit_validate_afpinfo", "fileserver",
1845 '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=yes')
1846 plansmbtorture4testsuite(
1847 "vfs.fruit_validate_afpinfo", "fileserver",
1848 '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD --option=torture:validate_afpinfo=no')
1850 def planclusteredmembertestsuite(tname, prefix):
1851 '''Define a clustered test for the clusteredmember environment'''
1855 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1856 namearg = 'clustered.%s' % tname
1857 modnamearg = 'samba3.%s' % namearg
1860 prefix = os.path.join(prefix, 'clusteredmember')
1861 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1863 unclistarg = '--unclist=%s' % unclist
1864 sharearg = '//$SERVER_IP/%s' % tshare
1866 return selftesthelpers.plansmbtorture4testsuite(
1869 [extraargs, unclistarg, sharearg, autharg, tname],
1874 if have_cluster_support:
1875 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1877 for test in CLUSTERED_TESTS:
1878 planclusteredmembertestsuite(test, "$PREFIX")
1880 CLUSTERED_LOCAL_TESTS = [
1882 "local-dbwrap-ctdb1"
1885 for t in CLUSTERED_LOCAL_TESTS:
1888 "clusteredmember:local",
1889 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1897 planpythontestsuite("fileserver_smb1", "samba.tests.smb3unix")
1898 planpythontestsuite("fileserver", "samba.tests.reparsepoints")
1899 planpythontestsuite("fileserver_smb1", "samba.tests.smb2symlink")
1900 planpythontestsuite("fileserver_smb1", "samba.tests.smb1posix")