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
24 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
25 import selftesthelpers
26 from selftesthelpers import bindir, srcdir, scriptdir, binpath
27 from selftesthelpers import plantestsuite, samba3srcdir
28 from selftesthelpers import smbtorture3, configuration, smbclient3, smbtorture4
29 from selftesthelpers import net, wbinfo, dbwrap_tool, rpcclient, python
30 from selftesthelpers import smbget, smbcacls, smbcquotas, ntlm_auth3
31 from selftesthelpers import valgrindify, smbtorture4_testsuites
32 from selftesthelpers import smbtorture4_options
33 from selftesthelpers import smbcontrol
34 from selftesthelpers import smbstatus
35 smbtorture4_options.extend([
36 '--option=torture:sharedelay=100000',
37 '--option=torture:writetimeupdatedelay=500000',
41 def plansmbtorture4testsuite(name, env, options, description=''):
43 modname = "samba3.%s" % (name, )
45 modname = "samba3.%s %s" % (name, description)
47 selftesthelpers.plansmbtorture4testsuite(
48 name, env, options, target='samba3', modname=modname)
50 def compare_versions(version1, version2):
51 for i in range(max(len(version1),len(version2))):
52 v1 = version1[i] if i < len(version1) else 0
53 v2 = version2[i] if i < len(version2) else 0
62 config_h = os.environ["CONFIG_H"]
64 samba4bindir = bindir()
65 config_h = os.path.join(samba4bindir, "default/include/config.h")
67 # check available features
69 f = open(config_h, 'r')
72 config_hash = dict((x[0], ' '.join(x[1:]))
73 for x in map(lambda line: line.strip().split(' ')[1:],
74 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
78 if config_hash["SYSTEM_UNAME_SYSNAME"] == '"Linux"':
79 m = re.search(r'(\d+).(\d+).(\d+)', config_hash["SYSTEM_UNAME_RELEASE"])
81 linux_kernel_version = [int(m.group(1)), int(m.group(2)), int(m.group(3))]
83 have_linux_kernel_oplocks = False
84 if "HAVE_KERNEL_OPLOCKS_LINUX" in config_hash:
85 if compare_versions(linux_kernel_version, [5,3,1]) >= 0:
86 have_linux_kernel_oplocks = True
88 have_inotify = ("HAVE_INOTIFY" in config_hash)
89 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
90 with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
92 def is_module_enabled(module):
93 if module in config_hash["STRING_SHARED_MODULES"]:
95 if module in config_hash["STRING_STATIC_MODULES"]:
99 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
100 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
102 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
104 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
107 "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
113 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
114 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
115 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
116 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
117 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
118 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
119 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
120 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
121 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
122 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
130 "SMB1-WILD-MANGLE-UNLINK",
131 "SMB1-WILD-MANGLE-RENAME"]
133 for t in fileserver_tests:
134 fileserver_env = "fileserver_smb1"
136 fileserver_env = "fileserver"
137 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"])
138 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"])
140 # this is a negative test to verify that the server rejects
141 # access without encryption
142 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"])
143 if t == "CLI_SPLICE":
144 # We must test this against the SMB1 fallback.
145 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"])
146 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"])
149 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"])
151 if have_linux_kernel_oplocks:
153 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
155 [os.path.join(samba3srcdir,
156 "script/tests/test_smbtorture_s3.sh"),
166 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
168 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"])
169 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"])
172 tests = ["OPLOCK-CANCEL"]
174 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"])
177 tests = ["MANGLE-ILLEGAL"]
179 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"])
181 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
183 if t == "SMB2-BASIC":
186 env = "fileserver_smb1"
188 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"])
189 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"])
191 plantestsuite("samba3.smbtorture_s3.hidenewfiles(fileserver_smb1)",
193 [os.path.join(samba3srcdir,
194 "script/tests/test_smbtorture_s3.sh"),
195 'hide-new-files-timeout',
196 '//$SERVER_IP/hidenewfiles',
204 # MSDFS attribute tests.
206 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
208 [os.path.join(samba3srcdir,
209 "script/tests/test_smbtorture_s3.sh"),
211 '//$SERVER_IP/msdfs-share',
218 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
220 [os.path.join(samba3srcdir,
221 "script/tests/test_smbtorture_s3.sh"),
223 '//$SERVER_IP/msdfs-share',
231 "vfs_aio_pthread_async_dosmode_default1",
232 "vfs_aio_pthread_async_dosmode_default2",
233 "vfs_aio_pthread_async_dosmode_force_sync1",
234 "vfs_aio_pthread_async_dosmode_force_sync2"
237 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"])
238 t = "smb2.compound_find"
239 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
241 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
242 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
243 "POSIX-BLOCKING-LOCK",
245 "POSIX-ACL-SHAREROOT",
249 for t in posix_tests:
250 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"])
251 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"])
260 "LOCAL-string_to_sid",
261 "LOCAL-sid_to_string",
262 "LOCAL-binary_to_sid",
265 "LOCAL-CONVERT-STRING",
266 "LOCAL-CONV-AUTH-INFO",
267 "LOCAL-IDMAP-TDB-COMMON",
268 "LOCAL-MESSAGING-READ1",
269 "LOCAL-MESSAGING-READ2",
270 "LOCAL-MESSAGING-READ3",
271 "LOCAL-MESSAGING-READ4",
272 "LOCAL-MESSAGING-FDPASS1",
273 "LOCAL-MESSAGING-FDPASS2",
274 "LOCAL-MESSAGING-FDPASS2a",
275 "LOCAL-MESSAGING-FDPASS2b",
276 "LOCAL-MESSAGING-SEND-ALL",
277 "LOCAL-PTHREADPOOL-TEVENT",
278 "LOCAL-CANONICALIZE-PATH",
279 "LOCAL-DBWRAP-WATCH1",
280 "LOCAL-DBWRAP-WATCH2",
281 "LOCAL-DBWRAP-WATCH3",
282 "LOCAL-DBWRAP-WATCH4",
283 "LOCAL-DBWRAP-DO-LOCKED1",
293 "LOCAL-NAMEMAP-CACHE1",
294 "LOCAL-IDMAP-CACHE1",
295 "LOCAL-hex_encode_buf",
296 "LOCAL-remove_duplicate_addrs2"]
298 for t in local_tests:
299 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
301 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
302 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
303 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
304 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
306 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"])
307 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"])
308 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"])
309 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"])
310 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"])
311 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"])
313 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])
314 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"]:
315 if "NT1" in options or "LANMAN2" in options:
316 env = "nt4_dc_smb1_done"
319 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])
321 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
322 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
324 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
325 smb1_env = smb1_env + "_smb1_done"
326 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])
327 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])
330 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
332 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
333 # don't attempt to run SMB1 tests in nt4_member or ad_member
334 # as these test envs don't support SMB1, use nt4_dc instead
335 environs = ["nt4_member", "ad_member"]
336 if "NT1" in options or "LANMAN2" in options:
337 environs = ["nt4_dc_smb1_done"]
339 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])
340 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])
342 for env in ["nt4_member", "ad_member"]:
343 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])
344 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])
345 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])
346 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])
347 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])
348 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])
351 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
353 for env in ["ad_member:local", "nt4_dc:local"]:
354 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
357 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])
359 for env in ["nt4_member", "ad_member"]:
360 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
363 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
364 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
365 plantestsuite("samba3.wbinfo_name_lookup", env,
366 [os.path.join(srcdir(),
367 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
368 '$DOMAIN', '$REALM', '$DC_USERNAME'])
371 plantestsuite("samba3.wbinfo_user_info_cached", env,
372 [os.path.join(srcdir(),
373 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
374 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
375 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
376 [os.path.join(srcdir(),
377 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
378 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
380 env = "ad_member:local"
381 plantestsuite("samba3.wbinfo_user_info", env,
382 [os.path.join(srcdir(),
383 "nsswitch/tests/test_wbinfo_user_info.sh"),
384 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
386 env = "fl2008r2dc:local"
387 plantestsuite("samba3.wbinfo_user_info", env,
388 [os.path.join(srcdir(),
389 "nsswitch/tests/test_wbinfo_user_info.sh"),
390 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
392 env = "nt4_member:local"
393 plantestsuite("samba3.wbinfo_sids_to_xids", env,
394 [os.path.join(srcdir(),
395 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
397 "samba.wbinfo_lookuprids_cache",
399 [os.path.join(samba3srcdir,
400 "script/tests/test_wbinfo_lookuprids_cache.sh")])
403 t = "WBCLIENT-MULTI-PING"
404 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
405 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
407 for env in ["maptoguest", "simpleserver"]:
408 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"])
411 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"])
412 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])
413 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])
416 env = "nt4_dc_smb1_done"
417 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"])
419 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"])
421 for env in ["nt4_member", "ad_member"]:
422 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"])
423 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"])
425 env = "nt4_dc_smb1_done"
426 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", "--signing=required"])
428 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", "--signing=required"])
430 for env in ["nt4_member", "ad_member"]:
431 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", "--signing=required"])
432 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", "--signing=required"])
434 env = "nt4_dc_smb1_done"
436 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", "-e"])
438 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", "-e"])
440 for env in ["fileserver"]:
441 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"])
442 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"'])
443 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"])
444 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
445 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"])
446 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"])
447 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
448 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
449 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])
450 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
451 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
452 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'])
453 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'])
454 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])
455 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
456 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])
457 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
458 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'])
459 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
460 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])
461 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'])
462 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'])
463 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'])
464 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'])
465 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'])
466 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'])
467 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'])
468 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
469 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'])
470 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
471 plantestsuite("samba3.blackbox.force_group_change", env,
472 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
473 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
474 plantestsuite("samba3.blackbox.zero-data", env,
475 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
476 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
477 plantestsuite("samba3.blackbox.timestamps", env,
478 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
479 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
480 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
481 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
482 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
483 plantestsuite("samba3.blackbox.sacl_get_set", env,
484 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
485 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
486 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
487 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
488 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
489 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
490 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
491 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
492 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
493 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
494 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
495 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
496 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
497 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
503 # Test smbclient/tarmode
504 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
505 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
506 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
507 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mNT1"])
508 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
509 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
510 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
511 '$LOCAL_PATH/tarmode/smbclient_tar', '$PREFIX', smbclient3, configuration, "-mSMB3"])
513 # Test suite for new smbclient/tar with libarchive (GSoC 13)
514 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
515 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
516 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
517 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
518 '-d', '$PREFIX', '-b', smbclient3,
519 '--subunit', '--', configuration, '-mNT1'])
520 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
521 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
522 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tarmode2',
523 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode2',
524 '-d', '$PREFIX', '-b', smbclient3,
525 '--subunit', '--', configuration, '-mSMB3'])
527 for env in ["fileserver:local"]:
528 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
530 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"])
531 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
533 # TODO encrypted against member, with member creds, and with DC creds
534 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
535 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
536 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
537 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
538 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
539 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
540 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
541 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
542 scriptdir, "$SMB_CONF_PATH", net, configuration])
543 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
544 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
545 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
546 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
547 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
548 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
550 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
551 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
552 scriptdir, "$SMB_CONF_PATH", net, configuration])
553 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
554 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
555 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
557 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
558 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
559 scriptdir, "$SMB_CONF_PATH", net, configuration])
560 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
561 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
562 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
565 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
566 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
570 "samba3.pthreadpool", "none",
571 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
573 if with_pthreadpool and have_ldwrap:
574 plantestsuite("samba3.pthreadpool_cmocka", "none",
575 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
578 plantestsuite("samba3.libwbclient_threads",
580 [os.path.join(samba3srcdir,
581 "script/tests/test_libwbclient_threads.sh"),
582 "$DOMAIN", "$DC_USERNAME"])
584 plantestsuite("samba3.test_nfs4_acl", "none",
585 [os.path.join(bindir(), "test_nfs4_acls"),
588 plantestsuite("samba3.test_vfs_full_audit", "none",
589 [os.path.join(bindir(), "test_vfs_full_audit"),
592 plantestsuite("samba3.test_vfs_posixacl", "none",
593 [os.path.join(bindir(), "test_vfs_posixacl"),
596 if is_module_enabled("vfs_gpfs"):
597 plantestsuite("samba3.test_vfs_gpfs", "none",
598 [os.path.join(bindir(), "test_vfs_gpfs")])
601 "samba3.resolvconf", "none",
602 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
604 plantestsuite("samba3.tevent_glib_glue", "none",
605 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
607 plantestsuite("samba3.async_req", "nt4_dc",
608 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
612 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
613 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
614 "base.disconnect", "base.fdpass", "base.lock",
615 "base.mangle", "base.negnowait", "base.ntdeny1",
616 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
617 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
618 "base.xcopy", "base.samba3error"]
620 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
621 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
622 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
623 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
624 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
625 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
626 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
627 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
628 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
630 smb2 = smbtorture4_testsuites("smb2.")
632 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
633 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
634 "rpc.samba3.getaliasmembership-0",
635 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
636 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
637 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
638 "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
639 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
640 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
641 "rpc.spoolss.driver",
642 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
643 "rpc.lsa.privileges", "rpc.lsa.secrets",
645 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
646 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
647 "rpc.samr.priv", "rpc.samr.passwords.validate", "rpc.samr.handletype",
648 "rpc.netlogon.admin",
649 "rpc.netlogon.zerologon",
650 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
651 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
653 local = ["local.nss"]
655 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
657 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
659 unix = ["unix.info2", "unix.whoami"]
666 "vfs.fruit_netatalk",
668 "vfs.fruit_timemachine",
669 "vfs.fruit_conversion",
673 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
676 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
677 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
678 elif t == "base.createx_access":
679 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
681 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
682 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
683 elif t == "winbind.pac":
684 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
685 elif t == "unix.whoami":
686 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
687 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
688 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
689 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
690 for env in ["nt4_dc_smb1", "nt4_member"]:
691 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
692 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
693 for env in ["ad_dc_smb1", "ad_member"]:
694 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
695 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
696 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
697 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
698 elif t == "raw.samba3posixtimedlock":
699 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
700 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
701 description="brl_delay_inject1")
702 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
703 description="brl_delay_inject2")
704 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
705 elif t == "smb2.samba3misc":
706 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
707 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
708 description="brl_delay_inject1")
709 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
710 description="brl_delay_inject2")
711 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
712 elif t == "raw.chkpath":
713 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
714 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
715 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
716 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
717 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
718 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
719 elif t == "raw.session":
720 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
721 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
722 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
723 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
724 elif t == "smb2.session":
725 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
726 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
727 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
728 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
729 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
730 # ad_member_idmap_rid sets "create krb5.conf = no"
731 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
733 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
734 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
735 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
736 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
737 elif t == "rpc.mdssvc":
738 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
739 elif t == "rpc.samr.passwords.validate":
740 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
741 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
742 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
743 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
744 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
745 elif t == "base.rw1":
746 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
747 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
748 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
749 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
750 elif t == "idmap.rfc2307":
751 plantestsuite(t, "ad_member_rfc2307",
752 [os.path.join(samba3srcdir,
753 "../nsswitch/tests/test_idmap_rfc2307.sh"),
755 'Administrator', '2000000',
757 '"Domain Users"', '2000002',
758 'DnsAdmins', '2000003',
760 'ou=idmap,dc=samba,dc=example,dc=com',
761 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
762 elif t == "idmap.alloc":
763 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
764 elif t == "idmap.rid":
765 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
766 elif t == "idmap.ad":
767 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'])
768 elif t == "raw.acls":
769 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
770 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
771 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
772 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
773 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
774 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
775 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
776 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
777 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
778 elif t == "smb2.ioctl":
779 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
780 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
781 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
782 elif t == "smb2.lock":
783 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
784 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
785 elif t == "raw.lock" or t == "base.lock":
786 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
787 elif t == "raw.read":
788 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
789 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
790 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
791 elif t == "raw.search":
792 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
793 # test the dirsort module.
794 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
795 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
796 elif t == "vfs.fruit":
797 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')
798 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')
799 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')
800 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')
801 elif t == "vfs.fruit_netatalk":
802 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
803 elif t == "vfs.fruit_timemachine":
804 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
805 elif t == "vfs.fruit_file_id":
806 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
807 elif t == "vfs.fruit_conversion":
808 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')
809 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')
810 elif t == "vfs.unfruit":
811 creds = '-U$USERNAME%$PASSWORD'
812 share2 = '--option=torture:share2=tmp'
813 netopt = '--option=torture:net=%s' % net
814 shareopt = '--option=torture:sharename'
816 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
817 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')
818 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')
819 elif t == "rpc.schannel_anon_setpw":
820 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
821 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
822 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
823 elif t == "local.nss":
824 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
825 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
826 elif t == "smb2.change_notify_disabled":
827 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
828 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
830 if t == "raw.notify" or t == "raw.oplock":
831 tmp_env = "nt4_dc_smb1"
832 # These tests are a little slower so don't duplicate them with ad_dc
833 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
834 elif t == "smb2.dosmode":
835 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
836 elif t == "smb2.kernel-oplocks":
837 if have_linux_kernel_oplocks:
838 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
839 elif t == "smb2.notify-inotify":
841 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
842 elif t == "vfs.acl_xattr":
843 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
844 elif t == "smb2.compound_find":
845 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
846 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
847 elif t == "rpc.samr.users.privileges":
848 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
849 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
850 elif t == "smb2.compound":
851 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
852 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
853 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
854 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
855 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
856 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
857 elif t == "smb2.streams":
858 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
859 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
860 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
861 elif t == "smb2.aio_delay":
862 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
863 elif t == "smb2.delete-on-close-perms":
864 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
865 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
866 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
867 elif t == "smb2.fileid":
868 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
869 elif t == "rpc.wkssvc":
870 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
871 elif t == "rpc.srvsvc":
872 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
873 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
874 elif t == "rpc.samba3.lsa_over_netlogon":
875 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
876 elif t == "rpc.samba3.pipes_supported_interfaces":
877 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
878 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
879 elif t == "rpc.spoolss.notify":
880 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
881 elif (t in base and t != "base.charset") \
882 or (t in rap and t != "rap.printing") \
884 or (t in ["rpc.authcontext",
887 "rpc.samba3.getusername",
888 "rpc.samba3.sharesec",
889 "rpc.samba3.smb1-pipe-name",
890 "rpc.samba3.smb-reauth1",
891 "rpc.samba3.smb-reauth2",
892 "rpc.samba3.spoolss",
893 "rpc.samba3.wkssvc",]) \
894 or (t in ["raw.close",
900 "raw.samba3badnameblob",
902 "raw.samba3caseinsensitive",
903 "raw.samba3oplocklogoff",
904 "raw.samba3posixtimedlock",
905 "raw.samba3rootdirfid",
906 "raw.samba3rootdirfid2",
909 "raw.sfileinfo.end-of-file",
910 "raw.sfileinfo.rename",
914 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
915 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
916 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
917 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
918 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
920 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
921 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
924 "idmap_ad.ticket_expiry",
925 "ad_member_idmap_ad:local",
926 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
929 plansmbtorture4testsuite(
934 test = 'rpc.lsa.lookupsids'
935 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
936 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
937 endianness_options = ["", ",bigendian"]
938 for s in signseal_options:
939 for e in endianness_options:
940 for a in auth_options:
941 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
942 options = binding_string + " -U$USERNAME%$PASSWORD"
944 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
946 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
947 plantestsuite("samba3.blackbox.rpcclient over ncacn_np with [%s%s%s] " % (a, s, e), "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
948 "none", options, configuration])
950 # We should try more combinations in future, but this is all
951 # the pre-calculated credentials cache supports at the moment
953 # As the ktest env requires SMB3_00 we need to use "smb2" until
954 # dcerpc client code in smbtorture support autonegotiation
955 # of any smb dialect.
958 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
959 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
960 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
962 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
963 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
965 auth_options2 = ["krb5", "spnego,krb5"]
966 for a in auth_options2:
967 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
969 plantestsuite("samba3.blackbox.rpcclient krb5 ncacn_np with [%s%s%s] " % (a, s, e), "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
970 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
972 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
973 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
974 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
975 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
976 configuration, os.path.join(bindir(), "sharesec"),
977 os.path.join(bindir(), "net"), "tmp"])
979 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
980 [os.path.join(samba3srcdir,
981 "script/tests/test_close_denied_share.sh"),
983 os.path.join(bindir(), "sharesec"),
984 os.path.join(bindir(), "smbclient"),
985 os.path.join(bindir(), "smbcontrol"),
989 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
990 [os.path.join(samba3srcdir,
991 "script/tests/test_force_close_share.sh"),
993 os.path.join(bindir(), "smbclient"),
994 os.path.join(bindir(), "smbcontrol"),
997 '$PREFIX/force-close-share'])
999 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
1000 [os.path.join(samba3srcdir,
1001 "script/tests/test_open_eintr.sh"),
1003 os.path.join(bindir(), "smbclient"),
1004 os.path.join(bindir(), "smbcontrol"),
1008 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
1009 [os.path.join(samba3srcdir,
1010 "script/tests/test_netfileenum.sh"),
1011 os.path.join(bindir(), "smbclient"),
1012 os.path.join(bindir(), "rpcclient"),
1013 os.path.join(bindir(), "net"),
1017 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
1018 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
1019 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
1020 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1022 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1023 [os.path.join(samba3srcdir,
1024 "script/tests/test_aio_outstanding.sh"),
1026 os.path.join(bindir(), "smbclient"),
1028 "aio_delay_inject"])
1030 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1031 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1033 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1034 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1035 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1037 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1038 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1040 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1041 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1042 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1044 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1045 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1046 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1049 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1050 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1051 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1053 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1054 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1055 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1057 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1058 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1059 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1061 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1062 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1063 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1066 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1067 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1068 "$USERNAME", "$PASSWORD", "$SERVER",
1069 os.path.join(bindir(), "rpcclient"), "tmp"])
1071 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1072 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1073 "$USERNAME", "$PASSWORD", "$SERVER",
1074 os.path.join(bindir(), "rpcclient")])
1076 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1077 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1078 "$USERNAME", "$PASSWORD", "$SERVER",
1079 os.path.join(bindir(), "rpcclient")])
1081 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1082 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1083 "$USERNAME", "$PASSWORD", "$SERVER",
1086 for env in ['fileserver', 'simpleserver']:
1087 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1088 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1089 "$USERNAME", "$PASSWORD", "$SERVER",
1092 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1093 [os.path.join(samba3srcdir,
1094 "script/tests/test_rpcclient_netsessenum.sh"),
1095 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1096 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1098 # The ktest environment uses:
1099 # server min protocol = SMB3_00
1100 # client max protocol = SMB3
1101 options_list = ["", "-e"]
1102 for options in options_list:
1103 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1104 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1105 "$PREFIX/ktest/krb5_ccache-2",
1106 smbclient3, "$SERVER", options, configuration])
1108 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1109 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1110 "$PREFIX/ktest/krb5_ccache-3",
1111 smbclient3, "$SERVER", options, configuration])
1113 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1114 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1115 "$PREFIX/ktest/krb5_ccache-3",
1116 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
1118 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
1119 for options in options_list:
1121 if "NT1" in options:
1122 env = "nt4_dc_smb1_done"
1123 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1124 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1126 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1128 for alias in ["foo", "bar"]:
1129 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1130 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1131 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
1133 for e in endianness_options:
1134 for a in auth_options:
1135 for s in signseal_options:
1136 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1137 options = binding_string + " -U$USERNAME%$PASSWORD"
1138 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1140 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1141 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1143 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1144 plantestsuite("samba3.blackbox.guest", env,
1145 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1146 '$SERVER', smbclient3, smbcontrol, net, configuration])
1148 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
1150 plantestsuite("samba3.blackbox.smbclient-mget",
1152 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1160 t = "readdir-timestamp"
1162 "samba3.smbtorture_s3.plain.%s" % t,
1164 [os.path.join(samba3srcdir,
1165 "script/tests/test_smbtorture_s3.sh"),
1168 '$DOMAIN\\\\$DC_USERNAME',
1172 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1175 "samba3.net_lookup_ldap",
1177 [os.path.join(samba3srcdir,
1178 "script/tests/test_net_lookup.sh"),
1186 def planclusteredmembertestsuite(tname, prefix):
1187 '''Define a clustered test for the clusteredmember environment'''
1191 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1192 namearg = 'clustered.%s' % tname
1193 modnamearg = 'samba3.%s' % namearg
1196 prefix = os.path.join(prefix, 'clusteredmember')
1197 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1199 unclistarg = '--unclist=%s' % unclist
1200 sharearg = '//$SERVER_IP/%s' % tshare
1202 return selftesthelpers.plansmbtorture4testsuite(
1205 [extraargs, unclistarg, sharearg, autharg, tname],
1210 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1212 for test in CLUSTERED_TESTS:
1213 planclusteredmembertestsuite(test, "$PREFIX")
1215 CLUSTERED_LOCAL_TESTS = [
1217 "local-dbwrap-ctdb1"
1220 for t in CLUSTERED_LOCAL_TESTS:
1223 "clusteredmember:local",
1224 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),