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(fileserver_smb1)",
196 [os.path.join(samba3srcdir,
197 "script/tests/test_smbtorture_s3.sh"),
198 'hide-new-files-timeout',
199 '//$SERVER_IP/hidenewfiles',
207 # MSDFS attribute tests.
209 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
211 [os.path.join(samba3srcdir,
212 "script/tests/test_smbtorture_s3.sh"),
214 '//$SERVER_IP/msdfs-share',
221 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
223 [os.path.join(samba3srcdir,
224 "script/tests/test_smbtorture_s3.sh"),
226 '//$SERVER_IP/msdfs-share',
234 # SMB2-DFS-PATHS needs to run against a special share msdfs-pathname-share
235 # This is an empty DFS share with no links, used merely to test
236 # incoming DFS pathnames and how they map to local paths.
238 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-PATHS",
240 [os.path.join(samba3srcdir,
241 "script/tests/test_smbtorture_s3.sh"),
243 '//$SERVER_IP/msdfs-pathname-share',
250 # SMB2-NON-DFS-SHARE needs to run against a special share non-msdfs-pathname-share
251 # This is an empty non-DFS share with no links, used merely to test
252 # incoming DFS pathnames and how they map to local paths. We are testing
253 # what happens if we set the FLAGS2_DFS_PATHNAMES and send DFS paths
254 # on a non-DFS share.
256 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-NON-DFS-SHARE",
258 [os.path.join(samba3srcdir,
259 "script/tests/test_smbtorture_s3.sh"),
260 'SMB2-NON-DFS-SHARE',
261 '//$SERVER_IP/non-msdfs-pathname-share',
268 # SMB2-DFS-SHARE-NON-DFS-PATH needs to run against a special share msdfs-pathname-share
269 # This is an empty DFS share with no links, used merely to test
270 # incoming non-DFS pathnames and how they map to local paths.
272 plantestsuite("samba3.smbtorture_s3.smb2.SMB2-DFS-SHARE-NON-DFS-PATH",
274 [os.path.join(samba3srcdir,
275 "script/tests/test_smbtorture_s3.sh"),
276 'SMB2-DFS-SHARE-NON-DFS-PATH',
277 '//$SERVER_IP/msdfs-pathname-share',
284 # SMB1-DFS-PATHS needs to run against a special share msdfs-pathname-share
285 # This is an empty DFS share with no links, used merely to test
286 # incoming DFS pathnames and how they map to local paths.
288 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-PATHS",
290 [os.path.join(samba3srcdir,
291 "script/tests/test_smbtorture_s3.sh"),
293 '//$SERVER_IP/msdfs-pathname-share',
300 # SMB1-DFS-SEARCH-PATHS needs to run against a special share msdfs-pathname-share
301 # This is an empty DFS share with no links, used merely to test
302 # incoming DFS pathnames and how they map to local paths.
304 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-SEARCH-PATHS",
306 [os.path.join(samba3srcdir,
307 "script/tests/test_smbtorture_s3.sh"),
308 'SMB1-DFS-SEARCH-PATHS',
309 '//$SERVER_IP/msdfs-pathname-share',
316 # SMB1-DFS-OPERATIONS needs to run against a special share msdfs-pathname-share
317 # This is an empty DFS share with no links, used merely to test
318 # incoming DFS pathnames and how they map to local paths.
320 plantestsuite("samba3.smbtorture_s3.smb1.SMB1-DFS-OPERATIONS",
322 [os.path.join(samba3srcdir,
323 "script/tests/test_smbtorture_s3.sh"),
324 'SMB1-DFS-OPERATIONS',
325 '//$SERVER_IP/msdfs-pathname-share',
332 # SMB2-STREAM-ACL needs to run against a special share - vfs_wo_fruit
334 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-STREAM-ACL",
336 [os.path.join(samba3srcdir,
337 "script/tests/test_smbtorture_s3.sh"),
339 '//$SERVER_IP/vfs_wo_fruit',
347 # SMB2-LIST-DIR-ASYNC needs to run against a special share vfs_aio_pthread_async_dosmode_default1
349 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-LIST-DIR-ASYNC",
351 [os.path.join(samba3srcdir,
352 "script/tests/test_smbtorture_s3.sh"),
353 'SMB2-LIST-DIR-ASYNC',
354 '//$SERVER_IP/vfs_aio_pthread_async_dosmode_default1',
361 # SMB2-DEL-ON-CLOSE-NONEMPTY needs to run against a special fileserver share veto_files_delete
363 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONEMPTY",
365 [os.path.join(samba3srcdir,
366 "script/tests/test_smbtorture_s3.sh"),
367 'SMB2-DEL-ON-CLOSE-NONEMPTY',
368 '//$SERVER_IP/veto_files_delete',
376 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES needs to run against a special fileserver share delete_yes_unwrite
378 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES",
380 [os.path.join(samba3srcdir,
381 "script/tests/test_smbtorture_s3.sh"),
382 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-YES',
383 '//$SERVER_IP/delete_yes_unwrite',
391 # SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO needs to run against a special fileserver share delete_no_unwrite
393 plantestsuite("samba3.smbtorture_s3.plain.%s" % "SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO",
395 [os.path.join(samba3srcdir,
396 "script/tests/test_smbtorture_s3.sh"),
397 'SMB2-DEL-ON-CLOSE-NONWRITE-DELETE-NO',
398 '//$SERVER_IP/delete_no_unwrite',
406 "vfs_aio_pthread_async_dosmode_default1",
407 "vfs_aio_pthread_async_dosmode_default2"
410 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"])
411 t = "smb2.compound_find"
412 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
414 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
415 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
416 "POSIX-BLOCKING-LOCK",
418 "POSIX-ACL-SHAREROOT",
423 "POSIX-SYMLINK-PARENT",
424 "POSIX-SYMLINK-CHMOD",
425 "POSIX-DIR-DEFAULT-ACL",
426 "POSIX-SYMLINK-RENAME",
427 "POSIX-SYMLINK-GETPATHINFO",
428 "POSIX-SYMLINK-SETPATHINFO",
431 for t in posix_tests:
432 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"])
433 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"])
442 "LOCAL-STR-MATCH-MSWILD",
443 "LOCAL-STR-MATCH-REGEX-SUB1",
444 "LOCAL-string_to_sid",
445 "LOCAL-sid_to_string",
446 "LOCAL-binary_to_sid",
449 "LOCAL-CONVERT-STRING",
450 "LOCAL-CONV-AUTH-INFO",
451 "LOCAL-IDMAP-TDB-COMMON",
452 "LOCAL-MESSAGING-READ1",
453 "LOCAL-MESSAGING-READ2",
454 "LOCAL-MESSAGING-READ3",
455 "LOCAL-MESSAGING-READ4",
456 "LOCAL-MESSAGING-FDPASS1",
457 "LOCAL-MESSAGING-FDPASS2",
458 "LOCAL-MESSAGING-FDPASS2a",
459 "LOCAL-MESSAGING-FDPASS2b",
460 "LOCAL-MESSAGING-SEND-ALL",
461 "LOCAL-PTHREADPOOL-TEVENT",
462 "LOCAL-CANONICALIZE-PATH",
463 "LOCAL-DBWRAP-WATCH1",
464 "LOCAL-DBWRAP-WATCH2",
465 "LOCAL-DBWRAP-WATCH3",
466 "LOCAL-DBWRAP-WATCH4",
467 "LOCAL-DBWRAP-DO-LOCKED1",
477 "LOCAL-NAMEMAP-CACHE1",
478 "LOCAL-IDMAP-CACHE1",
479 "LOCAL-hex_encode_buf",
480 "LOCAL-remove_duplicate_addrs2"]
482 for t in local_tests:
483 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
485 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
486 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
487 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
488 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
490 "samba.vfstest.full_audit_segfault",
492 [os.path.join(samba3srcdir,
493 "script/tests/full_audit_segfault/run.sh"),
498 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"])
499 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"])
500 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"])
501 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"])
502 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"])
503 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"])
505 plantestsuite("samba3.blackbox.smbclient_usernamemap", "ad_member_idmap_nss:local", [os.path.join(samba3srcdir, "script/tests/test_usernamemap.sh"), '$SERVER', smbclient3])
507 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])
508 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"]:
509 if "NT1" in options or "LANMAN2" in options:
510 env = "nt4_dc_smb1_done"
513 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])
515 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
516 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
518 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
519 smb1_env = smb1_env + "_smb1_done"
520 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])
521 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])
524 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
526 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
527 # don't attempt to run SMB1 tests in nt4_member or ad_member
528 # as these test envs don't support SMB1, use nt4_dc instead
529 environs = ["nt4_member", "ad_member"]
530 if "NT1" in options or "LANMAN2" in options:
531 environs = ["nt4_dc_smb1_done"]
533 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])
534 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])
536 for env in ["nt4_member", "ad_member"]:
537 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])
538 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])
539 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])
540 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])
541 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])
542 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])
545 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
547 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'])
549 for env in ["ad_member:local", "nt4_dc:local"]:
550 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
553 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])
555 for env in ["nt4_member", "ad_member"]:
556 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
559 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
560 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
561 plantestsuite("samba3.wbinfo_name_lookup", env,
562 [os.path.join(srcdir(),
563 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
564 '$DOMAIN', '$REALM', '$DC_USERNAME'])
567 plantestsuite("samba3.wbinfo_user_info_cached", env,
568 [os.path.join(srcdir(),
569 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
570 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
571 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
572 [os.path.join(srcdir(),
573 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
574 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
576 env = "ad_member:local"
577 plantestsuite("samba3.wbinfo_user_info", env,
578 [os.path.join(srcdir(),
579 "nsswitch/tests/test_wbinfo_user_info.sh"),
580 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
582 env = "fl2008r2dc:local"
583 plantestsuite("samba3.wbinfo_user_info", env,
584 [os.path.join(srcdir(),
585 "nsswitch/tests/test_wbinfo_user_info.sh"),
586 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
588 env = "nt4_member:local"
589 plantestsuite("samba3.wbinfo_sids_to_xids", env,
590 [os.path.join(srcdir(),
591 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
593 "samba.wbinfo_lookuprids_cache",
595 [os.path.join(samba3srcdir,
596 "script/tests/test_wbinfo_lookuprids_cache.sh")])
599 t = "WBCLIENT-MULTI-PING"
600 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
601 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
603 for env in ["maptoguest", "simpleserver"]:
604 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"])
607 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"])
608 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])
609 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])
612 env = "nt4_dc_smb1_done"
613 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"])
615 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"])
617 for env in ["nt4_member", "ad_member"]:
618 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"])
619 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"])
621 env = "nt4_dc_smb1_done"
622 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"])
624 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"])
626 for env in ["nt4_member", "ad_member"]:
627 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"])
628 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"])
630 env = "nt4_dc_smb1_done"
632 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"])
634 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"])
636 for env in ["fileserver"]:
637 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"])
638 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"'])
639 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"])
640 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
641 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"])
642 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"])
643 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
644 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
645 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])
646 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
647 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
648 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'])
649 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'])
650 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])
651 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
652 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])
653 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
654 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'])
655 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
656 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])
657 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'])
658 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'])
659 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'])
660 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'])
661 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'])
662 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'])
663 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'])
664 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
665 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'])
666 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'])
667 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
668 plantestsuite("samba3.blackbox.force_group_change", env,
669 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
670 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
671 plantestsuite("samba3.blackbox.zero-data", env,
672 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
673 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
674 plantestsuite("samba3.blackbox.timestamps", env,
675 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
676 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
677 plantestsuite("samba3.blackbox.volumeserialnumber", env,
678 [os.path.join(samba3srcdir, "script/tests/test_volume_serial_number.sh"),
679 '$SERVER_IP', '$USERNAME', '$PASSWORD', 'volumeserialnumber', smbclient3])
680 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
681 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
682 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
683 plantestsuite("samba3.blackbox.sacl_get_set", env,
684 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
685 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
686 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
687 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
688 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
689 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
690 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
691 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
692 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
693 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
694 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
695 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
696 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
697 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
698 plantestsuite("samba3.blackbox.test_veto_rmdir", env,
699 [os.path.join(samba3srcdir, "script/tests/test_veto_rmdir.sh"),
700 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
701 plantestsuite("samba3.blackbox.test_dangle_rmdir", env,
702 [os.path.join(samba3srcdir, "script/tests/test_delete_veto_files_only_rmdir.sh"),
703 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
704 plantestsuite("samba3.blackbox.test_list_servers.NT1",
706 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
713 plantestsuite("samba3.blackbox.test_list_servers.SMB2",
715 [os.path.join(samba3srcdir, "script/tests/test_smbclient_list_servers.sh"),
723 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB2", env,
724 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb2.sh"),
725 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
726 '$PREFIX', smbclient3])
728 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1", env + "_smb1_done",
729 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1.sh"),
730 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
731 '$PREFIX', smbclient3])
733 plantestsuite("samba3.blackbox.test_symlink_traversal.SMB1.posix", env + "_smb1_done",
734 [os.path.join(samba3srcdir, "script/tests/test_symlink_traversal_smb1_posix.sh"),
735 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
736 '$PREFIX', smbclient3])
738 plantestsuite("samba3.blackbox.test_symlink_rename.SMB1.posix", env + "_smb1_done",
739 [os.path.join(samba3srcdir, "script/tests/test_symlink_rename_smb1_posix.sh"),
740 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/local_symlinks',
741 '$PREFIX', smbclient3])
743 plantestsuite("samba3.blackbox.test_veto_files", env,
744 [os.path.join(samba3srcdir, "script/tests/test_veto_files.sh"),
745 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/veto', smbclient3])
751 # Test smbclient/tarmode
752 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
753 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
754 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
755 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mNT1"])
756 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
757 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
758 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
759 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mSMB3"])
761 # Test suite for new smbclient/tar with libarchive (GSoC 13)
762 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
763 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
764 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
765 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
766 '-d', 'smbclient_tar.NT1', '-b', smbclient3,
767 '--subunit', '--', configuration, '-mNT1'])
768 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
769 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
770 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
771 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
772 '-d', 'smbclient_tar.SMB3', '-b', smbclient3,
773 '--subunit', '--', configuration, '-mSMB3'])
774 plantestsuite("samba3.blackbox.fifo", env,
775 [os.path.join(samba3srcdir, "script/tests/test_fifo.sh"),
776 '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
777 plantestsuite("samba3.blackbox.test_full_audit_success_badname", env,
778 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
779 '$SERVER', 'full_audit_success_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
780 plantestsuite("samba3.blackbox.test_full_audit_fail_badname", env,
781 [os.path.join(samba3srcdir, "script/tests/test_bad_auditnames.sh"),
782 '$SERVER', 'full_audit_fail_bad_name', '$USERNAME', '$PASSWORD', smbclient3])
783 plantestsuite("samba3.blackbox.fruit.resource_stream", env,
784 [os.path.join(samba3srcdir, "script/tests/test_fruit_resource_stream.sh"),
785 '$SERVER', 'fruit_resource_stream', '$USERNAME', '$PASSWORD',
786 '$LOCAL_PATH/fruit_resource_stream', smbclient3])
788 for env in ["fileserver:local"]:
789 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
791 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"])
792 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
794 # TODO encrypted against member, with member creds, and with DC creds
795 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
796 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
797 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
798 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
799 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
800 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
801 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
802 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
803 scriptdir, "$SMB_CONF_PATH", net, configuration])
804 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
805 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
806 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
807 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
808 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
809 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
811 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
812 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
813 scriptdir, "$SMB_CONF_PATH", net, configuration])
814 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
815 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
816 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
818 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
819 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
820 scriptdir, "$SMB_CONF_PATH", net, configuration])
821 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
822 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
823 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
826 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
827 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
831 "samba3.pthreadpool", "none",
832 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
834 if with_pthreadpool and have_ldwrap:
835 plantestsuite("samba3.pthreadpool_cmocka", "none",
836 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
839 plantestsuite("samba3.libwbclient_threads",
841 [os.path.join(samba3srcdir,
842 "script/tests/test_libwbclient_threads.sh"),
843 "$DOMAIN", "$DC_USERNAME"])
845 plantestsuite("samba3.test_nfs4_acl", "none",
846 [os.path.join(bindir(), "test_nfs4_acls"),
849 plantestsuite("samba3.test_vfs_full_audit", "none",
850 [os.path.join(bindir(), "test_vfs_full_audit"),
853 plantestsuite("samba3.test_vfs_posixacl", "none",
854 [os.path.join(bindir(), "test_vfs_posixacl"),
857 if is_module_enabled("vfs_gpfs"):
858 plantestsuite("samba3.test_vfs_gpfs", "none",
859 [os.path.join(bindir(), "test_vfs_gpfs")])
862 "samba3.resolvconf", "none",
863 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
865 plantestsuite("samba3.tevent_glib_glue", "none",
866 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
868 plantestsuite("samba3.async_req", "nt4_dc",
869 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
873 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
874 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
875 "base.disconnect", "base.fdpass", "base.lock",
876 "base.mangle", "base.negnowait", "base.ntdeny1",
877 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
878 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
879 "base.xcopy", "base.samba3error"]
881 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
882 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
883 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
884 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
885 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
886 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
887 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
888 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
889 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
891 smb2 = smbtorture4_testsuites("smb2.")
893 rpc = ["rpc.authcontext",
896 "rpc.samba3.sharesec",
897 "rpc.samba3.spoolss",
900 "rpc.samba3.getaliasmembership-0",
901 "rpc.samba3.netlogon",
902 "rpc.samba3.sessionkey",
903 "rpc.samba3.getusername",
904 "rpc.samba3.smb1-pipe-name",
905 "rpc.samba3.smb2-pipe-name",
906 "rpc.samba3.smb-reauth1",
907 "rpc.samba3.smb-reauth2",
908 "rpc.samba3.lsa_over_netlogon",
909 "rpc.samba3.pipes_supported_interfaces",
914 "rpc.spoolss.printserver",
916 "rpc.spoolss.notify",
917 "rpc.spoolss.printer",
918 "rpc.spoolss.driver",
921 "rpc.lsa.lookupsids",
922 "rpc.lsa.lookupnames",
923 "rpc.lsa.privileges",
928 "rpc.samr.users.privileges",
929 "rpc.samr.passwords.default",
930 "rpc.samr.passwords.pwdlastset",
931 "rpc.samr.passwords.lockout",
932 "rpc.samr.passwords.badpwdcount",
934 "rpc.samr.machine.auth",
936 "rpc.samr.passwords.validate",
937 "rpc.samr.handletype",
938 "rpc.netlogon.admin",
939 "rpc.netlogon.zerologon",
942 "rpc.bench-schannel1",
943 "rpc.schannel_anon_setpw",
950 local = ["local.nss"]
952 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
954 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
956 unix = ["unix.info2", "unix.whoami"]
963 "vfs.fruit_netatalk",
965 "vfs.fruit_timemachine",
966 "vfs.fruit_conversion",
970 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
973 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
974 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
975 elif t == "base.createx_access":
976 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
978 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
979 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
980 elif t == "winbind.pac":
981 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
982 elif t == "unix.whoami":
983 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
984 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
985 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
986 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
987 for env in ["nt4_dc_smb1", "nt4_member"]:
988 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
989 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
990 for env in ["ad_dc_smb1", "ad_member"]:
991 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
992 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
993 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
994 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
995 elif t == "raw.samba3posixtimedlock":
996 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
997 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
998 description="brl_delay_inject1")
999 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
1000 description="brl_delay_inject2")
1001 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
1002 elif t == "smb2.samba3misc":
1003 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1004 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1005 description="brl_delay_inject1")
1006 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
1007 description="brl_delay_inject2")
1008 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
1009 elif t == "raw.chkpath":
1010 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1011 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1012 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
1013 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1014 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1015 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1016 elif t == "raw.session":
1017 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1018 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1019 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
1020 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
1021 elif t == "smb2.session":
1022 alice_creds = "--option='torture:user2name=alice' --option='torture:user2password=Secret007'"
1023 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
1024 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
1025 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD ' + alice_creds, 'ntlm')
1026 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD ' + alice_creds, 'krb5')
1027 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
1028 # ad_member_idmap_rid sets "create krb5.conf = no"
1029 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
1030 elif t == "rpc.lsa":
1031 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
1032 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1033 elif t.startswith("rpc.lsa."):
1034 # This avoids the rpc.lsa.* tests runing under ncacn_ip_tcp:
1035 # (there is rpc.lsa.secrets fails due to OpenPolicy2 for example)
1036 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1037 elif t == "rpc.mdssvc":
1038 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1039 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
1040 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1041 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
1042 elif t == "base.rw1":
1043 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1044 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
1045 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
1046 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1047 elif t == "idmap.rfc2307":
1048 plantestsuite(t, "ad_member_rfc2307",
1049 [os.path.join(samba3srcdir,
1050 "../nsswitch/tests/test_idmap_rfc2307.sh"),
1052 'Administrator', '2000000',
1054 '"Domain Users"', '2000002',
1055 'DnsAdmins', '2000003',
1057 'ou=idmap,dc=samba,dc=example,dc=com',
1058 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
1059 elif t == "idmap.alloc":
1060 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
1061 elif t == "idmap.rid":
1062 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
1064 "admem_idmap_autorid",
1065 [os.path.join(samba3srcdir,
1066 "../nsswitch/tests/test_idmap_rid.sh"),
1069 elif t == "idmap.ad":
1070 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'])
1071 elif t == "raw.acls":
1072 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1073 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
1074 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
1075 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
1076 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
1077 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
1078 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
1079 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
1080 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
1081 elif t == "smb2.ioctl":
1082 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
1083 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1084 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1085 elif t == "smb2.lock":
1086 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1087 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1088 elif t == "raw.lock" or t == "base.lock":
1089 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1090 elif t == "raw.read":
1091 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1092 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1093 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1094 elif t == "raw.search":
1095 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1096 # test the dirsort module.
1097 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
1098 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1099 elif t == "vfs.fruit":
1100 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')
1101 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')
1102 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')
1103 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')
1104 elif t == "vfs.fruit_netatalk":
1105 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1106 elif t == "vfs.fruit_timemachine":
1107 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1108 elif t == "vfs.fruit_file_id":
1109 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
1110 elif t == "vfs.fruit_conversion":
1111 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')
1112 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')
1113 elif t == "vfs.unfruit":
1114 creds = '-U$USERNAME%$PASSWORD'
1115 share2 = '--option=torture:share2=tmp'
1116 netopt = '--option=torture:net=%s' % net
1117 shareopt = '--option=torture:sharename'
1119 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
1120 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')
1121 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')
1122 elif t == "rpc.schannel_anon_setpw":
1123 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
1124 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
1125 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
1126 elif t == "local.nss":
1127 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
1128 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1129 elif t == "smb2.change_notify_disabled":
1130 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1131 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
1133 if t == "raw.notify" or t == "raw.oplock":
1134 tmp_env = "nt4_dc_smb1"
1135 # These tests are a little slower so don't duplicate them with ad_dc
1136 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --client-protection=sign')
1137 elif t == "smb2.dosmode":
1138 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
1139 elif t == "smb2.kernel-oplocks":
1140 if have_linux_kernel_oplocks:
1141 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
1142 elif t == "smb2.notify-inotify":
1144 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1145 elif t == "vfs.acl_xattr":
1146 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1147 elif t == "smb2.compound_find":
1148 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
1149 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1150 elif t == "smb2.compound":
1151 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1152 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
1153 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1154 elif t == "smb2.ea":
1155 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/ea_acl_xattr --option=torture:acl_xattr_name=hackme -U$USERNAME%$PASSWORD')
1156 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
1157 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1158 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
1159 elif t == "smb2.streams":
1160 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1161 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1162 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
1163 elif t == "smb2.aio_delay":
1164 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
1165 elif t == "smb2.delete-on-close-perms":
1166 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1167 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
1168 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1169 elif t == "smb2.fileid":
1170 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
1171 elif t == "smb2.acls_non_canonical":
1172 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/acls_non_canonical -U$USERNAME%$PASSWORD')
1173 elif t == "smb2.async_dosmode":
1174 plansmbtorture4testsuite("smb2.async_dosmode",
1176 "//$SERVER_IP/async_dosmode_shadow_copy2 -U$USERNAME%$PASSWORD")
1177 elif t == "smb2.rename":
1178 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1179 elif t == "smb2.twrp":
1180 # This is being driven by samba3.blackbox.shadow_copy_torture
1182 elif t == "smb2.create_no_streams":
1183 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD')
1184 elif t == "rpc.wkssvc":
1185 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1186 elif t == "rpc.srvsvc":
1187 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1188 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
1189 elif t == "rpc.samba3.lsa_over_netlogon":
1190 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1191 elif t == "rpc.samba3.pipes_supported_interfaces":
1192 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1193 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1194 elif t == "rpc.spoolss.notify":
1195 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
1196 elif (t in base and t != "base.charset") \
1197 or (t in rap and t != "rap.printing") \
1199 or (t in ["rpc.authcontext",
1202 "rpc.samba3.getusername",
1203 "rpc.samba3.sharesec",
1204 "rpc.samba3.smb1-pipe-name",
1205 "rpc.samba3.smb-reauth1",
1206 "rpc.samba3.smb-reauth2",
1207 "rpc.samba3.spoolss",
1208 "rpc.samba3.wkssvc",]) \
1209 or (t in ["raw.close",
1215 "raw.samba3badnameblob",
1216 "raw.samba3badpath",
1217 "raw.samba3caseinsensitive",
1218 "raw.samba3oplocklogoff",
1219 "raw.samba3posixtimedlock",
1220 "raw.samba3rootdirfid",
1221 "raw.samba3rootdirfid2",
1223 "raw.sfileinfo.bug",
1224 "raw.sfileinfo.end-of-file",
1225 "raw.sfileinfo.rename",
1229 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1230 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1231 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
1232 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1233 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1234 elif t == "rpc.samr.passwords.validate":
1235 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
1236 elif t == "rpc.samr.users.privileges":
1237 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
1238 elif t == "rpc.samr" or t.startswith("rpc.samr."):
1239 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1241 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
1242 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
1245 "idmap_ad.ticket_expiry",
1246 "ad_member_idmap_ad:local",
1247 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
1250 plansmbtorture4testsuite(
1255 plansmbtorture4testsuite(
1258 '//$SERVER/external_streams_depot -U$USERNAME%$PASSWORD')
1260 test = 'rpc.lsa.lookupsids'
1261 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
1262 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
1263 endianness_options = ["", ",bigendian"]
1264 for s in signseal_options:
1265 for e in endianness_options:
1266 for a in auth_options:
1267 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1268 options = binding_string + " -U$USERNAME%$PASSWORD"
1270 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1272 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
1274 f'samba3.blackbox.rpcclient over ncacn_np with [{a}{s}{e}] ',
1276 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1278 options + " -c getusername",
1281 f'samba3.blackbox.rpcclient over ncalrpc with [{a}{s}{e}] ',
1283 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1285 f'ncalrpc:[{a}{s}{e}] -c epmmap',
1289 f'samba3.blackbox.rpcclient over ncacn_ip_tcp with [{a}{s}{e}] ',
1291 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1293 f'ncacn_ip_tcp:"$SERVER_IP"[{a}{s}{e}] -c epmmap -U"$USERNAME"%"$PASSWORD"',
1296 # We should try more combinations in future, but this is all
1297 # the pre-calculated credentials cache supports at the moment
1299 # As the ktest env requires SMB3_00 we need to use "smb2" until
1300 # dcerpc client code in smbtorture support autonegotiation
1301 # of any smb dialect.
1304 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1305 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
1306 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
1308 options = binding_string + " --use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
1309 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
1311 auth_options2 = ["krb5", "spnego,krb5"]
1312 for a in auth_options2:
1313 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
1316 f'samba3.blackbox.rpcclient krb5 ncacn_np with [{a}{s}{e}] ',
1318 [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
1319 "$PREFIX/ktest/krb5_ccache-3",
1321 "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 -c getusername",
1324 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
1325 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
1326 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
1327 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
1328 configuration, os.path.join(bindir(), "sharesec"),
1329 os.path.join(bindir(), "net"), "tmp"])
1331 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
1332 [os.path.join(samba3srcdir,
1333 "script/tests/test_close_denied_share.sh"),
1335 os.path.join(bindir(), "sharesec"),
1336 os.path.join(bindir(), "smbclient"),
1337 os.path.join(bindir(), "smbcontrol"),
1341 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
1342 [os.path.join(samba3srcdir,
1343 "script/tests/test_force_close_share.sh"),
1345 os.path.join(bindir(), "smbclient"),
1346 os.path.join(bindir(), "smbcontrol"),
1349 '$PREFIX/force-close-share'])
1351 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1352 [os.path.join(samba3srcdir,
1353 "script/tests/test_open_eintr.sh"),
1355 os.path.join(bindir(), "smbclient"),
1356 os.path.join(bindir(), "smbcontrol"),
1360 plantestsuite("samba3.blackbox.chdir-cache", "simpleserver:local",
1361 [os.path.join(samba3srcdir,
1362 "script/tests/test_chdir_cache.sh"),
1364 os.path.join(bindir(), "smbclient"),
1365 os.path.join(bindir(), "smbcontrol"),
1369 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1370 [os.path.join(samba3srcdir,
1371 "script/tests/test_netfileenum.sh"),
1372 os.path.join(bindir(), "smbclient"),
1373 os.path.join(bindir(), "rpcclient"),
1374 os.path.join(bindir(), "net"),
1378 plantestsuite("samba3.blackbox.netshareenum_username", "fileserver",
1379 [os.path.join(samba3srcdir,
1380 "script/tests/test_user_in_sharelist.sh"),
1381 os.path.join(bindir(), "rpcclient"),
1384 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1385 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1386 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1387 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1389 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1390 [os.path.join(samba3srcdir,
1391 "script/tests/test_aio_outstanding.sh"),
1393 os.path.join(bindir(), "smbclient"),
1395 "aio_delay_inject"])
1397 plantestsuite("samba3.blackbox.deadtime", "simpleserver:local",
1398 [os.path.join(samba3srcdir, "script/tests/test_deadtime.sh"),
1401 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1402 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1404 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1405 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1406 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1408 plantestsuite("samba3.blackbox.winbind_ignore_domain", "ad_member_idmap_ad:local",
1409 [os.path.join(samba3srcdir, "script/tests/test_winbind_ignore_domains.sh")])
1411 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1412 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1414 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1415 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1416 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1418 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1419 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1420 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1423 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1424 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1425 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1427 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1428 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1429 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1431 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1432 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1433 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1435 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1436 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1437 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1440 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1441 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1442 "$USERNAME", "$PASSWORD", "$SERVER",
1443 os.path.join(bindir(), "rpcclient"), "tmp"])
1445 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1446 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1447 "$USERNAME", "$PASSWORD", "$SERVER",
1448 os.path.join(bindir(), "rpcclient")])
1450 plantestsuite("samba3.blackbox.rpcclient_dfs", "fileserver:local",
1451 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_dfs.sh"),
1452 "$USERNAME", "$PASSWORD", "$SERVER",
1453 os.path.join(bindir(), "rpcclient")])
1455 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1456 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1457 "$USERNAME", "$PASSWORD", "$SERVER",
1458 os.path.join(bindir(), "rpcclient")])
1460 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1461 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1462 "$USERNAME", "$PASSWORD", "$SERVER",
1465 plantestsuite("samba3.blackbox.smbXsrv_client_dead_rec", "fileserver:local",
1466 [os.path.join(samba3srcdir,
1467 "script/tests/test_smbXsrv_client_dead_rec.sh"),
1472 plantestsuite("samba3.blackbox.smbXsrv_client_cross_node", "clusteredmember:local",
1473 [os.path.join(samba3srcdir,
1474 "script/tests/test_smbXsrv_client_cross_node.sh"),
1480 plantestsuite("samba3.blackbox.virus_scanner", "%s:local" % (env),
1481 [os.path.join(samba3srcdir,
1482 "script/tests/test_virus_scanner.sh"),
1488 for env in ['fileserver', 'simpleserver']:
1489 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1490 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1491 "$USERNAME", "$PASSWORD", "$SERVER",
1494 plantestsuite("samba3.blackbox.smbclient.kerberos", 'ad_dc',
1495 [os.path.join(samba3srcdir,
1496 "script/tests/test_smbclient_kerberos.sh"),
1503 for env in ['ad_dc_fips', 'ad_member_fips']:
1504 plantestsuite("samba3.blackbox.smbclient.kerberos", env,
1505 [os.path.join(samba3srcdir,
1506 "script/tests/test_smbclient_kerberos.sh"),
1513 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
1514 'OPENSSL_FORCE_FIPS_MODE': '1'})
1516 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1517 [os.path.join(samba3srcdir,
1518 "script/tests/test_rpcclient_netsessenum.sh"),
1519 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1520 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1522 # The ktest environment uses:
1523 # server min protocol = SMB3_00
1524 # client max protocol = SMB3
1525 options_list = ["", "--client-protection=encrypt"]
1526 for options in options_list:
1527 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1528 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1529 "$PREFIX/ktest/krb5_ccache-2",
1530 smbclient3, "$SERVER", options, configuration])
1532 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1533 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1534 "$PREFIX/ktest/krb5_ccache-3",
1535 smbclient3, "$SERVER", options, configuration])
1537 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1538 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1539 "$PREFIX/ktest/krb5_ccache-3",
1540 smbclient3, "$SERVER", "$PREFIX", options, "--use-krb5-ccache=$PREFIX/ktest/krb5_ccache-3 " + configuration])
1542 options_list = ["-mNT1", "-mNT1 --client-protection=encrypt", "-mSMB3", "-mSMB3 --client-protection=encrypt"]
1543 for options in options_list:
1545 if "NT1" in options:
1546 env = "nt4_dc_smb1_done"
1547 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1548 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1550 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1552 for alias in ["foo", "bar"]:
1553 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1554 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1555 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX",
1558 for e in endianness_options:
1559 for a in auth_options:
1560 for s in signseal_options:
1561 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1562 options = binding_string + " -U$USERNAME%$PASSWORD"
1563 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1565 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1566 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1568 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1569 plantestsuite("samba3.blackbox.guest", env,
1570 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1571 '$SERVER', smbclient3, smbcontrol, net, configuration])
1573 plantestsuite("samba3.blackbox.smbclient-mget",
1575 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1583 t = "readdir-timestamp"
1585 "samba3.smbtorture_s3.plain.%s" % t,
1587 [os.path.join(samba3srcdir,
1588 "script/tests/test_smbtorture_s3.sh"),
1591 '$DOMAIN\\\\$DC_USERNAME',
1595 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1598 "samba3.net_machine_account",
1600 [os.path.join(samba3srcdir,
1601 "script/tests/test_net_machine_account.sh"),
1607 "samba3.net_lookup_ldap",
1609 [os.path.join(samba3srcdir,
1610 "script/tests/test_net_lookup.sh"),
1618 plantestsuite("samba3.blackbox.force-user-unlink",
1620 [os.path.join(samba3srcdir,
1621 "script/tests/test_force_user_unlink.sh")])
1623 def planclusteredmembertestsuite(tname, prefix):
1624 '''Define a clustered test for the clusteredmember environment'''
1628 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1629 namearg = 'clustered.%s' % tname
1630 modnamearg = 'samba3.%s' % namearg
1633 prefix = os.path.join(prefix, 'clusteredmember')
1634 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1636 unclistarg = '--unclist=%s' % unclist
1637 sharearg = '//$SERVER_IP/%s' % tshare
1639 return selftesthelpers.plansmbtorture4testsuite(
1642 [extraargs, unclistarg, sharearg, autharg, tname],
1647 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1649 for test in CLUSTERED_TESTS:
1650 planclusteredmembertestsuite(test, "$PREFIX")
1652 CLUSTERED_LOCAL_TESTS = [
1654 "local-dbwrap-ctdb1"
1657 for t in CLUSTERED_LOCAL_TESTS:
1660 "clusteredmember:local",
1661 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1669 planpythontestsuite("fileserver", "samba.tests.smb3unix")