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.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"])
251 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"])
252 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"])
253 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"])
255 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])
256 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"]:
257 if "NT1" in options or "LANMAN2" in options:
258 env = "nt4_dc_smb1_done"
261 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])
263 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
264 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
266 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
267 smb1_env = smb1_env + "_smb1_done"
268 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])
269 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])
271 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
272 # don't attempt to run SMB1 tests in nt4_member or ad_member
273 # as these test envs don't support SMB1, use nt4_dc instead
274 environs = ["nt4_member", "ad_member"]
275 if "NT1" in options or "LANMAN2" in options:
276 environs = ["nt4_dc_smb1_done"]
278 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])
279 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])
281 for env in ["nt4_member", "ad_member"]:
282 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])
283 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])
284 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])
285 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])
286 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])
287 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])
290 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
292 for env in ["ad_member:local", "nt4_dc:local"]:
293 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
296 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])
298 for env in ["nt4_member", "ad_member"]:
299 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
302 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
303 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
304 plantestsuite("samba3.wbinfo_name_lookup", env,
305 [os.path.join(srcdir(),
306 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
307 '$DOMAIN', '$REALM', '$DC_USERNAME'])
310 plantestsuite("samba3.wbinfo_user_info_cached", env,
311 [os.path.join(srcdir(),
312 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
313 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
314 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
315 [os.path.join(srcdir(),
316 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
317 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
319 env = "ad_member:local"
320 plantestsuite("samba3.wbinfo_user_info", env,
321 [os.path.join(srcdir(),
322 "nsswitch/tests/test_wbinfo_user_info.sh"),
323 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
325 env = "fl2008r2dc:local"
326 plantestsuite("samba3.wbinfo_user_info", env,
327 [os.path.join(srcdir(),
328 "nsswitch/tests/test_wbinfo_user_info.sh"),
329 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
331 env = "nt4_member:local"
332 plantestsuite("samba3.wbinfo_sids_to_xids", env,
333 [os.path.join(srcdir(),
334 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
337 t = "WBCLIENT-MULTI-PING"
338 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
339 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
341 for env in ["maptoguest", "simpleserver"]:
342 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"])
345 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"])
346 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])
347 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])
350 env = "nt4_dc_smb1_done"
351 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"])
353 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"])
355 for env in ["nt4_member", "ad_member"]:
356 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"])
357 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"])
359 env = "nt4_dc_smb1_done"
360 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"])
362 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"])
364 for env in ["nt4_member", "ad_member"]:
365 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"])
366 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"])
368 env = "nt4_dc_smb1_done"
370 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"])
372 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"])
374 for env in ["fileserver"]:
375 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"])
376 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"'])
377 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"])
378 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
379 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"])
380 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"])
381 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
382 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
383 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])
384 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
385 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
386 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'])
387 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'])
388 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])
389 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
390 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])
391 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
392 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'])
393 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
394 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])
395 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'])
396 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'])
397 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'])
398 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'])
399 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'])
400 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'])
401 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'])
402 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
403 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'])
404 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
405 plantestsuite("samba3.blackbox.force_group_change", env,
406 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
407 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
408 plantestsuite("samba3.blackbox.zero-data", env,
409 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
410 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
411 plantestsuite("samba3.blackbox.timestamps", env,
412 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
413 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
419 # Test smbclient/tarmode
420 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
421 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
422 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
423 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
424 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
425 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
426 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
427 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
429 # Test suite for new smbclient/tar with libarchive (GSoC 13)
430 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
431 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
432 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
433 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
434 '-d', '$PREFIX', '-b', smbclient3,
435 '--subunit', '--', configuration, '-mNT1'])
436 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
437 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
438 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
439 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
440 '-d', '$PREFIX', '-b', smbclient3,
441 '--subunit', '--', configuration, '-mSMB3'])
443 for env in ["fileserver:local"]:
444 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
446 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"])
447 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
449 # TODO encrypted against member, with member creds, and with DC creds
450 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
451 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
452 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
453 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
454 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
455 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
456 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
457 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
458 scriptdir, "$SMB_CONF_PATH", net, configuration])
459 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
460 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
461 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
462 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
463 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
464 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
466 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
467 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
468 scriptdir, "$SMB_CONF_PATH", net, configuration])
469 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
470 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
471 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
473 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
474 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
475 scriptdir, "$SMB_CONF_PATH", net, configuration])
476 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
477 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
478 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
481 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
482 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
486 "samba3.pthreadpool", "none",
487 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
489 if with_pthreadpool and have_ldwrap:
490 plantestsuite("samba3.pthreadpool_cmocka", "none",
491 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
494 plantestsuite("samba3.libwbclient_threads",
496 [os.path.join(samba3srcdir,
497 "script/tests/test_libwbclient_threads.sh"),
498 "$DOMAIN", "$DC_USERNAME"])
500 plantestsuite("samba3.test_nfs4_acl", "none",
501 [os.path.join(bindir(), "test_nfs4_acls"),
505 "samba3.resolvconf", "none",
506 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
508 plantestsuite("samba3.tevent_glib_glue", "none",
509 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
511 plantestsuite("samba3.async_req", "nt4_dc",
512 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
516 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
517 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
518 "base.disconnect", "base.fdpass", "base.lock",
519 "base.mangle", "base.negnowait", "base.ntdeny1",
520 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
521 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
522 "base.xcopy", "base.samba3error"]
524 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
525 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
526 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
527 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
528 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
529 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
530 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
531 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
532 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
534 smb2 = smbtorture4_testsuites("smb2.")
536 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
537 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
538 "rpc.samba3.getaliasmembership-0",
539 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
540 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
541 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
542 "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
543 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
544 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
545 "rpc.spoolss.driver",
546 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
547 "rpc.lsa.privileges", "rpc.lsa.secrets",
549 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
550 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
551 "rpc.samr.priv", "rpc.samr.passwords.validate",
552 "rpc.netlogon.admin",
553 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
554 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
556 local = ["local.nss"]
558 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
560 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
562 unix = ["unix.info2", "unix.whoami"]
569 "vfs.fruit_netatalk",
571 "vfs.fruit_timemachine",
572 "vfs.fruit_conversion",
576 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
579 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
580 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
581 elif t == "base.createx_access":
582 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
584 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
585 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
586 elif t == "winbind.pac":
587 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
588 elif t == "unix.whoami":
589 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
590 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
591 for env in ["nt4_dc_smb1", "nt4_member"]:
592 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
593 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
594 for env in ["ad_dc_smb1", "ad_member"]:
595 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
596 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
597 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
598 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
599 elif t == "raw.samba3posixtimedlock":
600 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
601 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
602 description="brl_delay_inject1")
603 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
604 description="brl_delay_inject2")
605 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
606 elif t == "smb2.samba3misc":
607 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
608 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
609 description="brl_delay_inject1")
610 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
611 description="brl_delay_inject2")
612 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
613 elif t == "raw.chkpath":
614 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
615 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
616 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
617 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
618 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
619 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
620 elif t == "raw.session":
621 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
622 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
623 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
624 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
625 elif t == "smb2.session":
626 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
627 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
628 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
629 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
630 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
631 # ad_member_idmap_rid sets "create krb5.conf = no"
632 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
634 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
635 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
636 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
637 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
638 elif t == "rpc.mdssvc":
639 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
640 elif t == "rpc.samr.passwords.validate":
641 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
642 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
643 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
644 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
645 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
646 elif t == "base.rw1":
647 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
648 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
649 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
650 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
651 elif t == "idmap.rfc2307":
652 plantestsuite(t, "ad_member_rfc2307",
653 [os.path.join(samba3srcdir,
654 "../nsswitch/tests/test_idmap_rfc2307.sh"),
656 'Administrator', '2000000',
658 '"Domain Users"', '2000002',
659 'DnsAdmins', '2000003',
661 'ou=idmap,dc=samba,dc=example,dc=com',
662 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
663 elif t == "idmap.alloc":
664 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
665 elif t == "idmap.rid":
666 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
667 elif t == "idmap.ad":
668 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'])
669 elif t == "raw.acls":
670 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
671 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
672 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
673 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
674 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
675 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
676 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
677 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
678 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
679 elif t == "smb2.ioctl":
680 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
681 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
682 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
683 elif t == "smb2.lock":
684 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
685 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
686 elif t == "raw.lock" or t == "base.lock":
687 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
688 elif t == "raw.read":
689 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
690 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
691 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
692 elif t == "raw.search":
693 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
694 # test the dirsort module.
695 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
696 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
697 elif t == "vfs.fruit":
698 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')
699 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')
700 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')
701 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')
702 elif t == "vfs.fruit_netatalk":
703 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
704 elif t == "vfs.fruit_timemachine":
705 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
706 elif t == "vfs.fruit_file_id":
707 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
708 elif t == "vfs.fruit_conversion":
709 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')
710 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')
711 elif t == "vfs.unfruit":
712 creds = '-U$USERNAME%$PASSWORD'
713 share2 = '--option=torture:share2=tmp'
714 netopt = '--option=torture:net=%s' % net
715 shareopt = '--option=torture:sharename'
717 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
718 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')
719 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')
720 elif t == "rpc.schannel_anon_setpw":
721 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
722 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
723 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
724 elif t == "local.nss":
725 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
726 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
727 elif t == "smb2.change_notify_disabled":
728 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
729 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
731 if t == "raw.notify" or t == "raw.oplock":
732 tmp_env = "nt4_dc_smb1"
733 # These tests are a little slower so don't duplicate them with ad_dc
734 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
735 elif t == "smb2.dosmode":
736 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
737 elif t == "smb2.kernel-oplocks":
738 if have_linux_kernel_oplocks:
739 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
740 elif t == "smb2.notify-inotify":
742 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
743 elif t == "vfs.acl_xattr":
744 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
745 elif t == "smb2.compound_find":
746 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
747 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
748 elif t == "rpc.samr.users.privileges":
749 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
750 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
751 elif t == "smb2.compound":
752 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
753 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
754 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
755 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
756 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
757 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
758 elif t == "smb2.streams":
759 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
760 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
761 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
762 elif t == "smb2.aio_delay":
763 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
764 elif t == "smb2.delete-on-close-perms":
765 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
766 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
767 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
768 elif t == "smb2.fileid":
769 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
770 elif t == "rpc.wkssvc":
771 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
772 elif t == "rpc.srvsvc":
773 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
774 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
775 elif t == "rpc.samba3.lsa_over_netlogon":
776 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
777 elif t == "rpc.samba3.pipes_supported_interfaces":
778 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
779 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
780 elif t == "rpc.spoolss.notify":
781 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
782 elif (t in base and t != "base.charset") \
783 or (t in rap and t != "rap.printing") \
785 or (t in ["rpc.authcontext",
788 "rpc.samba3.getusername",
789 "rpc.samba3.sharesec",
790 "rpc.samba3.smb1-pipe-name",
791 "rpc.samba3.smb-reauth1",
792 "rpc.samba3.smb-reauth2",
793 "rpc.samba3.spoolss",
794 "rpc.samba3.wkssvc",]) \
795 or (t in ["raw.close",
801 "raw.samba3badnameblob",
803 "raw.samba3caseinsensitive",
804 "raw.samba3oplocklogoff",
805 "raw.samba3posixtimedlock",
806 "raw.samba3rootdirfid",
809 "raw.sfileinfo.end-of-file",
810 "raw.sfileinfo.rename",
814 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
815 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
817 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
818 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
821 test = 'rpc.lsa.lookupsids'
822 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
823 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
824 endianness_options = ["", ",bigendian"]
825 for s in signseal_options:
826 for e in endianness_options:
827 for a in auth_options:
828 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
829 options = binding_string + " -U$USERNAME%$PASSWORD"
831 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
833 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
834 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"),
835 "none", options, configuration])
837 # We should try more combinations in future, but this is all
838 # the pre-calculated credentials cache supports at the moment
840 # As the ktest env requires SMB3_00 we need to use "smb2" until
841 # dcerpc client code in smbtorture support autonegotiation
842 # of any smb dialect.
845 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
846 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
847 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
849 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
850 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
852 auth_options2 = ["krb5", "spnego,krb5"]
853 for a in auth_options2:
854 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
856 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"),
857 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
859 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
860 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
861 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
862 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
863 configuration, os.path.join(bindir(), "sharesec"),
864 os.path.join(bindir(), "net"), "tmp"])
866 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
867 [os.path.join(samba3srcdir,
868 "script/tests/test_close_denied_share.sh"),
870 os.path.join(bindir(), "sharesec"),
871 os.path.join(bindir(), "smbclient"),
872 os.path.join(bindir(), "smbcontrol"),
876 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
877 [os.path.join(samba3srcdir,
878 "script/tests/test_force_close_share.sh"),
880 os.path.join(bindir(), "smbclient"),
881 os.path.join(bindir(), "smbcontrol"),
885 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
886 [os.path.join(samba3srcdir,
887 "script/tests/test_open_eintr.sh"),
889 os.path.join(bindir(), "smbclient"),
890 os.path.join(bindir(), "smbcontrol"),
894 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
895 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
896 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
897 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
899 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
900 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
902 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
903 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
904 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
906 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
907 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
909 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
910 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
911 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
913 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
914 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
915 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
918 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
919 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
920 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
922 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
923 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
924 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
926 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
927 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
928 "$SERVER", "$PREFIX/net_rpc_oldjoin",
930 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
931 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
932 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
935 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
936 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
937 "$USERNAME", "$PASSWORD", "$SERVER",
938 os.path.join(bindir(), "rpcclient"), "tmp"])
940 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
941 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
942 "$USERNAME", "$PASSWORD", "$SERVER",
943 os.path.join(bindir(), "rpcclient")])
945 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
946 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
947 "$USERNAME", "$PASSWORD", "$SERVER",
948 os.path.join(bindir(), "rpcclient")])
950 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
951 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
952 "$USERNAME", "$PASSWORD", "$SERVER",
955 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
956 [os.path.join(samba3srcdir,
957 "script/tests/test_rpcclient_netsessenum.sh"),
958 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
959 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
961 # The ktest environment uses:
962 # server min protocol = SMB3_00
963 # client max protocol = SMB3
964 options_list = ["", "-e"]
965 for options in options_list:
966 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
967 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
968 "$PREFIX/ktest/krb5_ccache-2",
969 smbclient3, "$SERVER", options, configuration])
971 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
972 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
973 "$PREFIX/ktest/krb5_ccache-3",
974 smbclient3, "$SERVER", options, configuration])
976 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
977 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
978 "$PREFIX/ktest/krb5_ccache-3",
979 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
981 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
982 for options in options_list:
985 env = "nt4_dc_smb1_done"
986 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
987 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
989 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
991 for alias in ["foo", "bar"]:
992 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
993 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
994 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
996 for e in endianness_options:
997 for a in auth_options:
998 for s in signseal_options:
999 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1000 options = binding_string + " -U$USERNAME%$PASSWORD"
1001 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1003 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1004 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1006 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1007 plantestsuite("samba3.blackbox.guest", env,
1008 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1009 '$SERVER', smbclient3, smbcontrol, net, configuration])
1011 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
1014 def planclusteredmembertestsuite(tname, prefix):
1015 '''Define a clustered test for the clusteredmember environment'''
1019 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1020 namearg = 'clustered.%s' % tname
1021 modnamearg = 'samba3.%s' % namearg
1024 prefix = os.path.join(prefix, 'clusteredmember_smb1')
1025 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1027 unclistarg = '--unclist=%s' % unclist
1028 sharearg = '//$SERVER_IP/%s' % tshare
1030 return selftesthelpers.plansmbtorture4testsuite(
1032 'clusteredmember_smb1',
1033 [extraargs, unclistarg, sharearg, autharg, tname],
1038 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
1040 for test in CLUSTERED_TESTS:
1041 planclusteredmembertestsuite(test, "$PREFIX")