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
23 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
24 import selftesthelpers
25 from selftesthelpers import bindir, srcdir, scriptdir, binpath
26 from selftesthelpers import plantestsuite, samba3srcdir
27 from selftesthelpers import smbtorture3, configuration, smbclient3, smbtorture4
28 from selftesthelpers import net, wbinfo, dbwrap_tool, rpcclient, python
29 from selftesthelpers import smbget, smbcacls, smbcquotas, ntlm_auth3
30 from selftesthelpers import valgrindify, smbtorture4_testsuites
31 from selftesthelpers import smbtorture4_options
32 from selftesthelpers import smbcontrol
33 from selftesthelpers import smbstatus
34 smbtorture4_options.extend([
35 '--option=torture:sharedelay=100000',
36 '--option=torture:writetimeupdatedelay=500000',
40 def plansmbtorture4testsuite(name, env, options, description=''):
42 modname = "samba3.%s" % (name, )
44 modname = "samba3.%s %s" % (name, description)
46 selftesthelpers.plansmbtorture4testsuite(
47 name, env, options, target='samba3', modname=modname)
52 config_h = os.environ["CONFIG_H"]
54 samba4bindir = bindir()
55 config_h = os.path.join(samba4bindir, "default/include/config.h")
57 # check available features
59 f = open(config_h, 'r')
62 config_hash = dict((x[0], ' '.join(x[1:]))
63 for x in map(lambda line: line.strip().split(' ')[1:],
64 filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines)))
68 have_linux_kernel_oplocks = ("HAVE_KERNEL_OPLOCKS_LINUX" in config_hash)
69 have_inotify = ("HAVE_INOTIFY" in config_hash)
70 have_ldwrap = ("HAVE_LDWRAP" in config_hash)
71 with_pthreadpool = ("WITH_PTHREADPOOL" in config_hash)
73 def is_module_enabled(module):
74 if module in config_hash["STRING_SHARED_MODULES"]:
76 if module in config_hash["STRING_STATIC_MODULES"]:
80 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
81 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
83 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
85 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
88 "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
94 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
95 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
96 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
97 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
98 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
99 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
100 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
101 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
102 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
103 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
111 "SMB1-WILD-MANGLE-UNLINK",
112 "SMB1-WILD-MANGLE-RENAME"]
114 for t in fileserver_tests:
115 fileserver_env = "fileserver_smb1"
117 fileserver_env = "fileserver"
118 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"])
119 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"])
121 # this is a negative test to verify that the server rejects
122 # access without encryption
123 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"])
124 if t == "CLI_SPLICE":
125 # We must test this against the SMB1 fallback.
126 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"])
127 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"])
130 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"])
133 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
135 [os.path.join(samba3srcdir,
136 "script/tests/test_smbtorture_s3.sh"),
146 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
148 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"])
149 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"])
152 tests = ["OPLOCK-CANCEL"]
154 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"])
157 tests = ["MANGLE-ILLEGAL"]
159 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"])
161 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
163 if t == "SMB2-BASIC":
166 env = "fileserver_smb1"
168 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"])
169 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"])
171 plantestsuite("samba3.smbtorture_s3.hidenewfiles(fileserver_smb1)",
173 [os.path.join(samba3srcdir,
174 "script/tests/test_smbtorture_s3.sh"),
175 'hide-new-files-timeout',
176 '//$SERVER_IP/hidenewfiles',
184 # MSDFS attribute tests.
186 plantestsuite("samba3.smbtorture_s3.smb2.MSDFS-ATTRIBUTE",
188 [os.path.join(samba3srcdir,
189 "script/tests/test_smbtorture_s3.sh"),
191 '//$SERVER_IP/msdfs-share',
198 plantestsuite("samba3.smbtorture_s3.smb1.MSDFS-ATTRIBUTE",
200 [os.path.join(samba3srcdir,
201 "script/tests/test_smbtorture_s3.sh"),
203 '//$SERVER_IP/msdfs-share',
211 "vfs_aio_pthread_async_dosmode_default1",
212 "vfs_aio_pthread_async_dosmode_default2",
213 "vfs_aio_pthread_async_dosmode_force_sync1",
214 "vfs_aio_pthread_async_dosmode_force_sync2"
217 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"])
218 t = "smb2.compound_find"
219 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
221 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
222 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
223 "POSIX-BLOCKING-LOCK",
225 "POSIX-ACL-SHAREROOT",
228 for t in posix_tests:
229 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"])
230 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"])
239 "LOCAL-string_to_sid",
240 "LOCAL-sid_to_string",
241 "LOCAL-binary_to_sid",
244 "LOCAL-CONVERT-STRING",
245 "LOCAL-CONV-AUTH-INFO",
246 "LOCAL-IDMAP-TDB-COMMON",
247 "LOCAL-MESSAGING-READ1",
248 "LOCAL-MESSAGING-READ2",
249 "LOCAL-MESSAGING-READ3",
250 "LOCAL-MESSAGING-READ4",
251 "LOCAL-MESSAGING-FDPASS1",
252 "LOCAL-MESSAGING-FDPASS2",
253 "LOCAL-MESSAGING-FDPASS2a",
254 "LOCAL-MESSAGING-FDPASS2b",
255 "LOCAL-MESSAGING-SEND-ALL",
256 "LOCAL-PTHREADPOOL-TEVENT",
257 "LOCAL-CANONICALIZE-PATH",
258 "LOCAL-DBWRAP-WATCH1",
259 "LOCAL-DBWRAP-WATCH2",
260 "LOCAL-DBWRAP-WATCH3",
261 "LOCAL-DBWRAP-WATCH4",
262 "LOCAL-DBWRAP-DO-LOCKED1",
272 "LOCAL-NAMEMAP-CACHE1",
273 "LOCAL-IDMAP-CACHE1",
274 "LOCAL-hex_encode_buf",
275 "LOCAL-remove_duplicate_addrs2"]
277 for t in local_tests:
278 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
280 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
281 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
282 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
283 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
285 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"])
286 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"])
287 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"])
288 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"])
289 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"])
290 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"])
292 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])
293 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"]:
294 if "NT1" in options or "LANMAN2" in options:
295 env = "nt4_dc_smb1_done"
298 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])
300 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
301 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
303 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
304 smb1_env = smb1_env + "_smb1_done"
305 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])
306 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])
309 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
311 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
312 # don't attempt to run SMB1 tests in nt4_member or ad_member
313 # as these test envs don't support SMB1, use nt4_dc instead
314 environs = ["nt4_member", "ad_member"]
315 if "NT1" in options or "LANMAN2" in options:
316 environs = ["nt4_dc_smb1_done"]
318 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])
319 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])
321 for env in ["nt4_member", "ad_member"]:
322 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])
323 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])
324 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])
325 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])
326 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])
327 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])
330 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
332 for env in ["ad_member:local", "nt4_dc:local"]:
333 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
336 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])
338 for env in ["nt4_member", "ad_member"]:
339 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
342 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
343 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
344 plantestsuite("samba3.wbinfo_name_lookup", env,
345 [os.path.join(srcdir(),
346 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
347 '$DOMAIN', '$REALM', '$DC_USERNAME'])
350 plantestsuite("samba3.wbinfo_user_info_cached", env,
351 [os.path.join(srcdir(),
352 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
353 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
354 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
355 [os.path.join(srcdir(),
356 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
357 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
359 env = "ad_member:local"
360 plantestsuite("samba3.wbinfo_user_info", env,
361 [os.path.join(srcdir(),
362 "nsswitch/tests/test_wbinfo_user_info.sh"),
363 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
365 env = "fl2008r2dc:local"
366 plantestsuite("samba3.wbinfo_user_info", env,
367 [os.path.join(srcdir(),
368 "nsswitch/tests/test_wbinfo_user_info.sh"),
369 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
371 env = "nt4_member:local"
372 plantestsuite("samba3.wbinfo_sids_to_xids", env,
373 [os.path.join(srcdir(),
374 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
376 "samba.wbinfo_lookuprids_cache",
378 [os.path.join(samba3srcdir,
379 "script/tests/test_wbinfo_lookuprids_cache.sh")])
382 t = "WBCLIENT-MULTI-PING"
383 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
384 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
386 for env in ["maptoguest", "simpleserver"]:
387 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"])
390 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"])
391 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])
392 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])
395 env = "nt4_dc_smb1_done"
396 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"])
398 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"])
400 for env in ["nt4_member", "ad_member"]:
401 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"])
402 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"])
404 env = "nt4_dc_smb1_done"
405 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"])
407 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"])
409 for env in ["nt4_member", "ad_member"]:
410 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"])
411 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"])
413 env = "nt4_dc_smb1_done"
415 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"])
417 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"])
419 for env in ["fileserver"]:
420 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"])
421 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"'])
422 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"])
423 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
424 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"])
425 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"])
426 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
427 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
428 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])
429 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
430 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
431 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'])
432 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'])
433 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])
434 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
435 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])
436 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
437 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'])
438 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
439 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])
440 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'])
441 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'])
442 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'])
443 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'])
444 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'])
445 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'])
446 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'])
447 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
448 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'])
449 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
450 plantestsuite("samba3.blackbox.force_group_change", env,
451 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
452 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
453 plantestsuite("samba3.blackbox.zero-data", env,
454 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
455 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
456 plantestsuite("samba3.blackbox.timestamps", env,
457 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
458 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
459 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
460 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
461 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
462 plantestsuite("samba3.blackbox.sacl_get_set", env,
463 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
464 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
465 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
466 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
467 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
468 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
469 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
470 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
471 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
472 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
473 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
474 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
475 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
476 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
482 # Test smbclient/tarmode
483 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
484 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
485 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
486 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
487 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
488 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
489 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
490 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
492 # Test suite for new smbclient/tar with libarchive (GSoC 13)
493 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
494 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
495 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
496 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
497 '-d', '$PREFIX', '-b', smbclient3,
498 '--subunit', '--', configuration, '-mNT1'])
499 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
500 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
501 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
502 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
503 '-d', '$PREFIX', '-b', smbclient3,
504 '--subunit', '--', configuration, '-mSMB3'])
506 for env in ["fileserver:local"]:
507 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
509 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"])
510 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
512 # TODO encrypted against member, with member creds, and with DC creds
513 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
514 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
515 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
516 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
517 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
518 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
519 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
520 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
521 scriptdir, "$SMB_CONF_PATH", net, configuration])
522 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
523 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
524 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
525 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
526 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
527 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
529 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
530 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
531 scriptdir, "$SMB_CONF_PATH", net, configuration])
532 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
533 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
534 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
536 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
537 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
538 scriptdir, "$SMB_CONF_PATH", net, configuration])
539 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
540 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
541 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
544 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
545 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
549 "samba3.pthreadpool", "none",
550 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
552 if with_pthreadpool and have_ldwrap:
553 plantestsuite("samba3.pthreadpool_cmocka", "none",
554 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
557 plantestsuite("samba3.libwbclient_threads",
559 [os.path.join(samba3srcdir,
560 "script/tests/test_libwbclient_threads.sh"),
561 "$DOMAIN", "$DC_USERNAME"])
563 plantestsuite("samba3.test_nfs4_acl", "none",
564 [os.path.join(bindir(), "test_nfs4_acls"),
567 plantestsuite("samba3.test_vfs_full_audit", "none",
568 [os.path.join(bindir(), "test_vfs_full_audit"),
571 plantestsuite("samba3.test_vfs_posixacl", "none",
572 [os.path.join(bindir(), "test_vfs_posixacl"),
575 if is_module_enabled("vfs_gpfs"):
576 plantestsuite("samba3.test_vfs_gpfs", "none",
577 [os.path.join(bindir(), "test_vfs_gpfs")])
580 "samba3.resolvconf", "none",
581 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
583 plantestsuite("samba3.tevent_glib_glue", "none",
584 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
586 plantestsuite("samba3.async_req", "nt4_dc",
587 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
591 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
592 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
593 "base.disconnect", "base.fdpass", "base.lock",
594 "base.mangle", "base.negnowait", "base.ntdeny1",
595 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
596 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
597 "base.xcopy", "base.samba3error"]
599 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
600 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
601 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
602 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
603 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
604 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
605 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
606 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
607 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
609 smb2 = smbtorture4_testsuites("smb2.")
611 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
612 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
613 "rpc.samba3.getaliasmembership-0",
614 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
615 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
616 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
617 "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
618 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
619 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
620 "rpc.spoolss.driver",
621 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
622 "rpc.lsa.privileges", "rpc.lsa.secrets",
624 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
625 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
626 "rpc.samr.priv", "rpc.samr.passwords.validate", "rpc.samr.handletype",
627 "rpc.netlogon.admin",
628 "rpc.netlogon.zerologon",
629 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
630 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
632 local = ["local.nss"]
634 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
636 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
638 unix = ["unix.info2", "unix.whoami"]
645 "vfs.fruit_netatalk",
647 "vfs.fruit_timemachine",
648 "vfs.fruit_conversion",
652 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
655 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
656 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
657 elif t == "base.createx_access":
658 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
660 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
661 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
662 elif t == "winbind.pac":
663 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
664 elif t == "unix.whoami":
665 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
666 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
667 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
668 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
669 for env in ["nt4_dc_smb1", "nt4_member"]:
670 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
671 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
672 for env in ["ad_dc_smb1", "ad_member"]:
673 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
674 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
675 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
676 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
677 elif t == "raw.samba3posixtimedlock":
678 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
679 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
680 description="brl_delay_inject1")
681 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
682 description="brl_delay_inject2")
683 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
684 elif t == "smb2.samba3misc":
685 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
686 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
687 description="brl_delay_inject1")
688 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
689 description="brl_delay_inject2")
690 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
691 elif t == "raw.chkpath":
692 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
693 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
694 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
695 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
696 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
697 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
698 elif t == "raw.session":
699 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
700 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
701 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
702 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
703 elif t == "smb2.session":
704 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
705 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
706 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
707 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
708 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
709 # ad_member_idmap_rid sets "create krb5.conf = no"
710 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
712 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
713 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
714 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
715 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
716 elif t == "rpc.mdssvc":
717 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
718 elif t == "rpc.samr.passwords.validate":
719 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
720 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
721 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
722 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
723 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
724 elif t == "base.rw1":
725 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
726 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
727 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
728 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
729 elif t == "idmap.rfc2307":
730 plantestsuite(t, "ad_member_rfc2307",
731 [os.path.join(samba3srcdir,
732 "../nsswitch/tests/test_idmap_rfc2307.sh"),
734 'Administrator', '2000000',
736 '"Domain Users"', '2000002',
737 'DnsAdmins', '2000003',
739 'ou=idmap,dc=samba,dc=example,dc=com',
740 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
741 elif t == "idmap.alloc":
742 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
743 elif t == "idmap.rid":
744 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
745 elif t == "idmap.ad":
746 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'])
747 elif t == "raw.acls":
748 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
749 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
750 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
751 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
752 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
753 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
754 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
755 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
756 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
757 elif t == "smb2.ioctl":
758 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
759 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
760 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
761 elif t == "smb2.lock":
762 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
763 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
764 elif t == "raw.lock" or t == "base.lock":
765 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
766 elif t == "raw.read":
767 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
768 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
769 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
770 elif t == "raw.search":
771 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
772 # test the dirsort module.
773 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
774 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
775 elif t == "vfs.fruit":
776 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')
777 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')
778 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')
779 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')
780 elif t == "vfs.fruit_netatalk":
781 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
782 elif t == "vfs.fruit_timemachine":
783 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
784 elif t == "vfs.fruit_file_id":
785 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
786 elif t == "vfs.fruit_conversion":
787 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')
788 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')
789 elif t == "vfs.unfruit":
790 creds = '-U$USERNAME%$PASSWORD'
791 share2 = '--option=torture:share2=tmp'
792 netopt = '--option=torture:net=%s' % net
793 shareopt = '--option=torture:sharename'
795 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
796 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')
797 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')
798 elif t == "rpc.schannel_anon_setpw":
799 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
800 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
801 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
802 elif t == "local.nss":
803 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
804 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
805 elif t == "smb2.change_notify_disabled":
806 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
807 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
809 if t == "raw.notify" or t == "raw.oplock":
810 tmp_env = "nt4_dc_smb1"
811 # These tests are a little slower so don't duplicate them with ad_dc
812 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
813 elif t == "smb2.dosmode":
814 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
815 elif t == "smb2.kernel-oplocks":
816 if have_linux_kernel_oplocks:
817 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
818 elif t == "smb2.notify-inotify":
820 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
821 elif t == "vfs.acl_xattr":
822 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
823 elif t == "smb2.compound_find":
824 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
825 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
826 elif t == "rpc.samr.users.privileges":
827 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
828 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
829 elif t == "smb2.compound":
830 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
831 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
832 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
833 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
834 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
835 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
836 elif t == "smb2.streams":
837 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
838 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
839 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
840 elif t == "smb2.aio_delay":
841 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
842 elif t == "smb2.delete-on-close-perms":
843 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
844 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
845 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
846 elif t == "smb2.fileid":
847 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
848 elif t == "rpc.wkssvc":
849 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
850 elif t == "rpc.srvsvc":
851 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
852 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
853 elif t == "rpc.samba3.lsa_over_netlogon":
854 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
855 elif t == "rpc.samba3.pipes_supported_interfaces":
856 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
857 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
858 elif t == "rpc.spoolss.notify":
859 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
860 elif (t in base and t != "base.charset") \
861 or (t in rap and t != "rap.printing") \
863 or (t in ["rpc.authcontext",
866 "rpc.samba3.getusername",
867 "rpc.samba3.sharesec",
868 "rpc.samba3.smb1-pipe-name",
869 "rpc.samba3.smb-reauth1",
870 "rpc.samba3.smb-reauth2",
871 "rpc.samba3.spoolss",
872 "rpc.samba3.wkssvc",]) \
873 or (t in ["raw.close",
879 "raw.samba3badnameblob",
881 "raw.samba3caseinsensitive",
882 "raw.samba3oplocklogoff",
883 "raw.samba3posixtimedlock",
884 "raw.samba3rootdirfid",
885 "raw.samba3rootdirfid2",
888 "raw.sfileinfo.end-of-file",
889 "raw.sfileinfo.rename",
893 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
894 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
895 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
896 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
897 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
899 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
900 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
903 "idmap_ad.ticket_expiry",
904 "ad_member_idmap_ad:local",
905 [os.path.join(samba3srcdir, "../nsswitch/tests/test_ticket_expiry.sh"),
908 plansmbtorture4testsuite(
913 test = 'rpc.lsa.lookupsids'
914 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
915 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
916 endianness_options = ["", ",bigendian"]
917 for s in signseal_options:
918 for e in endianness_options:
919 for a in auth_options:
920 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
921 options = binding_string + " -U$USERNAME%$PASSWORD"
923 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
925 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
926 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"),
927 "none", options, configuration])
929 # We should try more combinations in future, but this is all
930 # the pre-calculated credentials cache supports at the moment
932 # As the ktest env requires SMB3_00 we need to use "smb2" until
933 # dcerpc client code in smbtorture support autonegotiation
934 # of any smb dialect.
937 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
938 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
939 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
941 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
942 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
944 auth_options2 = ["krb5", "spnego,krb5"]
945 for a in auth_options2:
946 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
948 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"),
949 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
951 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
952 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
953 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
954 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
955 configuration, os.path.join(bindir(), "sharesec"),
956 os.path.join(bindir(), "net"), "tmp"])
958 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
959 [os.path.join(samba3srcdir,
960 "script/tests/test_close_denied_share.sh"),
962 os.path.join(bindir(), "sharesec"),
963 os.path.join(bindir(), "smbclient"),
964 os.path.join(bindir(), "smbcontrol"),
968 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
969 [os.path.join(samba3srcdir,
970 "script/tests/test_force_close_share.sh"),
972 os.path.join(bindir(), "smbclient"),
973 os.path.join(bindir(), "smbcontrol"),
976 '$PREFIX/force-close-share'])
978 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
979 [os.path.join(samba3srcdir,
980 "script/tests/test_open_eintr.sh"),
982 os.path.join(bindir(), "smbclient"),
983 os.path.join(bindir(), "smbcontrol"),
987 plantestsuite("samba3.blackbox.netfileenum", "simpleserver:local",
988 [os.path.join(samba3srcdir,
989 "script/tests/test_netfileenum.sh"),
990 os.path.join(bindir(), "smbclient"),
991 os.path.join(bindir(), "rpcclient"),
992 os.path.join(bindir(), "net"),
996 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
997 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
998 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
999 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
1001 plantestsuite("samba3.blackbox.aio-outstanding", "simpleserver:local",
1002 [os.path.join(samba3srcdir,
1003 "script/tests/test_aio_outstanding.sh"),
1005 os.path.join(bindir(), "smbclient"),
1007 "aio_delay_inject"])
1009 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
1010 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
1012 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
1013 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
1014 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
1016 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
1017 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
1019 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
1020 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
1021 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
1023 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
1024 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
1025 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
1028 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
1029 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
1030 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
1032 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
1033 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
1034 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
1036 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
1037 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
1038 "$SERVER", "$PREFIX/net_rpc_oldjoin",
1040 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
1041 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
1042 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
1045 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
1046 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
1047 "$USERNAME", "$PASSWORD", "$SERVER",
1048 os.path.join(bindir(), "rpcclient"), "tmp"])
1050 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
1051 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
1052 "$USERNAME", "$PASSWORD", "$SERVER",
1053 os.path.join(bindir(), "rpcclient")])
1055 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
1056 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
1057 "$USERNAME", "$PASSWORD", "$SERVER",
1058 os.path.join(bindir(), "rpcclient")])
1060 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
1061 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
1062 "$USERNAME", "$PASSWORD", "$SERVER",
1065 for env in ['fileserver', 'simpleserver']:
1066 plantestsuite("samba3.blackbox.smbclient.encryption", env,
1067 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption.sh"),
1068 "$USERNAME", "$PASSWORD", "$SERVER",
1071 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
1072 [os.path.join(samba3srcdir,
1073 "script/tests/test_rpcclient_netsessenum.sh"),
1074 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
1075 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
1077 # The ktest environment uses:
1078 # server min protocol = SMB3_00
1079 # client max protocol = SMB3
1080 options_list = ["", "-e"]
1081 for options in options_list:
1082 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
1083 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1084 "$PREFIX/ktest/krb5_ccache-2",
1085 smbclient3, "$SERVER", options, configuration])
1087 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1088 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1089 "$PREFIX/ktest/krb5_ccache-3",
1090 smbclient3, "$SERVER", options, configuration])
1092 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1093 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1094 "$PREFIX/ktest/krb5_ccache-3",
1095 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
1097 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
1098 for options in options_list:
1100 if "NT1" in options:
1101 env = "nt4_dc_smb1_done"
1102 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1103 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1105 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1107 for alias in ["foo", "bar"]:
1108 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1109 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1110 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
1112 for e in endianness_options:
1113 for a in auth_options:
1114 for s in signseal_options:
1115 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1116 options = binding_string + " -U$USERNAME%$PASSWORD"
1117 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1119 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1120 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1122 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1123 plantestsuite("samba3.blackbox.guest", env,
1124 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1125 '$SERVER', smbclient3, smbcontrol, net, configuration])
1127 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
1129 plantestsuite("samba3.blackbox.smbclient-mget",
1131 [os.path.join(samba3srcdir, "script/tests/test_smbclient_mget.sh"),
1139 t = "readdir-timestamp"
1141 "samba3.smbtorture_s3.plain.%s" % t,
1143 [os.path.join(samba3srcdir,
1144 "script/tests/test_smbtorture_s3.sh"),
1147 '$DOMAIN\\\\$DC_USERNAME',
1151 "-b $PREFIX/clusteredmember/unclists/tmp.txt -N 5 -o 10"])
1153 def planclusteredmembertestsuite(tname, prefix):
1154 '''Define a clustered test for the clusteredmember environment'''
1158 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1159 namearg = 'clustered.%s' % tname
1160 modnamearg = 'samba3.%s' % namearg
1163 prefix = os.path.join(prefix, 'clusteredmember')
1164 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1166 unclistarg = '--unclist=%s' % unclist
1167 sharearg = '//$SERVER_IP/%s' % tshare
1169 return selftesthelpers.plansmbtorture4testsuite(
1172 [extraargs, unclistarg, sharearg, autharg, tname],
1177 CLUSTERED_TESTS = [ 'smb2.deny.deny2' ]
1179 for test in CLUSTERED_TESTS:
1180 planclusteredmembertestsuite(test, "$PREFIX")
1182 CLUSTERED_LOCAL_TESTS = [
1184 "local-dbwrap-ctdb1"
1187 for t in CLUSTERED_LOCAL_TESTS:
1190 "clusteredmember:local",
1191 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),