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