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", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
673 plansmbtorture4testsuite(t, "nt4_dc", '//$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 # These tests are a little slower so don't duplicate them with ad_dc
715 plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
716 elif t == "smb2.dosmode":
717 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
718 elif t == "smb2.kernel-oplocks":
719 if have_linux_kernel_oplocks:
720 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
721 elif t == "smb2.notify-inotify":
723 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
724 elif t == "vfs.acl_xattr":
725 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
726 elif t == "smb2.compound_find":
727 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
728 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
729 elif t == "rpc.samr.users.privileges":
730 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
731 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
732 elif t == "smb2.compound":
733 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
734 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
735 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
736 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
737 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
738 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
739 elif t == "smb2.streams":
740 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
741 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
742 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
743 elif t == "smb2.aio_delay":
744 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
745 elif t == "smb2.delete-on-close-perms":
746 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
747 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
748 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
749 elif t == "smb2.fileid":
750 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
751 elif t == "rpc.wkssvc":
752 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
753 elif t == "rpc.srvsvc":
754 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
755 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
756 elif t == "rpc.samba3.lsa_over_netlogon":
757 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
758 elif t == "rpc.samba3.pipes_supported_interfaces":
759 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
760 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
761 elif t == "rpc.spoolss.notify":
762 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
763 elif (t in base and t != "base.charset") \
764 or (t in rap and t != "rap.printing") \
766 or (t in ["rpc.authcontext",
769 "rpc.samba3.getusername",
770 "rpc.samba3.sharesec",
771 "rpc.samba3.smb1-pipe-name",
772 "rpc.samba3.smb-reauth1",
773 "rpc.samba3.smb-reauth2",
774 "rpc.samba3.spoolss",
775 "rpc.samba3.wkssvc",]) \
776 or (t in ["raw.close",
782 "raw.samba3badnameblob",
784 "raw.samba3caseinsensitive",
785 "raw.samba3oplocklogoff",
786 "raw.samba3posixtimedlock",
787 "raw.samba3rootdirfid",
790 "raw.sfileinfo.end-of-file",
791 "raw.sfileinfo.rename",
795 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
796 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
798 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
799 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
802 test = 'rpc.lsa.lookupsids'
803 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
804 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
805 endianness_options = ["", ",bigendian"]
806 for s in signseal_options:
807 for e in endianness_options:
808 for a in auth_options:
809 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
810 options = binding_string + " -U$USERNAME%$PASSWORD"
811 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
812 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"),
813 "none", options, configuration])
815 # We should try more combinations in future, but this is all
816 # the pre-calculated credentials cache supports at the moment
818 # As the ktest env requires SMB3_00 we need to use "smb2" until
819 # dcerpc client code in smbtorture support autonegotiation
820 # of any smb dialect.
823 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
824 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
825 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
827 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
828 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
830 auth_options2 = ["krb5", "spnego,krb5"]
831 for a in auth_options2:
832 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
834 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"),
835 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
837 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
838 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
839 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
840 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
841 configuration, os.path.join(bindir(), "sharesec"),
842 os.path.join(bindir(), "net"), "tmp"])
844 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
845 [os.path.join(samba3srcdir,
846 "script/tests/test_close_denied_share.sh"),
848 os.path.join(bindir(), "sharesec"),
849 os.path.join(bindir(), "smbclient"),
850 os.path.join(bindir(), "smbcontrol"),
854 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
855 [os.path.join(samba3srcdir,
856 "script/tests/test_force_close_share.sh"),
858 os.path.join(bindir(), "smbclient"),
859 os.path.join(bindir(), "smbcontrol"),
863 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
864 [os.path.join(samba3srcdir,
865 "script/tests/test_open_eintr.sh"),
867 os.path.join(bindir(), "smbclient"),
868 os.path.join(bindir(), "smbcontrol"),
872 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
873 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
874 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
875 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
877 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
878 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
880 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
881 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
882 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
884 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
885 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
887 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
888 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
889 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
891 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
892 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
893 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
896 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
897 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
898 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
900 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
901 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
902 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
904 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
905 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
906 "$SERVER", "$PREFIX/net_rpc_oldjoin",
908 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
909 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
910 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
913 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
914 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
915 "$USERNAME", "$PASSWORD", "$SERVER",
916 os.path.join(bindir(), "rpcclient"), "tmp"])
918 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
919 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
920 "$USERNAME", "$PASSWORD", "$SERVER",
921 os.path.join(bindir(), "rpcclient")])
923 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
924 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
925 "$USERNAME", "$PASSWORD", "$SERVER",
926 os.path.join(bindir(), "rpcclient")])
928 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
929 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
930 "$USERNAME", "$PASSWORD", "$SERVER",
933 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
934 [os.path.join(samba3srcdir,
935 "script/tests/test_rpcclient_netsessenum.sh"),
936 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
937 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
939 # The ktest environment uses:
940 # server min protocol = SMB3_00
941 # client max protocol = SMB3
942 options_list = ["", "-e"]
943 for options in options_list:
944 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
945 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
946 "$PREFIX/ktest/krb5_ccache-2",
947 smbclient3, "$SERVER", options, configuration])
949 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
950 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
951 "$PREFIX/ktest/krb5_ccache-3",
952 smbclient3, "$SERVER", options, configuration])
954 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
955 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
956 "$PREFIX/ktest/krb5_ccache-3",
957 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
959 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
960 for options in options_list:
963 env = "nt4_dc_smb1_done"
964 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
965 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
967 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
969 for alias in ["foo", "bar"]:
970 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
971 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
972 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
974 for e in endianness_options:
975 for a in auth_options:
976 for s in signseal_options:
977 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
978 options = binding_string + " -U$USERNAME%$PASSWORD"
979 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
981 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
982 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
984 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
985 plantestsuite("samba3.blackbox.guest", env,
986 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
987 '$SERVER', smbclient3, smbcontrol, net, configuration])
989 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
992 def planclusteredmembertestsuite(tname, prefix):
993 '''Define a clustered test for the clusteredmember environment'''
997 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
998 namearg = 'clustered.%s' % tname
999 modnamearg = 'samba3.%s' % namearg
1002 prefix = os.path.join(prefix, 'clusteredmember_smb1')
1003 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1005 unclistarg = '--unclist=%s' % unclist
1006 sharearg = '//$SERVER_IP/%s' % tshare
1008 return selftesthelpers.plansmbtorture4testsuite(
1010 'clusteredmember_smb1',
1011 [extraargs, unclistarg, sharearg, autharg, tname],
1016 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
1018 for test in CLUSTERED_TESTS:
1019 planclusteredmembertestsuite(test, "$PREFIX")