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)
74 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
75 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
77 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
79 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
82 "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
88 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
89 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
90 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
91 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
92 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
93 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
94 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
95 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
96 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
97 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
105 for t in fileserver_tests:
106 fileserver_env = "fileserver_smb1"
108 fileserver_env = "fileserver"
109 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"])
110 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"])
112 # this is a negative test to verify that the server rejects
113 # access without encryption
114 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"])
115 if t == "CLI_SPLICE":
116 # We must test this against the SMB1 fallback.
117 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"])
118 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"])
121 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"])
124 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
126 [os.path.join(samba3srcdir,
127 "script/tests/test_smbtorture_s3.sh"),
137 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
139 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"])
140 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"])
143 tests = ["OPLOCK-CANCEL"]
145 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"])
148 tests = ["MANGLE-ILLEGAL"]
150 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"])
152 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
154 if t == "SMB2-BASIC":
157 env = "fileserver_smb1"
159 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"])
160 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"])
162 plantestsuite("samba3.smbtorture_s3.hidenewfiles(fileserver_smb1)",
164 [os.path.join(samba3srcdir,
165 "script/tests/test_smbtorture_s3.sh"),
166 'hide-new-files-timeout',
167 '//$SERVER_IP/hidenewfiles',
175 "vfs_aio_pthread_async_dosmode_default1",
176 "vfs_aio_pthread_async_dosmode_default2",
177 "vfs_aio_pthread_async_dosmode_force_sync1",
178 "vfs_aio_pthread_async_dosmode_force_sync2"
181 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"])
182 t = "smb2.compound_find"
183 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
185 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
186 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
187 "POSIX-BLOCKING-LOCK",
189 "POSIX-ACL-SHAREROOT",
192 for t in posix_tests:
193 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"])
194 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"])
195 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "ad_dc_ntvfs", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
204 "LOCAL-string_to_sid",
205 "LOCAL-sid_to_string",
206 "LOCAL-binary_to_sid",
209 "LOCAL-CONVERT-STRING",
210 "LOCAL-CONV-AUTH-INFO",
211 "LOCAL-IDMAP-TDB-COMMON",
212 "LOCAL-MESSAGING-READ1",
213 "LOCAL-MESSAGING-READ2",
214 "LOCAL-MESSAGING-READ3",
215 "LOCAL-MESSAGING-READ4",
216 "LOCAL-MESSAGING-FDPASS1",
217 "LOCAL-MESSAGING-FDPASS2",
218 "LOCAL-MESSAGING-FDPASS2a",
219 "LOCAL-MESSAGING-FDPASS2b",
220 "LOCAL-MESSAGING-SEND-ALL",
221 "LOCAL-PTHREADPOOL-TEVENT",
222 "LOCAL-CANONICALIZE-PATH",
223 "LOCAL-DBWRAP-WATCH1",
224 "LOCAL-DBWRAP-WATCH2",
225 "LOCAL-DBWRAP-WATCH3",
226 "LOCAL-DBWRAP-WATCH4",
227 "LOCAL-DBWRAP-DO-LOCKED1",
236 "LOCAL-NAMEMAP-CACHE1",
237 "LOCAL-IDMAP-CACHE1",
238 "LOCAL-hex_encode_buf",
239 "LOCAL-remove_duplicate_addrs2"]
241 for t in local_tests:
242 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
244 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
245 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
246 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
247 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
249 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"])
250 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"])
251 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"])
252 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"])
253 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"])
254 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"])
256 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])
257 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"]:
258 if "NT1" in options or "LANMAN2" in options:
259 env = "nt4_dc_smb1_done"
262 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])
264 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
265 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
267 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
268 smb1_env = smb1_env + "_smb1_done"
269 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])
270 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])
273 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
275 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
276 # don't attempt to run SMB1 tests in nt4_member or ad_member
277 # as these test envs don't support SMB1, use nt4_dc instead
278 environs = ["nt4_member", "ad_member"]
279 if "NT1" in options or "LANMAN2" in options:
280 environs = ["nt4_dc_smb1_done"]
282 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])
283 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])
285 for env in ["nt4_member", "ad_member"]:
286 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])
287 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])
288 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])
289 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])
290 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])
291 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])
294 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
296 for env in ["ad_member:local", "nt4_dc:local"]:
297 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
300 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])
302 for env in ["nt4_member", "ad_member"]:
303 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
306 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
307 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
308 plantestsuite("samba3.wbinfo_name_lookup", env,
309 [os.path.join(srcdir(),
310 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
311 '$DOMAIN', '$REALM', '$DC_USERNAME'])
314 plantestsuite("samba3.wbinfo_user_info_cached", env,
315 [os.path.join(srcdir(),
316 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
317 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
318 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
319 [os.path.join(srcdir(),
320 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
321 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
323 env = "ad_member:local"
324 plantestsuite("samba3.wbinfo_user_info", env,
325 [os.path.join(srcdir(),
326 "nsswitch/tests/test_wbinfo_user_info.sh"),
327 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
329 env = "fl2008r2dc:local"
330 plantestsuite("samba3.wbinfo_user_info", env,
331 [os.path.join(srcdir(),
332 "nsswitch/tests/test_wbinfo_user_info.sh"),
333 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
335 env = "nt4_member:local"
336 plantestsuite("samba3.wbinfo_sids_to_xids", env,
337 [os.path.join(srcdir(),
338 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
341 t = "WBCLIENT-MULTI-PING"
342 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
343 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
345 for env in ["maptoguest", "simpleserver"]:
346 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"])
349 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"])
350 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])
351 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])
354 env = "nt4_dc_smb1_done"
355 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"])
357 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"])
359 for env in ["nt4_member", "ad_member"]:
360 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"])
361 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"])
363 env = "nt4_dc_smb1_done"
364 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"])
366 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"])
368 for env in ["nt4_member", "ad_member"]:
369 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"])
370 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"])
372 env = "nt4_dc_smb1_done"
374 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"])
376 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"])
378 for env in ["fileserver"]:
379 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"])
380 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"'])
381 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"])
382 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
383 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"])
384 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"])
385 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
386 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
387 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])
388 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
389 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
390 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'])
391 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'])
392 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])
393 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
394 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])
395 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
396 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'])
397 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
398 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])
399 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'])
400 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'])
401 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'])
402 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'])
403 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'])
404 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'])
405 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'])
406 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
407 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'])
408 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
409 plantestsuite("samba3.blackbox.force_group_change", env,
410 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
411 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
412 plantestsuite("samba3.blackbox.zero-data", env,
413 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
414 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
415 plantestsuite("samba3.blackbox.timestamps", env,
416 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
417 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
418 plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
419 [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
420 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
421 plantestsuite("samba3.blackbox.sacl_get_set", env,
422 [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
423 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
424 plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
425 [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
426 '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
427 plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
428 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
429 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
430 plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
431 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
432 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
433 plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
434 [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
435 '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
441 # Test smbclient/tarmode
442 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
443 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
444 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
445 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
446 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
447 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
448 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
449 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
451 # Test suite for new smbclient/tar with libarchive (GSoC 13)
452 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
453 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
454 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
455 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
456 '-d', '$PREFIX', '-b', smbclient3,
457 '--subunit', '--', configuration, '-mNT1'])
458 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
459 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
460 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
461 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
462 '-d', '$PREFIX', '-b', smbclient3,
463 '--subunit', '--', configuration, '-mSMB3'])
465 for env in ["fileserver:local"]:
466 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
468 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"])
469 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
471 # TODO encrypted against member, with member creds, and with DC creds
472 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
473 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
474 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
475 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
476 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
477 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
478 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
479 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
480 scriptdir, "$SMB_CONF_PATH", net, configuration])
481 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
482 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
483 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
484 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
485 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
486 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
488 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
489 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
490 scriptdir, "$SMB_CONF_PATH", net, configuration])
491 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
492 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
493 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
495 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
496 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
497 scriptdir, "$SMB_CONF_PATH", net, configuration])
498 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
499 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
500 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
503 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
504 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
508 "samba3.pthreadpool", "none",
509 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
511 if with_pthreadpool and have_ldwrap:
512 plantestsuite("samba3.pthreadpool_cmocka", "none",
513 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
516 plantestsuite("samba3.libwbclient_threads",
518 [os.path.join(samba3srcdir,
519 "script/tests/test_libwbclient_threads.sh"),
520 "$DOMAIN", "$DC_USERNAME"])
522 plantestsuite("samba3.test_nfs4_acl", "none",
523 [os.path.join(bindir(), "test_nfs4_acls"),
526 plantestsuite("samba3.test_vfs_full_audit", "none",
527 [os.path.join(bindir(), "test_vfs_full_audit"),
531 "samba3.resolvconf", "none",
532 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
534 plantestsuite("samba3.tevent_glib_glue", "none",
535 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
537 plantestsuite("samba3.async_req", "nt4_dc",
538 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
542 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
543 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
544 "base.disconnect", "base.fdpass", "base.lock",
545 "base.mangle", "base.negnowait", "base.ntdeny1",
546 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
547 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
548 "base.xcopy", "base.samba3error"]
550 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
551 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
552 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
553 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
554 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
555 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
556 "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
557 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
558 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
560 smb2 = smbtorture4_testsuites("smb2.")
562 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
563 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
564 "rpc.samba3.getaliasmembership-0",
565 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
566 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
567 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
568 "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
569 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
570 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
571 "rpc.spoolss.driver",
572 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
573 "rpc.lsa.privileges", "rpc.lsa.secrets",
575 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
576 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
577 "rpc.samr.priv", "rpc.samr.passwords.validate",
578 "rpc.netlogon.admin",
579 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
580 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
582 local = ["local.nss"]
584 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
586 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
588 unix = ["unix.info2", "unix.whoami"]
595 "vfs.fruit_netatalk",
597 "vfs.fruit_timemachine",
598 "vfs.fruit_conversion",
602 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
605 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
606 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
607 elif t == "base.createx_access":
608 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
610 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
611 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
612 elif t == "winbind.pac":
613 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
614 elif t == "unix.whoami":
615 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
616 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
617 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
618 plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
619 for env in ["nt4_dc_smb1", "nt4_member"]:
620 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
621 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
622 for env in ["ad_dc_smb1", "ad_member"]:
623 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
624 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
625 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
626 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
627 elif t == "raw.samba3posixtimedlock":
628 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
629 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
630 description="brl_delay_inject1")
631 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
632 description="brl_delay_inject2")
633 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
634 elif t == "smb2.samba3misc":
635 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
636 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
637 description="brl_delay_inject1")
638 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
639 description="brl_delay_inject2")
640 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
641 elif t == "raw.chkpath":
642 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
643 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
644 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
645 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
646 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
647 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
648 elif t == "raw.session":
649 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
650 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
651 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
652 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
653 elif t == "smb2.session":
654 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
655 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
656 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
657 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
658 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
659 # ad_member_idmap_rid sets "create krb5.conf = no"
660 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
662 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
663 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
664 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
665 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
666 elif t == "rpc.mdssvc":
667 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
668 elif t == "rpc.samr.passwords.validate":
669 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
670 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
671 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
672 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
673 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
674 elif t == "base.rw1":
675 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
676 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
677 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
678 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
679 elif t == "idmap.rfc2307":
680 plantestsuite(t, "ad_member_rfc2307",
681 [os.path.join(samba3srcdir,
682 "../nsswitch/tests/test_idmap_rfc2307.sh"),
684 'Administrator', '2000000',
686 '"Domain Users"', '2000002',
687 'DnsAdmins', '2000003',
689 'ou=idmap,dc=samba,dc=example,dc=com',
690 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
691 elif t == "idmap.alloc":
692 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
693 elif t == "idmap.rid":
694 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
695 elif t == "idmap.ad":
696 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'])
697 elif t == "raw.acls":
698 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
699 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
700 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
701 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
702 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
703 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
704 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
705 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
706 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
707 elif t == "smb2.ioctl":
708 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
709 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
710 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
711 elif t == "smb2.lock":
712 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
713 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
714 elif t == "raw.lock" or t == "base.lock":
715 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
716 elif t == "raw.read":
717 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
718 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
719 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
720 elif t == "raw.search":
721 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
722 # test the dirsort module.
723 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
724 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
725 elif t == "vfs.fruit":
726 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')
727 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')
728 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')
729 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')
730 elif t == "vfs.fruit_netatalk":
731 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
732 elif t == "vfs.fruit_timemachine":
733 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
734 elif t == "vfs.fruit_file_id":
735 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
736 elif t == "vfs.fruit_conversion":
737 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')
738 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')
739 elif t == "vfs.unfruit":
740 creds = '-U$USERNAME%$PASSWORD'
741 share2 = '--option=torture:share2=tmp'
742 netopt = '--option=torture:net=%s' % net
743 shareopt = '--option=torture:sharename'
745 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
746 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')
747 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')
748 elif t == "rpc.schannel_anon_setpw":
749 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
750 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
751 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
752 elif t == "local.nss":
753 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
754 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
755 elif t == "smb2.change_notify_disabled":
756 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
757 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
759 if t == "raw.notify" or t == "raw.oplock":
760 tmp_env = "nt4_dc_smb1"
761 # These tests are a little slower so don't duplicate them with ad_dc
762 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
763 elif t == "smb2.dosmode":
764 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
765 elif t == "smb2.kernel-oplocks":
766 if have_linux_kernel_oplocks:
767 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
768 elif t == "smb2.notify-inotify":
770 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
771 elif t == "vfs.acl_xattr":
772 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
773 elif t == "smb2.compound_find":
774 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
775 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
776 elif t == "rpc.samr.users.privileges":
777 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
778 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
779 elif t == "smb2.compound":
780 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
781 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
782 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
783 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
784 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
785 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
786 elif t == "smb2.streams":
787 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
788 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
789 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
790 elif t == "smb2.aio_delay":
791 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
792 elif t == "smb2.delete-on-close-perms":
793 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
794 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
795 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
796 elif t == "smb2.fileid":
797 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
798 elif t == "rpc.wkssvc":
799 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
800 elif t == "rpc.srvsvc":
801 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
802 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
803 elif t == "rpc.samba3.lsa_over_netlogon":
804 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
805 elif t == "rpc.samba3.pipes_supported_interfaces":
806 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
807 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
808 elif t == "rpc.spoolss.notify":
809 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
810 elif (t in base and t != "base.charset") \
811 or (t in rap and t != "rap.printing") \
813 or (t in ["rpc.authcontext",
816 "rpc.samba3.getusername",
817 "rpc.samba3.sharesec",
818 "rpc.samba3.smb1-pipe-name",
819 "rpc.samba3.smb-reauth1",
820 "rpc.samba3.smb-reauth2",
821 "rpc.samba3.spoolss",
822 "rpc.samba3.wkssvc",]) \
823 or (t in ["raw.close",
829 "raw.samba3badnameblob",
831 "raw.samba3caseinsensitive",
832 "raw.samba3oplocklogoff",
833 "raw.samba3posixtimedlock",
834 "raw.samba3rootdirfid",
835 "raw.samba3rootdirfid2",
838 "raw.sfileinfo.end-of-file",
839 "raw.sfileinfo.rename",
843 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
844 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
845 elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
846 plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
847 plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
849 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
850 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
853 test = 'rpc.lsa.lookupsids'
854 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
855 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
856 endianness_options = ["", ",bigendian"]
857 for s in signseal_options:
858 for e in endianness_options:
859 for a in auth_options:
860 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
861 options = binding_string + " -U$USERNAME%$PASSWORD"
863 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
865 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
866 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"),
867 "none", options, configuration])
869 # We should try more combinations in future, but this is all
870 # the pre-calculated credentials cache supports at the moment
872 # As the ktest env requires SMB3_00 we need to use "smb2" until
873 # dcerpc client code in smbtorture support autonegotiation
874 # of any smb dialect.
877 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
878 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
879 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
881 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
882 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
884 auth_options2 = ["krb5", "spnego,krb5"]
885 for a in auth_options2:
886 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
888 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"),
889 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
891 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
892 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
893 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
894 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
895 configuration, os.path.join(bindir(), "sharesec"),
896 os.path.join(bindir(), "net"), "tmp"])
898 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
899 [os.path.join(samba3srcdir,
900 "script/tests/test_close_denied_share.sh"),
902 os.path.join(bindir(), "sharesec"),
903 os.path.join(bindir(), "smbclient"),
904 os.path.join(bindir(), "smbcontrol"),
908 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
909 [os.path.join(samba3srcdir,
910 "script/tests/test_force_close_share.sh"),
912 os.path.join(bindir(), "smbclient"),
913 os.path.join(bindir(), "smbcontrol"),
917 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
918 [os.path.join(samba3srcdir,
919 "script/tests/test_open_eintr.sh"),
921 os.path.join(bindir(), "smbclient"),
922 os.path.join(bindir(), "smbcontrol"),
926 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
927 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
928 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
929 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
931 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
932 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
934 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
935 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
936 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
938 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
939 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
941 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
942 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
943 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
945 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
946 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
947 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
950 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
951 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
952 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
954 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
955 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
956 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
958 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
959 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
960 "$SERVER", "$PREFIX/net_rpc_oldjoin",
962 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
963 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
964 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
967 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
968 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
969 "$USERNAME", "$PASSWORD", "$SERVER",
970 os.path.join(bindir(), "rpcclient"), "tmp"])
972 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
973 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
974 "$USERNAME", "$PASSWORD", "$SERVER",
975 os.path.join(bindir(), "rpcclient")])
977 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
978 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
979 "$USERNAME", "$PASSWORD", "$SERVER",
980 os.path.join(bindir(), "rpcclient")])
982 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
983 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
984 "$USERNAME", "$PASSWORD", "$SERVER",
987 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
988 [os.path.join(samba3srcdir,
989 "script/tests/test_rpcclient_netsessenum.sh"),
990 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
991 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
993 # The ktest environment uses:
994 # server min protocol = SMB3_00
995 # client max protocol = SMB3
996 options_list = ["", "-e"]
997 for options in options_list:
998 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
999 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1000 "$PREFIX/ktest/krb5_ccache-2",
1001 smbclient3, "$SERVER", options, configuration])
1003 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1004 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1005 "$PREFIX/ktest/krb5_ccache-3",
1006 smbclient3, "$SERVER", options, configuration])
1008 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1009 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1010 "$PREFIX/ktest/krb5_ccache-3",
1011 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
1013 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
1014 for options in options_list:
1016 if "NT1" in options:
1017 env = "nt4_dc_smb1_done"
1018 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1019 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1021 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1023 for alias in ["foo", "bar"]:
1024 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1025 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1026 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
1028 for e in endianness_options:
1029 for a in auth_options:
1030 for s in signseal_options:
1031 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1032 options = binding_string + " -U$USERNAME%$PASSWORD"
1033 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1035 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1036 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1038 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1039 plantestsuite("samba3.blackbox.guest", env,
1040 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1041 '$SERVER', smbclient3, smbcontrol, net, configuration])
1043 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
1045 t = "readdir-timestamp"
1047 "samba3.smbtorture_s3.plain.%s" % t,
1048 "clusteredmember_smb1",
1049 [os.path.join(samba3srcdir,
1050 "script/tests/test_smbtorture_s3.sh"),
1053 '$DOMAIN\\\\$DC_USERNAME',
1057 "-b $PREFIX/clusteredmember_smb1/unclists/tmp.txt -N 5 -o 10"])
1059 def planclusteredmembertestsuite(tname, prefix):
1060 '''Define a clustered test for the clusteredmember environment'''
1064 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1065 namearg = 'clustered.%s' % tname
1066 modnamearg = 'samba3.%s' % namearg
1069 prefix = os.path.join(prefix, 'clusteredmember_smb1')
1070 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1072 unclistarg = '--unclist=%s' % unclist
1073 sharearg = '//$SERVER_IP/%s' % tshare
1075 return selftesthelpers.plansmbtorture4testsuite(
1077 'clusteredmember_smb1',
1078 [extraargs, unclistarg, sharearg, autharg, tname],
1083 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
1085 for test in CLUSTERED_TESTS:
1086 planclusteredmembertestsuite(test, "$PREFIX")
1088 CLUSTERED_LOCAL_TESTS = [
1090 "local-dbwrap-ctdb1"
1093 for t in CLUSTERED_LOCAL_TESTS:
1096 "clusteredmember_smb1:local",
1097 [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),