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 smbtorture4_options.extend([
38 '--option=torture:sharedelay=100000',
39 '--option=torture:writetimeupdatedelay=500000',
43 def plansmbtorture4testsuite(name, env, options, description=''):
45 modname = "samba3.%s" % (name, )
47 modname = "samba3.%s %s" % (name, description)
49 selftesthelpers.plansmbtorture4testsuite(
50 name, env, options, target='samba3', modname=modname)
52 def compare_versions(version1, version2):
53 for i in range(max(len(version1),len(version2))):
54 v1 = version1[i] if i < len(version1) else 0
55 v2 = version2[i] if i < len(version2) else 0
64 config_h = os.environ["CONFIG_H"]
66 samba4bindir = bindir()
67 config_h = os.path.join(samba4bindir, "default/include/config.h")
69 # check available features
71 f = open(config_h, 'r')
74 config_hash = dict((x[0], ' '.join(x[1:]))
75 for x in map(lambda line: line.strip().split(' ')[1:],
76 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
80 linux_kernel_version = None
81 if platform.system() == 'Linux':
82 m = re.search(r'(\d+).(\d+).(\d+)', platform.release())
84 linux_kernel_version = [int(m.group(1)), int(m.group(2)), int(m.group(3))]
86 have_linux_kernel_oplocks = False
87 if "HAVE_KERNEL_OPLOCKS_LINUX" in config_hash:
88 if compare_versions(linux_kernel_version, [5,3,1]) >= 0:
89 have_linux_kernel_oplocks = True
91 have_inotify = ("HAVE_INOTIFY" in config_hash)
92 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
93 with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
95 def is_module_enabled(module):
96 if module in config_hash["STRING_SHARED_MODULES"]:
98 if module in config_hash["STRING_STATIC_MODULES"]:
102 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
103 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
105 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
107 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
110 "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
116 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
117 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
118 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
119 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
120 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
121 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
122 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
123 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
124 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
125 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
133 "SMB1-WILD-MANGLE-UNLINK",
134 "SMB1-WILD-MANGLE-RENAME"]
136 for t in fileserver_tests:
137 fileserver_env = "fileserver_smb1"
139 fileserver_env = "fileserver"
140 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"])
141 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"])
143 # this is a negative test to verify that the server rejects
144 # access without encryption
145 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"])
146 if t == "CLI_SPLICE":
147 # We must test this against the SMB1 fallback.
148 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"])
149 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"])
152 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"])
154 if have_linux_kernel_oplocks:
156 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
158 [os.path.join(samba3srcdir,
159 "script/tests/test_smbtorture_s3.sh"),
169 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
171 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"])
172 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"])
175 tests = ["OPLOCK-CANCEL"]
177 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"])
180 tests = ["MANGLE-ILLEGAL"]
182 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"])
184 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
186 if t == "SMB2-BASIC":
189 env = "fileserver_smb1"
191 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"])
192 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"])
194 plantestsuite("samba3.smbtorture_s3.hidenewfiles",
196 [os.path.join(samba3srcdir,
197 "script/tests/test_smbtorture_s3.sh"),
198 'hide-new-files-timeout',
199 '//$SERVER_IP/hidenewfiles',
205 plantestsuite("samba3.smbtorture_s3.hidenewfiles_showdirs",
207 [os.path.join(samba3srcdir,
208 "script/tests/test_smbtorture_s3.sh"),
209 'hide-new-files-timeout-showdirs',
210 '//$SERVER_IP/hidenewfiles',
218 # MSDFS attribute tests.
220 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
222 [os.path.join(samba3srcdir,
223 "script/tests/test_smbtorture_s3.sh"),
225 '//$SERVER_IP/msdfs-share',
232 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
234 [os.path.join(samba3srcdir,
235 "script/tests/test_smbtorture_s3.sh"),
237 '//$SERVER_IP/msdfs-share',
245 # SMB2-DFS-PATHS needs to run against a special share msdfs-pathname-share
246 # This is an empty DFS share with no links, used merely to test
247 # incoming DFS pathnames and how they map to local paths.
249 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-PATHS",
251 [os.path.join(samba3srcdir,
252 "script/tests/test_smbtorture_s3.sh"),
254 '//$SERVER_IP/msdfs-pathname-share',
261 # SMB2-NON-DFS-SHARE needs to run against a special share non-msdfs-pathname-share
262 # This is an empty non-DFS share with no links, used merely to test
263 # incoming DFS pathnames and how they map to local paths. We are testing
264 # what happens if we set the FLAGS2_DFS_PATHNAMES and send DFS paths
265 # on a non-DFS share.
267 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-NON-DFS-SHARE",
269 [os.path.join(samba3srcdir,
270 "script/tests/test_smbtorture_s3.sh"),
271 'SMB2-NON-DFS-SHARE',
272 '//$SERVER_IP/non-msdfs-pathname-share',
279 # SMB2-DFS-SHARE-NON-DFS-PATH needs to run against a special share msdfs-pathname-share
280 # This is an empty DFS share with no links, used merely to test
281 # incoming non-DFS pathnames and how they map to local paths.
283 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-SHARE-NON-DFS-PATH",
285 [os.path.join(samba3srcdir,
286 "script/tests/test_smbtorture_s3.sh"),
287 'SMB2-DFS-SHARE-NON-DFS-PATH',
288 '//$SERVER_IP/msdfs-pathname-share',
295 # SMB1-DFS-PATHS needs to run against a special share msdfs-pathname-share
296 # This is an empty DFS share with no links, used merely to test
297 # incoming DFS pathnames and how they map to local paths.
299 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-PATHS",
301 [os.path.join(samba3srcdir,
302 "script/tests/test_smbtorture_s3.sh"),
304 '//$SERVER_IP/msdfs-pathname-share',
311 # SMB1-DFS-SEARCH-PATHS needs to run against a special share msdfs-pathname-share
312 # This is an empty DFS share with no links, used merely to test
313 # incoming DFS pathnames and how they map to local paths.
315 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-SEARCH-PATHS",
317 [os.path.join(samba3srcdir,
318 "script/tests/test_smbtorture_s3.sh"),
319 'SMB1-DFS-SEARCH-PATHS',
320 '//$SERVER_IP/msdfs-pathname-share',
327 # SMB1-DFS-OPERATIONS needs to run against a special share msdfs-pathname-share
328 # This is an empty DFS share with no links, used merely to test
329 # incoming DFS pathnames and how they map to local paths.
331 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-OPERATIONS",
333 [os.path.join(samba3srcdir,
334 "script/tests/test_smbtorture_s3.sh"),
335 'SMB1-DFS-OPERATIONS',
336 '//$SERVER_IP/msdfs-pathname-share',
343 # SMB2-STREAM-ACL needs to run against a special share - vfs_wo_fruit
345 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-STREAM-ACL",
347 [os.path.join(samba3srcdir,
348 "script/tests/test_smbtorture_s3.sh"),
350 '//$SERVER_IP/vfs_wo_fruit',
358 # SMB2-LIST-DIR-ASYNC needs to run against a special share vfs_aio_pthread_async_dosmode_default1
360 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-LIST-DIR-ASYNC",
362 [os.path.join(samba3srcdir,
363 "script/tests/test_smbtorture_s3.sh"),
364 'SMB2-LIST-DIR-ASYNC',
365 '//$SERVER_IP/vfs_aio_pthread_async_dosmode_default1',
372 # SMB2-DEL-ON-CLOSE-NONEMPTY needs to run against a special fileserver share veto_files_delete
374 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONEMPTY",
376 [os.path.join(samba3srcdir,
377 "script/tests/test_smbtorture_s3.sh"),
378 'SMB2-DEL-ON-CLOSE-NONEMPTY',
379 '//$SERVER_IP/veto_files_delete',
387 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES needs to run against a special fileserver share delete_yes_unwrite
389 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES",
391 [os.path.join(samba3srcdir,
392 "script/tests/test_smbtorture_s3.sh"),
393 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES',
394 '//$SERVER_IP/delete_yes_unwrite',
402 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO needs to run against a special fileserver share delete_no_unwrite
404 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO",
406 [os.path.join(samba3srcdir,
407 "script/tests/test_smbtorture_s3.sh"),
408 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO',
409 '//$SERVER_IP/delete_no_unwrite',
417 "vfs_aio_pthread_async_dosmode_default1",
418 "vfs_aio_pthread_async_dosmode_default2"
421 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"])
422 t = "smb2.compound_find"
423 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
425 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
426 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
427 "POSIX-BLOCKING-LOCK",
429 "POSIX-ACL-SHAREROOT",
434 "POSIX-SYMLINK-PARENT",
435 "POSIX-SYMLINK-CHMOD",
436 "POSIX-DIR-DEFAULT-ACL",
437 "POSIX-SYMLINK-RENAME",
438 "POSIX-SYMLINK-GETPATHINFO",
439 "POSIX-SYMLINK-SETPATHINFO",
442 for t in posix_tests:
443 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"])
444 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"])
453 "LOCAL-STR-MATCH-MSWILD",
454 "LOCAL-STR-MATCH-REGEX-SUB1",
455 "LOCAL-string_to_sid",
456 "LOCAL-sid_to_string",
457 "LOCAL-binary_to_sid",
460 "LOCAL-CONVERT-STRING",
461 "LOCAL-CONV-AUTH-INFO",
462 "LOCAL-IDMAP-TDB-COMMON",
463 "LOCAL-MESSAGING-READ1",
464 "LOCAL-MESSAGING-READ2",
465 "LOCAL-MESSAGING-READ3",
466 "LOCAL-MESSAGING-READ4",
467 "LOCAL-MESSAGING-FDPASS1",
468 "LOCAL-MESSAGING-FDPASS2",
469 "LOCAL-MESSAGING-FDPASS2a",
470 "LOCAL-MESSAGING-FDPASS2b",
471 "LOCAL-MESSAGING-SEND-ALL",
472 "LOCAL-PTHREADPOOL-TEVENT",
473 "LOCAL-CANONICALIZE-PATH",
474 "LOCAL-DBWRAP-WATCH1",
475 "LOCAL-DBWRAP-WATCH2",
476 "LOCAL-DBWRAP-WATCH3",
477 "LOCAL-DBWRAP-WATCH4",
478 "LOCAL-DBWRAP-DO-LOCKED1",
488 "LOCAL-NAMEMAP-CACHE1",
489 "LOCAL-IDMAP-CACHE1",
490 "LOCAL-hex_encode_buf",
491 "LOCAL-remove_duplicate_addrs2"]
493 for t in local_tests:
494 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
496 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
497 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
498 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
499 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
501 "samba.vfstest.full_audit_segfault",
503 [os.path.join(samba3srcdir,
504 "script/tests/full_audit_segfault/run.sh"),
509 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"])
510 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"])
511 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"])
512 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"])
513 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"])
514 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"])
516 plantestsuite("samba3.blackbox.smbclient_usernamemap", "ad_member_idmap_nss:local", [os.path.join(samba3srcdir, "script/tests/test_usernamemap.sh"), '$SERVER', smbclient3])
518 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])
519 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"]:
520 if "NT1" in options or "LANMAN2" in options:
521 env = "nt4_dc_smb1_done"
524 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])
526 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
527 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
529 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
530 smb1_env = smb1_env + "_smb1_done"
531 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])
532 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])
535 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
537 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
538 # don't attempt to run SMB1 tests in nt4_member or ad_member
539 # as these test envs don't support SMB1, use nt4_dc instead
540 environs = ["nt4_member", "ad_member"]
541 if "NT1" in options or "LANMAN2" in options:
542 environs = ["nt4_dc_smb1_done"]
544 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])
545 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])
547 for env in ["nt4_member", "ad_member"]:
548 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])
549 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])
550 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])
551 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])
552 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])
553 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])
556 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
558 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'])
560 for env in ["ad_member:local", "nt4_dc:local"]:
561 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
564 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])
566 for env in ["nt4_member", "ad_member"]:
567 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
570 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
571 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
572 plantestsuite("samba3.wbinfo_name_lookup", env,
573 [os.path.join(srcdir(),
574 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
575 '$DOMAIN', '$REALM', '$DC_USERNAME'])
578 plantestsuite("samba3.wbinfo_user_info_cached", env,
579 [os.path.join(srcdir(),
580 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
581 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
582 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
583 [os.path.join(srcdir(),
584 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
585 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
587 env = "ad_member:local"
588 plantestsuite("samba3.wbinfo_user_info", env,
589 [os.path.join(srcdir(),
590 "nsswitch/tests/test_wbinfo_user_info.sh"),
591 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
593 env = "fl2008r2dc:local"
594 plantestsuite("samba3.wbinfo_user_info", env,
595 [os.path.join(srcdir(),
596 "nsswitch/tests/test_wbinfo_user_info.sh"),
597 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
599 env = "nt4_member:local"
600 plantestsuite("samba3.wbinfo_sids_to_xids", env,
601 [os.path.join(srcdir(),
602 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
604 "samba.wbinfo_lookuprids_cache",
606 [os.path.join(samba3srcdir,
607 "script/tests/test_wbinfo_lookuprids_cache.sh")])
610 t = "WBCLIENT-MULTI-PING"
611 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
612 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
614 for env in ["maptoguest", "simpleserver"]:
615 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"])
618 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"])
619 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])
620 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])
623 env = "nt4_dc_smb1_done"
624 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"])
626 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"])
628 for env in ["nt4_member", "ad_member"]:
629 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"])
630 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"])
632 env = "nt4_dc_smb1_done"
633 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"])
635 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"])
637 for env in ["nt4_member", "ad_member"]:
638 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"])
639 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"])
641 env = "nt4_dc_smb1_done"
643 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"])
645 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"])
647 for env in ["fileserver"]:
648 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"])
649 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"'])
650 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"])
651 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
652 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"])
653 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"])
654 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
655 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
656 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])
657 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
658 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
659 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'])
660 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'])
661 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])
662 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
663 plantestsuite("samba3.blackbox.smbget", env, [os.path.join(samba3srcdir, "script/tests/test_smbget.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', 'smbget_user', '$PASSWORD', '$LOCAL_PATH/smbget', smbget])
664 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
665 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'])
666 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
667 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])
668 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'])
669 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'])
670 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'])
671 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'])
672 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'])
673 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'])
674 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'])
675 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
676 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'])
677 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'])
678 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
679 plantestsuite("samba3.blackbox.force_group_change", env,
680 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
681 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
682 plantestsuite("samba3.blackbox.zero-data", env,
683 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
684 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
685 plantestsuite("samba3.blackbox.timestamps", env,
686 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
687 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
688 plantestsuite("samba3.blackbox.volumeserialnumber", env,
689 [os.path.join(samba3srcdir, "script/tests/test_volume_serial_number.sh"),
690 '$SERVER_IP', '$USERNAME', '$PASSWORD', 'volumeserialnumber', smbclient3])
691 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
692 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
693 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
694 plantestsuite("samba3.blackbox.sacl_get_set", env,
695 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
696 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
697 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
698 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
699 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
700 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
701 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
702 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
703 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
704 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
705 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
706 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
707 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
708 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
709 plantestsuite("samba3.blackbox.test_veto_rmdir", env,
710 [os.path.join(samba3srcdir, "script/tests/test_veto_rmdir.sh"),
711 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
712 plantestsuite("samba3.blackbox.test_dangle_rmdir", env,
713 [os.path.join(samba3srcdir, "script/tests/test_delete_veto_files_only_rmdir.sh"),
714 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
715 plantestsuite("samba3.blackbox.test_list_servers.NT1",
717 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
724 plantestsuite("samba3.blackbox.test_list_servers.SMB2",
726 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
734 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB2", env,
735 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb2.sh"),
736 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
737 '$PREFIX', smbclient3])
739 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1", env + "_smb1_done",
740 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1.sh"),
741 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
742 '$PREFIX', smbclient3])
744 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1.posix", env + "_smb1_done",
745 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1_posix.sh"),
746 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
747 '$PREFIX', smbclient3])
749 plantestsuite("samba3.blackbox.test_symlink_rename.SMB1.posix", env + "_smb1_done",
750 [os.path.join(samba3srcdir, "script/tests/test_symlink_rename_smb1_posix.sh"),
751 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
752 '$PREFIX', smbclient3])
754 plantestsuite("samba3.blackbox.test_veto_files", env,
755 [os.path.join(samba3srcdir, "script/tests/test_veto_files.sh"),
756 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
762 # Test smbclient/tarmode
763 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
764 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
765 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
766 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mNT1"])
767 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
768 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
769 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
770 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mSMB3"])
772 # Test suite for new smbclient/tar with libarchive (GSoC 13)
773 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
774 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
775 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
776 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
777 '-d', 'smbclient_tar.NT1', '-b', smbclient3,
778 '--subunit', '--', configuration, '-mNT1'])
779 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
780 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
781 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
782 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
783 '-d', 'smbclient_tar.SMB3', '-b', smbclient3,
784 '--subunit', '--', configuration, '-mSMB3'])
785 plantestsuite("samba3.blackbox.fifo", env,
786 [os.path.join(samba3srcdir, "script/tests/test_fifo.sh"),
787 '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
788 plantestsuite("samba3.blackbox.test_full_audit_success_badname", env,
789 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
790 '$SERVER', 'full_audit_success_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
791 plantestsuite("samba3.blackbox.test_full_audit_fail_badname", env,
792 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
793 '$SERVER', 'full_audit_fail_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
794 plantestsuite("samba3.blackbox.fruit.resource_stream", env,
795 [os.path.join(samba3srcdir, "script/tests/test_fruit_resource_stream.sh"),
796 '$SERVER', 'fruit_resource_stream', '$USERNAME', '$PASSWORD',
797 '$LOCAL_PATH/fruit_resource_stream', smbclient3])
799 for env in ["fileserver:local"]:
800 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
802 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"])
803 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
805 plantestsuite("samba3.blackbox.server_addresses",
807 [os.path.join(samba3srcdir,
808 "script/tests/test_server_addresses.sh")])
810 # TODO encrypted against member, with member creds, and with DC creds
811 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
812 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
813 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
814 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
815 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
816 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
817 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
818 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
819 scriptdir, "$SMB_CONF_PATH", net, configuration])
820 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
821 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
822 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
823 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
824 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
825 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
827 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
828 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
829 scriptdir, "$SMB_CONF_PATH", net, configuration])
830 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
831 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
832 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
834 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
835 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
836 scriptdir, "$SMB_CONF_PATH", net, configuration])
837 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
838 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
839 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
842 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
843 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
847 "samba3.pthreadpool", "none",
848 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
850 if with_pthreadpool and have_ldwrap:
851 plantestsuite("samba3.pthreadpool_cmocka", "none",
852 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
855 plantestsuite("samba3.libwbclient_threads",
857 [os.path.join(samba3srcdir,
858 "script/tests/test_libwbclient_threads.sh"),
859 "$DOMAIN", "$DC_USERNAME"])
861 plantestsuite("samba3.test_nfs4_acl", "none",
862 [os.path.join(bindir(), "test_nfs4_acls"),
865 plantestsuite("samba3.test_vfs_full_audit", "none",
866 [os.path.join(bindir(), "test_vfs_full_audit"),
869 plantestsuite("samba3.test_vfs_posixacl", "none",
870 [os.path.join(bindir(), "test_vfs_posixacl"),
873 if is_module_enabled("vfs_gpfs"):
874 plantestsuite("samba3.test_vfs_gpfs", "none",
875 [os.path.join(bindir(), "test_vfs_gpfs")])
878 "samba3.resolvconf", "none",
879 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
881 plantestsuite("samba3.tevent_glib_glue", "none",
882 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
884 plantestsuite("samba3.async_req", "nt4_dc",
885 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
889 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
890 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
891 "base.disconnect", "base.fdpass", "base.lock",
892 "base.mangle", "base.negnowait", "base.ntdeny1",
893 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
894 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
895 "base.xcopy", "base.samba3error"]
897 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
898 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
899 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
900 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
901 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
902 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
903 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
904 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
905 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
907 smb2 = smbtorture4_testsuites("smb2.")
909 rpc = ["rpc.authcontext",
912 "rpc.samba3.sharesec",
913 "rpc.samba3.spoolss",
916 "rpc.samba3.getaliasmembership-0",
917 "rpc.samba3.netlogon",
918 "rpc.samba3.sessionkey",
919 "rpc.samba3.getusername",
920 "rpc.samba3.smb1-pipe-name",
921 "rpc.samba3.smb2-pipe-name",
922 "rpc.samba3.smb-reauth1",
923 "rpc.samba3.smb-reauth2",
924 "rpc.samba3.lsa_over_netlogon",
925 "rpc.samba3.pipes_supported_interfaces",
930 "rpc.spoolss.printserver",
932 "rpc.spoolss.notify",
933 "rpc.spoolss.printer",
934 "rpc.spoolss.driver",
937 "rpc.lsa.lookupsids",
938 "rpc.lsa.lookupnames",
939 "rpc.lsa.privileges",
944 "rpc.samr.users.privileges",
945 "rpc.samr.passwords.default",
946 "rpc.samr.passwords.pwdlastset",
947 "rpc.samr.passwords.lockout",
948 "rpc.samr.passwords.badpwdcount",
950 "rpc.samr.machine.auth",
952 "rpc.samr.passwords.validate",
953 "rpc.samr.handletype",
954 "rpc.netlogon.admin",
955 "rpc.netlogon.zerologon",
958 "rpc.bench-schannel1",
959 "rpc.schannel_anon_setpw",
966 local = ["local.nss"]
968 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
970 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
972 unix = ["unix.info2", "unix.whoami"]
979 "vfs.fruit_netatalk",
981 "vfs.fruit_timemachine",
982 "vfs.fruit_conversion",
986 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
989 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
990 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
991 elif t == "base.createx_access":
992 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
994 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
995 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
996 elif t == "winbind.pac":
997 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
998 elif t == "unix.whoami":
999 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
1000 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
1001 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1002 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
1003 for env in ["nt4_dc_smb1", "nt4_member"]:
1004 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1005 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
1006 for env in ["ad_dc_smb1", "ad_member"]:
1007 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
1008 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
1009 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
1010 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
1011 elif t == "raw.samba3posixtimedlock":
1012 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
1013 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1014 description="brl_delay_inject1")
1015 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1016 description="brl_delay_inject2")
1017 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
1018 elif t == "smb2.samba3misc":
1019 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1020 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1021 description="brl_delay_inject1")
1022 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1023 description="brl_delay_inject2")
1024 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
1025 elif t == "raw.chkpath":
1026 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1027 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1028 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
1029 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1030 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1031 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1032 elif t == "raw.session":
1033 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1034 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1035 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
1036 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
1037 elif t == "smb2.session":
1038 alice_creds = "--option='torture:user2name=alice' --option='torture:user2password=Secret007'"
1039 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1040 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1041 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD ' + alice_creds, 'ntlm')
1042 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD ' + alice_creds, 'krb5')
1043 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
1044 # ad_member_idmap_rid sets "create krb5.conf = no"
1045 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
1046 elif t == "rpc.lsa":
1047 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
1048 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1049 elif t.startswith("rpc.lsa."):
1050 # This avoids the rpc.lsa.* tests runing under ncacn_ip_tcp:
1051 # (there is rpc.lsa.secrets fails due to OpenPolicy2 for example)
1052 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1053 elif t == "rpc.mdssvc":
1054 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1055 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
1056 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1057 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1058 elif t == "base.rw1":
1059 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1060 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
1061 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
1062 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1063 elif t == "idmap.rfc2307":
1064 plantestsuite(t, "ad_member_rfc2307",
1065 [os.path.join(samba3srcdir,
1066 "../nsswitch/tests/test_idmap_rfc2307.sh"),
1068 'Administrator', '2000000',
1070 '"Domain Users"', '2000002',
1071 'DnsAdmins', '2000003',
1073 'ou=idmap,dc=samba,dc=example,dc=com',
1074 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
1075 elif t == "idmap.alloc":
1076 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
1077 elif t == "idmap.rid":
1078 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
1080 "admem_idmap_autorid",
1081 [os.path.join(samba3srcdir,
1082 "../nsswitch/tests/test_idmap_rid.sh"),
1085 elif t == "idmap.ad":
1086 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'])
1087 elif t == "raw.acls":
1088 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1089 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
1090 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
1091 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
1092 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
1093 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
1094 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
1095 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
1096 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1097 elif t == "smb2.ioctl":
1098 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
1099 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1100 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1101 elif t == "smb2.ioctl-on-stream":
1102 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1103 elif t == "smb2.lock":
1104 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1105 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1106 elif t == "raw.lock" or t == "base.lock":
1107 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1108 elif t == "raw.read":
1109 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1110 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1111 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1112 elif t == "raw.search":
1113 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1114 # test the dirsort module.
1115 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
1116 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1117 elif t == "vfs.fruit":
1118 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')
1119 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')
1120 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')
1121 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')
1122 elif t == "vfs.fruit_netatalk":
1123 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1124 elif t == "vfs.fruit_timemachine":
1125 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1126 elif t == "vfs.fruit_file_id":
1127 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
1128 elif t == "vfs.fruit_conversion":
1129 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')
1130 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')
1131 elif t == "vfs.unfruit":
1132 creds = '-U$USERNAME%$PASSWORD'
1133 share2 = '--option=torture:share2=tmp'
1134 netopt = '--option=torture:net=%s' % net
1135 shareopt = '--option=torture:sharename'
1137 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
1138 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')
1139 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')
1140 elif t == "rpc.schannel_anon_setpw":
1141 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
1142 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
1143 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
1144 elif t == "local.nss":
1145 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
1146 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1147 elif t == "smb2.change_notify_disabled":
1148 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1149 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
1151 if t == "raw.notify" or t == "raw.oplock":
1152 tmp_env = "nt4_dc_smb1"
1153 # These tests are a little slower so don't duplicate them with ad_dc
1154 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --client-protection=sign')
1155 elif t == "smb2.dosmode":
1156 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
1157 elif t == "smb2.kernel-oplocks":
1158 if have_linux_kernel_oplocks:
1159 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1160 elif t == "smb2.notify-inotify":
1162 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1163 elif t == "vfs.acl_xattr":
1164 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1165 elif t == "smb2.compound_find":
1166 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
1167 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1168 elif t == "smb2.compound":
1169 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1170 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1171 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1172 elif t == "smb2.ea":
1173 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/ea_acl_xattr --option=torture:acl_xattr_name=hackme -U$USERNAME%$PASSWORD')
1174 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
1175 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1176 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1177 elif t == "smb2.streams":
1178 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1179 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1180 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
1181 elif t == "smb2.aio_delay":
1182 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1183 elif t == "smb2.delete-on-close-perms":
1184 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1185 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
1186 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1187 elif t == "smb2.fileid":
1188 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
1189 elif t == "smb2.acls_non_canonical":
1190 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/acls_non_canonical -U$USERNAME%$PASSWORD')
1191 elif t == "smb2.async_dosmode":
1192 plansmbtorture4testsuite("smb2.async_dosmode",
1194 "//$SERVER_IP/async_dosmode_shadow_copy2 -U$USERNAME%$PASSWORD")
1195 elif t == "smb2.rename":
1196 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1197 elif t == "smb2.twrp":
1198 # This is being driven by samba3.blackbox.shadow_copy_torture
1200 elif t == "smb2.create_no_streams":
1201 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD')
1202 elif t == "rpc.wkssvc":
1203 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1204 elif t == "rpc.srvsvc":
1205 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1206 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1207 elif t == "rpc.samba3.lsa_over_netlogon":
1208 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1209 elif t == "rpc.samba3.pipes_supported_interfaces":
1210 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1211 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1212 elif t == "rpc.spoolss.notify":
1213 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
1214 elif (t in base and t != "base.charset") \
1215 or (t in rap and t != "rap.printing") \
1217 or (t in ["rpc.authcontext",
1220 "rpc.samba3.getusername",
1221 "rpc.samba3.sharesec",
1222 "rpc.samba3.smb1-pipe-name",
1223 "rpc.samba3.smb-reauth1",
1224 "rpc.samba3.smb-reauth2",
1225 "rpc.samba3.spoolss",
1226 "rpc.samba3.wkssvc",]) \
1227 or (t in ["raw.close",
1233 "raw.samba3badnameblob",
1234 "raw.samba3badpath",
1235 "raw.samba3caseinsensitive",
1236 "raw.samba3oplocklogoff",
1237 "raw.samba3posixtimedlock",
1238 "raw.samba3rootdirfid",
1239 "raw.samba3rootdirfid2",
1241 "raw.sfileinfo.bug",
1242 "raw.sfileinfo.end-of-file",
1243 "raw.sfileinfo.rename",
1247 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1248 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1249 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
1250 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1251 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1252 elif t == "rpc.samr.passwords.validate":
1253 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1254 elif t == "rpc.samr.users.privileges":
1255 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
1256 elif t == "rpc.samr" or t.startswith("rpc.samr."):
1257 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1259 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1260 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1263 "idmap_ad.ticket_expiry",
1264 "ad_member_idmap_ad:local",
1265 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1268 plansmbtorture4testsuite(
1273 plansmbtorture4testsuite(
1276 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1278 test = 'rpc.lsa.lookupsids'
1279 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
1280 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
1281 endianness_options = ["", ",bigendian"]
1282 for s in signseal_options:
1283 for e in endianness_options:
1284 for a in auth_options:
1285 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1286 options = binding_string + " -U$USERNAME%$PASSWORD"
1288 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1290 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1292 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1294 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1296 options + " -c getusername",
1299 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1301 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1303 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1307 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1309 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1311 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
1314 # We should try more combinations in future, but this is all
1315 # the pre-calculated credentials cache supports at the moment
1317 # As the ktest env requires SMB3_00 we need to use "smb2" until
1318 # dcerpc client code in smbtorture support autonegotiation
1319 # of any smb dialect.
1322 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1323 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
1324 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
1326 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
1327 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
1329 auth_options2 = ["krb5", "spnego,krb5"]
1330 for a in auth_options2:
1331 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1334 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1336 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1337 "$PREFIX/ktest/krb5_ccache-3",
1339 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
1342 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
1343 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
1344 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
1345 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
1346 configuration, os.path.join(bindir(), "sharesec"),
1347 os.path.join(bindir(), "net"), "tmp"])
1349 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
1350 [os.path.join(samba3srcdir,
1351 "script/tests/test_close_denied_share.sh"),
1353 os.path.join(bindir(), "sharesec"),
1354 os.path.join(bindir(), "smbclient"),
1355 os.path.join(bindir(), "smbcontrol"),
1359 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1360 [os.path.join(samba3srcdir,
1361 "script/tests/test_force_close_share.sh"),
1363 os.path.join(bindir(), "smbclient"),
1364 os.path.join(bindir(), "smbcontrol"),
1367 '$PREFIX/force-close-share'])
1369 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1370 [os.path.join(samba3srcdir,
1371 "script/tests/test_open_eintr.sh"),
1373 os.path.join(bindir(), "smbclient"),
1374 os.path.join(bindir(), "smbcontrol"),
1378 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1379 [os.path.join(samba3srcdir,
1380 "script/tests/test_chdir_cache.sh"),
1382 os.path.join(bindir(), "smbclient"),
1383 os.path.join(bindir(), "smbcontrol"),
1387 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1388 [os.path.join(samba3srcdir,
1389 "script/tests/test_netfileenum.sh"),
1390 os.path.join(bindir(), "smbclient"),
1391 os.path.join(bindir(), "rpcclient"),
1392 os.path.join(bindir(), "net"),
1396 plantestsuite("samba3.blackbox.netshareenum_username", "fileserver",
1397 [os.path.join(samba3srcdir,
1398 "script/tests/test_user_in_sharelist.sh"),
1399 os.path.join(bindir(), "rpcclient"),
1402 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1403 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1404 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1405 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1407 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1408 [os.path.join(samba3srcdir,
1409 "script/tests/test_aio_outstanding.sh"),
1411 os.path.join(bindir(), "smbclient"),
1413 "aio_delay_inject"])
1415 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1416 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
1419 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1420 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1422 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1423 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1424 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1426 plantestsuite("samba3.blackbox.winbind_ignore_domain", "ad_member_idmap_ad:local",
1427 [os.path.join(samba3srcdir, "script/tests/test_winbind_ignore_domains.sh")])
1429 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1430 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1432 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1433 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1434 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1436 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1437 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1438 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1441 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1442 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1443 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1445 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1446 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1447 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1449 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1450 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1451 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1453 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1454 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1455 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1458 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1459 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1460 "$USERNAME", "$PASSWORD", "$SERVER",
1461 os.path.join(bindir(), "rpcclient"), "tmp"])
1463 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1464 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1465 "$USERNAME", "$PASSWORD", "$SERVER",
1466 os.path.join(bindir(), "rpcclient")])
1468 plantestsuite("samba3.blackbox.rpcclient_dfs", "fileserver:local",
1469 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_dfs.sh"),
1470 "$USERNAME", "$PASSWORD", "$SERVER",
1471 os.path.join(bindir(), "rpcclient")])
1473 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1474 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1475 "$USERNAME", "$PASSWORD", "$SERVER",
1476 os.path.join(bindir(), "rpcclient")])
1478 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1479 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1480 "$USERNAME", "$PASSWORD", "$SERVER",
1483 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1484 [os.path.join(samba3srcdir,
1485 "script/tests/test_smbXsrv_client_dead_rec.sh"),
1490 plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
1491 [os.path.join(samba3srcdir,
1492 "script/tests/test_smbXsrv_client_cross_node.sh"),
1498 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
1499 [os.path.join(samba3srcdir,
1500 "script/tests/test_virus_scanner.sh"),
1506 for env in ['fileserver', 'simpleserver']:
1507 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1508 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1509 "$USERNAME", "$PASSWORD", "$SERVER",
1512 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1513 [os.path.join(samba3srcdir,
1514 "script/tests/test_smbclient_kerberos.sh"),
1521 for env in ['ad_dc_fips', 'ad_member_fips']:
1522 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1523 [os.path.join(samba3srcdir,
1524 "script/tests/test_smbclient_kerberos.sh"),
1531 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1532 'OPENSSL_FORCE_FIPS_MODE': '1'})
1534 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1535 [os.path.join(samba3srcdir,
1536 "script/tests/test_rpcclient_netsessenum.sh"),
1537 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1538 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1540 # The ktest environment uses:
1541 # server min protocol = SMB3_00
1542 # client max protocol = SMB3
1543 options_list = ["", "--client-protection=encrypt"]
1544 for options in options_list:
1545 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1546 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1547 "$PREFIX/ktest/krb5_ccache-2",
1548 smbclient3, "$SERVER", options, configuration])
1550 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1551 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1552 "$PREFIX/ktest/krb5_ccache-3",
1553 smbclient3, "$SERVER", options, configuration])
1555 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1556 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1557 "$PREFIX/ktest/krb5_ccache-3",
1558 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1560 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1561 for options in options_list:
1563 if "NT1" in options:
1564 env = "nt4_dc_smb1_done"
1565 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1566 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1568 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1570 for alias in ["foo", "bar"]:
1571 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1572 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1573 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1576 for e in endianness_options:
1577 for a in auth_options:
1578 for s in signseal_options:
1579 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1580 options = binding_string + " -U$USERNAME%$PASSWORD"
1581 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1583 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1584 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1586 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1587 plantestsuite("samba3.blackbox.guest", env,
1588 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1589 '$SERVER', smbclient3, smbcontrol, net, configuration])
1591 plantestsuite("samba3.blackbox.smbclient-mget",
1593 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1601 t = "readdir-timestamp"
1603 "samba3.smbtorture_s3.plain.%s" % t,
1605 [os.path.join(samba3srcdir,
1606 "script/tests/test_smbtorture_s3.sh"),
1609 '$DOMAIN\\\\$DC_USERNAME',
1613 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1616 "samba3.net_machine_account",
1618 [os.path.join(samba3srcdir,
1619 "script/tests/test_net_machine_account.sh"),
1625 "samba3.net_lookup_ldap",
1627 [os.path.join(samba3srcdir,
1628 "script/tests/test_net_lookup.sh"),
1636 plantestsuite("samba3.blackbox.force-user-unlink",
1638 [os.path.join(samba3srcdir,
1639 "script/tests/test_force_user_unlink.sh")])
1641 def planclusteredmembertestsuite(tname, prefix):
1642 '''Define a clustered test for the clusteredmember environment'''
1646 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1647 namearg = 'clustered.%s' % tname
1648 modnamearg = 'samba3.%s' % namearg
1651 prefix = os.path.join(prefix, 'clusteredmember')
1652 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1654 unclistarg = '--unclist=%s' % unclist
1655 sharearg = '//$SERVER_IP/%s' % tshare
1657 return selftesthelpers.plansmbtorture4testsuite(
1660 [extraargs, unclistarg, sharearg, autharg, tname],
1665 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1667 for test in CLUSTERED_TESTS:
1668 planclusteredmembertestsuite(test, "$PREFIX")
1670 CLUSTERED_LOCAL_TESTS = [
1672 "local-dbwrap-ctdb1"
1675 for t in CLUSTERED_LOCAL_TESTS:
1678 "clusteredmember:local",
1679 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1687 planpythontestsuite("fileserver", "samba.tests.smb3unix")