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":
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 for env in ["nt4_dc"]:
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"])
342 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"])
344 for env in ["nt4_member", "ad_member"]:
345 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"])
346 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"])
348 for env in ["nt4_dc"]:
349 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"])
350 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"])
352 for env in ["nt4_member", "ad_member"]:
353 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"])
354 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"])
356 env = "nt4_dc_smb1_done"
358 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"])
360 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"])
362 for env in ["fileserver"]:
363 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"])
364 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"'])
365 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"])
366 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
367 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"])
368 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"])
369 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
370 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
371 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])
372 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
373 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
374 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'])
375 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'])
376 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])
377 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
378 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])
379 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
380 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'])
381 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
382 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])
383 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'])
384 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'])
385 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'])
386 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'])
387 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'])
388 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'])
389 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'])
390 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
391 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'])
392 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
393 plantestsuite("samba3.blackbox.force_group_change", env,
394 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
395 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
396 plantestsuite("samba3.blackbox.zero-data", env,
397 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
398 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
399 plantestsuite("samba3.blackbox.timestamps", env,
400 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
401 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
407 # Test smbclient/tarmode
408 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
409 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
410 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
411 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
412 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
413 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
414 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
415 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
417 # Test suite for new smbclient/tar with libarchive (GSoC 13)
418 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
419 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
420 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
421 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
422 '-d', '$PREFIX', '-b', smbclient3,
423 '--subunit', '--', configuration, '-mNT1'])
424 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
425 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
426 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
427 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
428 '-d', '$PREFIX', '-b', smbclient3,
429 '--subunit', '--', configuration, '-mSMB3'])
431 for env in ["fileserver:local"]:
432 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
434 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"])
435 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
437 # TODO encrypted against member, with member creds, and with DC creds
438 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
439 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
440 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
441 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
442 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
443 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
444 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
445 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
446 scriptdir, "$SMB_CONF_PATH", net, configuration])
447 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
448 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
449 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
450 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
451 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
452 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
454 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
455 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
456 scriptdir, "$SMB_CONF_PATH", net, configuration])
457 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
458 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
459 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
461 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
462 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
463 scriptdir, "$SMB_CONF_PATH", net, configuration])
464 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
465 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
466 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
469 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
470 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
474 "samba3.pthreadpool", "none",
475 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
477 if with_pthreadpool and have_ldwrap:
478 plantestsuite("samba3.pthreadpool_cmocka", "none",
479 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
482 plantestsuite("samba3.libwbclient_threads",
484 [os.path.join(samba3srcdir,
485 "script/tests/test_libwbclient_threads.sh"),
486 "$DOMAIN", "$DC_USERNAME"])
488 plantestsuite("samba3.test_nfs4_acl", "none",
489 [os.path.join(bindir(), "test_nfs4_acls"),
493 "samba3.resolvconf", "none",
494 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
496 plantestsuite("samba3.tevent_glib_glue", "none",
497 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
499 plantestsuite("samba3.async_req", "nt4_dc",
500 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
504 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
505 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
506 "base.disconnect", "base.fdpass", "base.lock",
507 "base.mangle", "base.negnowait", "base.ntdeny1",
508 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
509 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
510 "base.xcopy", "base.samba3error"]
512 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
513 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
514 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
515 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
516 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
517 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
518 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
519 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
520 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
522 smb2 = smbtorture4_testsuites("smb2.")
524 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
525 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
526 "rpc.samba3.getaliasmembership-0",
527 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
528 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
529 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
530 "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
531 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
532 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
533 "rpc.spoolss.driver",
534 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
535 "rpc.lsa.privileges", "rpc.lsa.secrets",
537 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
538 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
539 "rpc.samr.priv", "rpc.samr.passwords.validate",
540 "rpc.netlogon.admin",
541 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
542 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
544 local = ["local.nss"]
546 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
548 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
550 unix = ["unix.info2", "unix.whoami"]
557 "vfs.fruit_netatalk",
559 "vfs.fruit_timemachine",
560 "vfs.fruit_conversion",
564 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
567 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
568 plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
569 elif t == "base.createx_access":
570 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
572 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
573 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
574 elif t == "winbind.pac":
575 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
576 elif t == "unix.whoami":
577 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
578 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
579 for env in ["nt4_dc", "nt4_member"]:
580 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
581 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
582 for env in ["ad_dc_smb1", "ad_member"]:
583 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
584 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
585 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
586 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
587 elif t == "raw.samba3posixtimedlock" or t == "smb2.samba3misc":
588 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
589 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
590 description="brl_delay_inject1")
591 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
592 description="brl_delay_inject2")
593 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
594 elif t == "raw.chkpath":
595 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
596 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
597 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
598 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
599 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
600 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
601 elif t == "raw.session":
602 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
603 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
604 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
605 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
606 elif t == "smb2.session":
607 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
608 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
609 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
610 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
611 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
612 # ad_member_idmap_rid sets "create krb5.conf = no"
613 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
615 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
616 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
617 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
618 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
619 elif t == "rpc.mdssvc":
620 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
621 elif t == "rpc.samr.passwords.validate":
622 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
623 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
624 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
625 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
626 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
627 elif t == "base.rw1":
628 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
629 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
630 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
631 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
632 elif t == "idmap.rfc2307":
633 plantestsuite(t, "ad_member_rfc2307",
634 [os.path.join(samba3srcdir,
635 "../nsswitch/tests/test_idmap_rfc2307.sh"),
637 'Administrator', '2000000',
639 '"Domain Users"', '2000002',
640 'DnsAdmins', '2000003',
642 'ou=idmap,dc=samba,dc=example,dc=com',
643 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
644 elif t == "idmap.alloc":
645 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
646 elif t == "idmap.rid":
647 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
648 elif t == "idmap.ad":
649 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'])
650 elif t == "raw.acls":
651 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
652 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
653 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
654 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
655 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
656 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
657 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
658 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
659 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
660 elif t == "smb2.ioctl":
661 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
662 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
663 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
664 elif t == "smb2.lock":
665 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
666 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
667 elif t == "raw.lock" or t == "base.lock":
668 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
669 elif t == "raw.read":
670 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
671 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
672 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
673 elif t == "raw.search":
674 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
675 # test the dirsort module.
676 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
677 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
678 elif t == "vfs.fruit":
679 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')
680 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')
681 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')
682 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')
683 elif t == "vfs.fruit_netatalk":
684 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
685 elif t == "vfs.fruit_timemachine":
686 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
687 elif t == "vfs.fruit_file_id":
688 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
689 elif t == "vfs.fruit_conversion":
690 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')
691 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')
692 elif t == "vfs.unfruit":
693 creds = '-U$USERNAME%$PASSWORD'
694 share2 = '--option=torture:share2=tmp'
695 netopt = '--option=torture:net=%s' % net
696 shareopt = '--option=torture:sharename'
698 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
699 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')
700 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')
701 elif t == "rpc.schannel_anon_setpw":
702 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
703 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
704 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
705 elif t == "local.nss":
706 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
707 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
708 elif t == "smb2.change_notify_disabled":
709 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
710 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
711 # These tests are a little slower so don't duplicate them with ad_dc
712 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
713 elif t == "smb2.dosmode":
714 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
715 elif t == "smb2.kernel-oplocks":
716 if have_linux_kernel_oplocks:
717 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
718 elif t == "smb2.notify-inotify":
720 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
721 elif t == "vfs.acl_xattr":
722 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
723 elif t == "smb2.compound_find":
724 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
725 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
726 elif t == "rpc.samr.users.privileges":
727 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
728 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
729 elif t == "smb2.compound":
730 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
731 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
732 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
733 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
734 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
735 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
736 elif t == "smb2.streams":
737 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
738 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
739 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
740 elif t == "smb2.aio_delay":
741 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
742 elif t == "smb2.delete-on-close-perms":
743 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
744 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
745 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
746 elif t == "smb2.fileid":
747 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
748 elif t == "rpc.wkssvc":
749 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
750 elif t == "rpc.srvsvc":
751 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
752 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
753 elif t == "rpc.samba3.lsa_over_netlogon":
754 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
755 elif t == "rpc.samba3.pipes_supported_interfaces":
756 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
757 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
758 elif t == "rpc.spoolss.notify":
759 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
760 elif (t in base and t != "base.charset") \
761 or (t in rap and t != "rap.printing") \
763 or (t in ["rpc.authcontext",
766 "rpc.samba3.getusername",
767 "rpc.samba3.sharesec",
768 "rpc.samba3.smb1-pipe-name",
769 "rpc.samba3.smb-reauth1",
770 "rpc.samba3.smb-reauth2",
771 "rpc.samba3.spoolss",
772 "rpc.samba3.wkssvc",]) \
773 or (t in ["raw.close",
779 "raw.samba3badnameblob",
781 "raw.samba3caseinsensitive",
782 "raw.samba3oplocklogoff",
783 "raw.samba3posixtimedlock",
784 "raw.samba3rootdirfid",
787 "raw.sfileinfo.end-of-file",
788 "raw.sfileinfo.rename",
792 plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
793 plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
795 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
796 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
799 test = 'rpc.lsa.lookupsids'
800 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
801 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
802 endianness_options = ["", ",bigendian"]
803 for s in signseal_options:
804 for e in endianness_options:
805 for a in auth_options:
806 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
807 options = binding_string + " -U$USERNAME%$PASSWORD"
808 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
809 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"),
810 "none", options, configuration])
812 # We should try more combinations in future, but this is all
813 # the pre-calculated credentials cache supports at the moment
815 # As the ktest env requires SMB3_00 we need to use "smb2" until
816 # dcerpc client code in smbtorture support autonegotiation
817 # of any smb dialect.
820 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
821 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
822 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
824 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
825 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
827 auth_options2 = ["krb5", "spnego,krb5"]
828 for a in auth_options2:
829 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
831 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"),
832 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
834 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
835 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
836 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
837 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
838 configuration, os.path.join(bindir(), "sharesec"),
839 os.path.join(bindir(), "net"), "tmp"])
841 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
842 [os.path.join(samba3srcdir,
843 "script/tests/test_close_denied_share.sh"),
845 os.path.join(bindir(), "sharesec"),
846 os.path.join(bindir(), "smbclient"),
847 os.path.join(bindir(), "smbcontrol"),
851 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
852 [os.path.join(samba3srcdir,
853 "script/tests/test_force_close_share.sh"),
855 os.path.join(bindir(), "smbclient"),
856 os.path.join(bindir(), "smbcontrol"),
860 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
861 [os.path.join(samba3srcdir,
862 "script/tests/test_open_eintr.sh"),
864 os.path.join(bindir(), "smbclient"),
865 os.path.join(bindir(), "smbcontrol"),
869 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
870 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
871 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
872 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
874 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
875 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
877 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
878 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
879 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
881 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
882 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
884 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
885 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
886 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
888 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
889 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
890 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
893 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
894 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
895 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
897 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
898 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
899 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
901 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
902 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
903 "$SERVER", "$PREFIX/net_rpc_oldjoin",
905 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
906 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
907 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
910 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
911 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
912 "$USERNAME", "$PASSWORD", "$SERVER",
913 os.path.join(bindir(), "rpcclient"), "tmp"])
915 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
916 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
917 "$USERNAME", "$PASSWORD", "$SERVER",
918 os.path.join(bindir(), "rpcclient")])
920 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
921 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
922 "$USERNAME", "$PASSWORD", "$SERVER",
923 os.path.join(bindir(), "rpcclient")])
925 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
926 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
927 "$USERNAME", "$PASSWORD", "$SERVER",
930 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
931 [os.path.join(samba3srcdir,
932 "script/tests/test_rpcclient_netsessenum.sh"),
933 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
934 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
936 # The ktest environment uses:
937 # server min protocol = SMB3_00
938 # client max protocol = SMB3
939 options_list = ["", "-e"]
940 for options in options_list:
941 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
942 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
943 "$PREFIX/ktest/krb5_ccache-2",
944 smbclient3, "$SERVER", options, configuration])
946 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
947 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
948 "$PREFIX/ktest/krb5_ccache-3",
949 smbclient3, "$SERVER", options, configuration])
951 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
952 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
953 "$PREFIX/ktest/krb5_ccache-3",
954 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
956 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
957 for options in options_list:
958 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "nt4_dc:local",
959 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
961 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
963 for alias in ["foo", "bar"]:
964 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
965 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
966 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
968 for e in endianness_options:
969 for a in auth_options:
970 for s in signseal_options:
971 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
972 options = binding_string + " -U$USERNAME%$PASSWORD"
973 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
975 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
976 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
978 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
979 plantestsuite("samba3.blackbox.guest", env,
980 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
981 '$SERVER', smbclient3, smbcontrol, net, configuration])
983 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
986 def planclusteredmembertestsuite(tname, prefix):
987 '''Define a clustered test for the clusteredmember environment'''
991 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
992 namearg = 'clustered.%s' % tname
993 modnamearg = 'samba3.%s' % namearg
996 prefix = os.path.join(prefix, 'clusteredmember_smb1')
997 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
999 unclistarg = '--unclist=%s' % unclist
1000 sharearg = '//$SERVER_IP/%s' % tshare
1002 return selftesthelpers.plansmbtorture4testsuite(
1004 'clusteredmember_smb1',
1005 [extraargs, unclistarg, sharearg, autharg, tname],
1010 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
1012 for test in CLUSTERED_TESTS:
1013 planclusteredmembertestsuite(test, "$PREFIX")