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", [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", [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", [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", [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 plantestsuite("samba3.smbtorture_s3.vfs_aio_pthread(simpleserver).%s" % t, "simpleserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_pthread', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
155 plantestsuite("samba3.smbtorture_s3.vfs_aio_fork(simpleserver).%s" % t, "simpleserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_fork', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
157 plantestsuite("samba3.smbtorture_s3.hidenewfiles(simpleserver)",
159 [os.path.join(samba3srcdir,
160 "script/tests/test_smbtorture_s3.sh"),
161 'hide-new-files-timeout',
162 '//$SERVER_IP/hidenewfiles',
170 "vfs_aio_pthread_async_dosmode_default1",
171 "vfs_aio_pthread_async_dosmode_default2",
172 "vfs_aio_pthread_async_dosmode_force_sync1",
173 "vfs_aio_pthread_async_dosmode_force_sync2"
176 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"])
177 t = "smb2.compound_find"
178 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
180 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
181 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
182 "POSIX-BLOCKING-LOCK",
184 "POSIX-ACL-SHAREROOT",
187 for t in posix_tests:
188 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
189 plantestsuite("samba3.smbtorture_s3.crypt.%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
190 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"])
199 "LOCAL-string_to_sid",
200 "LOCAL-sid_to_string",
201 "LOCAL-binary_to_sid",
204 "LOCAL-CONVERT-STRING",
205 "LOCAL-CONV-AUTH-INFO",
206 "LOCAL-IDMAP-TDB-COMMON",
207 "LOCAL-MESSAGING-READ1",
208 "LOCAL-MESSAGING-READ2",
209 "LOCAL-MESSAGING-READ3",
210 "LOCAL-MESSAGING-READ4",
211 "LOCAL-MESSAGING-FDPASS1",
212 "LOCAL-MESSAGING-FDPASS2",
213 "LOCAL-MESSAGING-FDPASS2a",
214 "LOCAL-MESSAGING-FDPASS2b",
215 "LOCAL-MESSAGING-SEND-ALL",
216 "LOCAL-PTHREADPOOL-TEVENT",
217 "LOCAL-CANONICALIZE-PATH",
218 "LOCAL-DBWRAP-WATCH1",
219 "LOCAL-DBWRAP-WATCH2",
220 "LOCAL-DBWRAP-WATCH3",
221 "LOCAL-DBWRAP-WATCH4",
222 "LOCAL-DBWRAP-DO-LOCKED1",
231 "LOCAL-NAMEMAP-CACHE1",
232 "LOCAL-IDMAP-CACHE1",
233 "LOCAL-hex_encode_buf",
234 "LOCAL-remove_duplicate_addrs2"]
236 for t in local_tests:
237 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
239 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
240 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
241 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
242 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
244 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"])
245 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"])
246 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"])
247 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"])
248 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"])
250 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])
251 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"]:
252 if "NT1" in options or "LANMAN2" in options:
253 env = "nt4_dc_smb1_done"
256 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])
258 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
259 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
261 if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
262 smb1_env = smb1_env + "_smb1_done"
263 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])
264 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])
266 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
267 for env in ["nt4_member", "ad_member"]:
268 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])
269 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])
271 for env in ["nt4_member", "ad_member"]:
272 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])
273 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])
274 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])
275 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])
276 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])
277 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])
280 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
282 for env in ["ad_member:local", "nt4_dc:local"]:
283 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
286 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])
288 for env in ["nt4_member", "ad_member"]:
289 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
292 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
293 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
294 plantestsuite("samba3.wbinfo_name_lookup", env,
295 [os.path.join(srcdir(),
296 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
297 '$DOMAIN', '$REALM', '$DC_USERNAME'])
300 plantestsuite("samba3.wbinfo_user_info_cached", env,
301 [os.path.join(srcdir(),
302 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
303 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
304 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
305 [os.path.join(srcdir(),
306 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
307 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
309 env = "ad_member:local"
310 plantestsuite("samba3.wbinfo_user_info", env,
311 [os.path.join(srcdir(),
312 "nsswitch/tests/test_wbinfo_user_info.sh"),
313 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
315 env = "fl2008r2dc:local"
316 plantestsuite("samba3.wbinfo_user_info", env,
317 [os.path.join(srcdir(),
318 "nsswitch/tests/test_wbinfo_user_info.sh"),
319 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
321 env = "nt4_member:local"
322 plantestsuite("samba3.wbinfo_sids_to_xids", env,
323 [os.path.join(srcdir(),
324 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
327 t = "WBCLIENT-MULTI-PING"
328 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
329 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
331 for env in ["maptoguest", "simpleserver"]:
332 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"])
335 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"])
336 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])
337 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])
340 env = "nt4_dc_smb1_done"
341 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"])
343 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"])
345 for env in ["nt4_member", "ad_member"]:
346 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"])
347 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"])
349 env = "nt4_dc_smb1_done"
350 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"])
352 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"])
354 for env in ["nt4_member", "ad_member"]:
355 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"])
356 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"])
358 env = "nt4_dc_smb1_done"
360 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"])
362 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"])
364 for env in ["fileserver"]:
365 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"])
366 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"'])
367 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"])
368 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
369 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"])
370 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"])
371 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
372 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
373 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])
374 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
375 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
376 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'])
377 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'])
378 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])
379 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
380 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])
381 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
382 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'])
383 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
384 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])
385 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'])
386 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'])
387 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'])
388 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'])
389 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'])
390 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'])
391 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'])
392 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
393 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'])
394 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
395 plantestsuite("samba3.blackbox.force_group_change", env,
396 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
397 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
398 plantestsuite("samba3.blackbox.zero-data", env,
399 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
400 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
401 plantestsuite("samba3.blackbox.timestamps", env,
402 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
403 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
409 # Test smbclient/tarmode
410 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
411 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
412 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
413 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
414 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
415 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
416 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
417 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
419 # Test suite for new smbclient/tar with libarchive (GSoC 13)
420 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
421 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
422 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
423 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
424 '-d', '$PREFIX', '-b', smbclient3,
425 '--subunit', '--', configuration, '-mNT1'])
426 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
427 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
428 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
429 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
430 '-d', '$PREFIX', '-b', smbclient3,
431 '--subunit', '--', configuration, '-mSMB3'])
433 for env in ["fileserver:local"]:
434 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
436 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"])
437 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
439 # TODO encrypted against member, with member creds, and with DC creds
440 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
441 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
442 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
443 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
444 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
445 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
446 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
447 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
448 scriptdir, "$SMB_CONF_PATH", net, configuration])
449 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
450 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
451 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
452 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
453 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
454 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
456 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
457 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
458 scriptdir, "$SMB_CONF_PATH", net, configuration])
459 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
460 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
461 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
463 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
464 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
465 scriptdir, "$SMB_CONF_PATH", net, configuration])
466 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
467 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
468 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
471 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
472 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
476 "samba3.pthreadpool", "none",
477 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
479 if with_pthreadpool and have_ldwrap:
480 plantestsuite("samba3.pthreadpool_cmocka", "none",
481 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
484 plantestsuite("samba3.libwbclient_threads",
486 [os.path.join(samba3srcdir,
487 "script/tests/test_libwbclient_threads.sh"),
488 "$DOMAIN", "$DC_USERNAME"])
490 plantestsuite("samba3.test_nfs4_acl", "none",
491 [os.path.join(bindir(), "test_nfs4_acls"),
495 "samba3.resolvconf", "none",
496 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
498 plantestsuite("samba3.tevent_glib_glue", "none",
499 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
501 plantestsuite("samba3.async_req", "nt4_dc",
502 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
506 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
507 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
508 "base.disconnect", "base.fdpass", "base.lock",
509 "base.mangle", "base.negnowait", "base.ntdeny1",
510 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
511 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
512 "base.xcopy", "base.samba3error"]
514 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
515 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
516 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
517 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
518 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
519 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
520 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
521 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
522 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
524 smb2 = smbtorture4_testsuites("smb2.")
526 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
527 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
528 "rpc.samba3.getaliasmembership-0",
529 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
530 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
531 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
532 "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
533 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
534 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
535 "rpc.spoolss.driver",
536 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
537 "rpc.lsa.privileges", "rpc.lsa.secrets",
539 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
540 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
541 "rpc.samr.priv", "rpc.samr.passwords.validate",
542 "rpc.netlogon.admin",
543 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
544 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
546 local = ["local.nss"]
548 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
550 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
552 unix = ["unix.info2", "unix.whoami"]
559 "vfs.fruit_netatalk",
561 "vfs.fruit_timemachine",
562 "vfs.fruit_conversion",
566 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
569 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
570 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
571 elif t == "base.createx_access":
572 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
574 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
575 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
576 elif t == "winbind.pac":
577 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
578 elif t == "unix.whoami":
579 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
580 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
581 for env in ["nt4_dc", "nt4_member"]:
582 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
583 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
584 for env in ["ad_dc_smb1", "ad_member"]:
585 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
586 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
587 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
588 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
589 elif t == "raw.samba3posixtimedlock" or t == "smb2.samba3misc":
590 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
591 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
592 description="brl_delay_inject1")
593 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
594 description="brl_delay_inject2")
595 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
596 elif t == "raw.chkpath":
597 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
598 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
599 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
600 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
601 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
602 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
603 elif t == "raw.session":
604 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
605 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
606 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
607 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
608 elif t == "smb2.session":
609 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
610 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
611 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
612 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
613 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
614 # ad_member_idmap_rid sets "create krb5.conf = no"
615 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
617 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
618 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
619 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
620 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
621 elif t == "rpc.mdssvc":
622 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
623 elif t == "rpc.samr.passwords.validate":
624 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
625 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
626 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
627 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
628 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
629 elif t == "base.rw1":
630 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
631 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
632 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
633 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
634 elif t == "idmap.rfc2307":
635 plantestsuite(t, "ad_member_rfc2307",
636 [os.path.join(samba3srcdir,
637 "../nsswitch/tests/test_idmap_rfc2307.sh"),
639 'Administrator', '2000000',
641 '"Domain Users"', '2000002',
642 'DnsAdmins', '2000003',
644 'ou=idmap,dc=samba,dc=example,dc=com',
645 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
646 elif t == "idmap.alloc":
647 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
648 elif t == "idmap.rid":
649 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
650 elif t == "idmap.ad":
651 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'])
652 elif t == "raw.acls":
653 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
654 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
655 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
656 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
657 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
658 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
659 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
660 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
661 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
662 elif t == "smb2.ioctl":
663 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
664 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
665 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
666 elif t == "smb2.lock":
667 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
668 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
669 elif t == "raw.lock" or t == "base.lock":
670 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
671 elif t == "raw.read":
672 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
673 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
674 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
675 elif t == "raw.search":
676 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
677 # test the dirsort module.
678 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
679 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
680 elif t == "vfs.fruit":
681 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')
682 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')
683 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')
684 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')
685 elif t == "vfs.fruit_netatalk":
686 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
687 elif t == "vfs.fruit_timemachine":
688 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
689 elif t == "vfs.fruit_file_id":
690 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
691 elif t == "vfs.fruit_conversion":
692 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')
693 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')
694 elif t == "vfs.unfruit":
695 creds = '-U$USERNAME%$PASSWORD'
696 share2 = '--option=torture:share2=tmp'
697 netopt = '--option=torture:net=%s' % net
698 shareopt = '--option=torture:sharename'
700 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
701 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')
702 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')
703 elif t == "rpc.schannel_anon_setpw":
704 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
705 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
706 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
707 elif t == "local.nss":
708 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
709 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
710 elif t == "smb2.change_notify_disabled":
711 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
712 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
714 if t == "raw.notify" or t == "raw.oplock":
715 tmp_env = "nt4_dc_smb1"
716 # These tests are a little slower so don't duplicate them with ad_dc
717 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
718 elif t == "smb2.dosmode":
719 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
720 elif t == "smb2.kernel-oplocks":
721 if have_linux_kernel_oplocks:
722 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
723 elif t == "smb2.notify-inotify":
725 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
726 elif t == "vfs.acl_xattr":
727 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
728 elif t == "smb2.compound_find":
729 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
730 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
731 elif t == "rpc.samr.users.privileges":
732 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
733 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
734 elif t == "smb2.compound":
735 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
736 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
737 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
738 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
739 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
740 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
741 elif t == "smb2.streams":
742 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
743 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
744 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
745 elif t == "smb2.aio_delay":
746 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
747 elif t == "smb2.delete-on-close-perms":
748 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
749 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
750 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
751 elif t == "smb2.fileid":
752 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
753 elif t == "rpc.wkssvc":
754 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
755 elif t == "rpc.srvsvc":
756 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
757 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
758 elif t == "rpc.samba3.lsa_over_netlogon":
759 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
760 elif t == "rpc.samba3.pipes_supported_interfaces":
761 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
762 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
763 elif t == "rpc.spoolss.notify":
764 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
765 elif (t in base and t != "base.charset") \
766 or (t in rap and t != "rap.printing") \
768 or (t in ["rpc.authcontext",
771 "rpc.samba3.getusername",
772 "rpc.samba3.sharesec",
773 "rpc.samba3.smb1-pipe-name",
774 "rpc.samba3.smb-reauth1",
775 "rpc.samba3.smb-reauth2",
776 "rpc.samba3.spoolss",
777 "rpc.samba3.wkssvc",]) \
778 or (t in ["raw.close",
784 "raw.samba3badnameblob",
786 "raw.samba3caseinsensitive",
787 "raw.samba3oplocklogoff",
788 "raw.samba3posixtimedlock",
789 "raw.samba3rootdirfid",
792 "raw.sfileinfo.end-of-file",
793 "raw.sfileinfo.rename",
797 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
798 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
800 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
801 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
804 test = 'rpc.lsa.lookupsids'
805 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
806 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
807 endianness_options = ["", ",bigendian"]
808 for s in signseal_options:
809 for e in endianness_options:
810 for a in auth_options:
811 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
812 options = binding_string + " -U$USERNAME%$PASSWORD"
813 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
814 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"),
815 "none", options, configuration])
817 # We should try more combinations in future, but this is all
818 # the pre-calculated credentials cache supports at the moment
820 # As the ktest env requires SMB3_00 we need to use "smb2" until
821 # dcerpc client code in smbtorture support autonegotiation
822 # of any smb dialect.
825 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
826 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
827 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
829 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
830 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
832 auth_options2 = ["krb5", "spnego,krb5"]
833 for a in auth_options2:
834 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
836 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"),
837 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
839 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
840 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
841 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
842 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
843 configuration, os.path.join(bindir(), "sharesec"),
844 os.path.join(bindir(), "net"), "tmp"])
846 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
847 [os.path.join(samba3srcdir,
848 "script/tests/test_close_denied_share.sh"),
850 os.path.join(bindir(), "sharesec"),
851 os.path.join(bindir(), "smbclient"),
852 os.path.join(bindir(), "smbcontrol"),
856 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
857 [os.path.join(samba3srcdir,
858 "script/tests/test_force_close_share.sh"),
860 os.path.join(bindir(), "smbclient"),
861 os.path.join(bindir(), "smbcontrol"),
865 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
866 [os.path.join(samba3srcdir,
867 "script/tests/test_open_eintr.sh"),
869 os.path.join(bindir(), "smbclient"),
870 os.path.join(bindir(), "smbcontrol"),
874 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
875 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
876 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
877 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
879 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
880 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
882 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
883 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
884 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
886 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
887 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
889 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
890 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
891 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
893 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
894 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
895 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
898 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
899 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
900 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
902 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
903 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
904 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
906 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
907 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
908 "$SERVER", "$PREFIX/net_rpc_oldjoin",
910 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
911 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
912 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
915 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
916 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
917 "$USERNAME", "$PASSWORD", "$SERVER",
918 os.path.join(bindir(), "rpcclient"), "tmp"])
920 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
921 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
922 "$USERNAME", "$PASSWORD", "$SERVER",
923 os.path.join(bindir(), "rpcclient")])
925 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
926 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
927 "$USERNAME", "$PASSWORD", "$SERVER",
928 os.path.join(bindir(), "rpcclient")])
930 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
931 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
932 "$USERNAME", "$PASSWORD", "$SERVER",
935 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
936 [os.path.join(samba3srcdir,
937 "script/tests/test_rpcclient_netsessenum.sh"),
938 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
939 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
941 # The ktest environment uses:
942 # server min protocol = SMB3_00
943 # client max protocol = SMB3
944 options_list = ["", "-e"]
945 for options in options_list:
946 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
947 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
948 "$PREFIX/ktest/krb5_ccache-2",
949 smbclient3, "$SERVER", options, configuration])
951 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
952 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
953 "$PREFIX/ktest/krb5_ccache-3",
954 smbclient3, "$SERVER", options, configuration])
956 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
957 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
958 "$PREFIX/ktest/krb5_ccache-3",
959 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
961 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
962 for options in options_list:
965 env = "nt4_dc_smb1_done"
966 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
967 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
969 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
971 for alias in ["foo", "bar"]:
972 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
973 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
974 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
976 for e in endianness_options:
977 for a in auth_options:
978 for s in signseal_options:
979 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
980 options = binding_string + " -U$USERNAME%$PASSWORD"
981 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
983 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
984 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
986 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
987 plantestsuite("samba3.blackbox.guest", env,
988 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
989 '$SERVER', smbclient3, smbcontrol, net, configuration])
991 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
994 def planclusteredmembertestsuite(tname, prefix):
995 '''Define a clustered test for the clusteredmember environment'''
999 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1000 namearg = 'clustered.%s' % tname
1001 modnamearg = 'samba3.%s' % namearg
1004 prefix = os.path.join(prefix, 'clusteredmember_smb1')
1005 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1007 unclistarg = '--unclist=%s' % unclist
1008 sharearg = '//$SERVER_IP/%s' % tshare
1010 return selftesthelpers.plansmbtorture4testsuite(
1012 'clusteredmember_smb1',
1013 [extraargs, unclistarg, sharearg, autharg, tname],
1018 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
1020 for test in CLUSTERED_TESTS:
1021 planclusteredmembertestsuite(test, "$PREFIX")