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])
81 tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
87 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
88 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
89 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
90 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
91 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
92 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
93 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
94 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
95 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
96 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
105 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "fileserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
106 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"])
108 # this is a negative test to verify that the server rejects
109 # access without encryption
110 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"])
111 if t == "CLI_SPLICE":
112 # We must test this against the SMB1 fallback.
113 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "fileserver", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH", "-mNT1"])
114 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"])
117 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"])
120 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
122 [os.path.join(samba3srcdir,
123 "script/tests/test_smbtorture_s3.sh"),
133 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
135 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"])
136 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"])
139 tests = ["OPLOCK-CANCEL"]
141 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"])
144 tests = ["MANGLE-ILLEGAL"]
146 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"])
148 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
150 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"])
151 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"])
153 plantestsuite("samba3.smbtorture_s3.hidenewfiles(simpleserver)",
155 [os.path.join(samba3srcdir,
156 "script/tests/test_smbtorture_s3.sh"),
157 'hide-new-files-timeout',
158 '//$SERVER_IP/hidenewfiles',
166 "vfs_aio_pthread_async_dosmode_default1",
167 "vfs_aio_pthread_async_dosmode_default2",
168 "vfs_aio_pthread_async_dosmode_force_sync1",
169 "vfs_aio_pthread_async_dosmode_force_sync2"
172 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"])
173 t = "smb2.compound_find"
174 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
176 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
177 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
178 "POSIX-BLOCKING-LOCK",
180 "POSIX-ACL-SHAREROOT",
183 for t in posix_tests:
184 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"])
185 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"])
186 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"])
195 "LOCAL-string_to_sid",
196 "LOCAL-sid_to_string",
197 "LOCAL-binary_to_sid",
200 "LOCAL-CONVERT-STRING",
201 "LOCAL-CONV-AUTH-INFO",
202 "LOCAL-IDMAP-TDB-COMMON",
203 "LOCAL-MESSAGING-READ1",
204 "LOCAL-MESSAGING-READ2",
205 "LOCAL-MESSAGING-READ3",
206 "LOCAL-MESSAGING-READ4",
207 "LOCAL-MESSAGING-FDPASS1",
208 "LOCAL-MESSAGING-FDPASS2",
209 "LOCAL-MESSAGING-FDPASS2a",
210 "LOCAL-MESSAGING-FDPASS2b",
211 "LOCAL-MESSAGING-SEND-ALL",
212 "LOCAL-PTHREADPOOL-TEVENT",
213 "LOCAL-CANONICALIZE-PATH",
214 "LOCAL-DBWRAP-WATCH1",
215 "LOCAL-DBWRAP-WATCH2",
216 "LOCAL-DBWRAP-WATCH3",
217 "LOCAL-DBWRAP-WATCH4",
218 "LOCAL-DBWRAP-DO-LOCKED1",
227 "LOCAL-NAMEMAP-CACHE1",
228 "LOCAL-IDMAP-CACHE1",
229 "LOCAL-hex_encode_buf",
230 "LOCAL-remove_duplicate_addrs2"]
232 for t in local_tests:
233 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
235 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
236 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
237 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
238 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
240 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"])
241 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"])
242 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"])
243 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"])
244 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"])
246 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])
247 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"]:
249 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])
251 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
252 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
253 plantestsuite("samba3.blackbox.smbclient_ntlm.plain NT1", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, "NT1", configuration])
254 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])
256 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
257 for env in ["nt4_member", "ad_member"]:
258 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])
259 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])
261 for env in ["nt4_member", "ad_member"]:
262 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])
263 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])
264 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])
265 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])
266 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])
267 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])
270 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
272 for env in ["ad_member:local", "nt4_dc:local"]:
273 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
276 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])
278 for env in ["nt4_member", "ad_member"]:
279 plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
282 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
283 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
284 plantestsuite("samba3.wbinfo_name_lookup", env,
285 [os.path.join(srcdir(),
286 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
287 '$DOMAIN', '$REALM', '$DC_USERNAME'])
290 plantestsuite("samba3.wbinfo_user_info_cached", env,
291 [os.path.join(srcdir(),
292 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
293 '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
294 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
295 [os.path.join(srcdir(),
296 "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
297 '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
299 env = "ad_member:local"
300 plantestsuite("samba3.wbinfo_user_info", env,
301 [os.path.join(srcdir(),
302 "nsswitch/tests/test_wbinfo_user_info.sh"),
303 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
305 env = "fl2008r2dc:local"
306 plantestsuite("samba3.wbinfo_user_info", env,
307 [os.path.join(srcdir(),
308 "nsswitch/tests/test_wbinfo_user_info.sh"),
309 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
311 env = "nt4_member:local"
312 plantestsuite("samba3.wbinfo_sids_to_xids", env,
313 [os.path.join(srcdir(),
314 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
317 t = "WBCLIENT-MULTI-PING"
318 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
319 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
321 for env in ["maptoguest", "simpleserver"]:
322 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"])
325 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"])
326 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])
327 plantestsuite("samba3.blackbox.smbclient_ntlm.plain.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, "NT1", configuration])
330 for env in ["nt4_dc"]:
331 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"])
332 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"])
334 for env in ["nt4_member", "ad_member"]:
335 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"])
336 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"])
338 for env in ["nt4_dc"]:
339 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"])
340 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"])
342 for env in ["nt4_member", "ad_member"]:
343 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"])
344 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"])
346 for env in ["nt4_dc"]:
348 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"])
349 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"])
351 for env in ["fileserver"]:
352 plantestsuite("samba3.blackbox.preserve_case.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "NT1"])
353 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"'])
354 plantestsuite("samba3.blackbox.dfree_command.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "NT1"])
355 plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
356 plantestsuite("samba3.blackbox.dfree_quota.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls, "NT1"])
357 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"])
358 plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
359 plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
360 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])
361 plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
362 plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
363 plantestsuite("samba3.blackbox.shadow_copy2.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
364 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'])
365 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])
366 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
367 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])
368 plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
369 plantestsuite("samba3.blackbox.acl_xattr.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mNT1'])
370 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
371 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])
372 plantestsuite("samba3.blackbox.inherit_owner.default.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'tmp', '0', '0', '-m', 'NT1'])
373 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'])
374 plantestsuite("samba3.blackbox.inherit_owner.full.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner', '1', '1', '-m', 'NT1'])
375 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'])
376 plantestsuite("samba3.blackbox.inherit_owner.unix.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner_u', '0', '1', '-m', 'NT1'])
377 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'])
378 plantestsuite("samba3.blackbox.large_acl.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'NT1'])
379 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
380 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'])
381 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
382 plantestsuite("samba3.blackbox.force_group_change", env,
383 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
384 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
385 plantestsuite("samba3.blackbox.zero-data", env,
386 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
387 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
388 plantestsuite("samba3.blackbox.timestamps", env,
389 [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
390 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
396 # Test smbclient/tarmode
397 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env,
398 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
399 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
400 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
401 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
402 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
403 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
404 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
406 # Test suite for new smbclient/tar with libarchive (GSoC 13)
407 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env,
408 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
409 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
410 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
411 '-d', '$PREFIX', '-b', smbclient3,
412 '--subunit', '--', configuration, '-mNT1'])
413 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
414 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
415 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
416 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
417 '-d', '$PREFIX', '-b', smbclient3,
418 '--subunit', '--', configuration, '-mSMB3'])
420 for env in ["fileserver:local"]:
421 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
423 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"])
424 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
426 # TODO encrypted against member, with member creds, and with DC creds
427 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
428 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
429 scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
430 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
431 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
432 scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
433 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
434 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
435 scriptdir, "$SMB_CONF_PATH", net, configuration])
436 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
437 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
438 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
439 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
440 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
441 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
443 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
444 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
445 scriptdir, "$SMB_CONF_PATH", net, configuration])
446 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
447 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
448 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
450 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
451 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
452 scriptdir, "$SMB_CONF_PATH", net, configuration])
453 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
454 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
455 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
458 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
459 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
463 "samba3.pthreadpool", "none",
464 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
466 if with_pthreadpool and have_ldwrap:
467 plantestsuite("samba3.pthreadpool_cmocka", "none",
468 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
471 plantestsuite("samba3.libwbclient_threads",
473 [os.path.join(samba3srcdir,
474 "script/tests/test_libwbclient_threads.sh"),
475 "$DOMAIN", "$DC_USERNAME"])
477 plantestsuite("samba3.test_nfs4_acl", "none",
478 [os.path.join(bindir(), "test_nfs4_acls"),
482 "samba3.resolvconf", "none",
483 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
485 plantestsuite("samba3.tevent_glib_glue", "none",
486 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
488 plantestsuite("samba3.async_req", "nt4_dc",
489 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
493 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
494 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
495 "base.disconnect", "base.fdpass", "base.lock",
496 "base.mangle", "base.negnowait", "base.ntdeny1",
497 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
498 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
499 "base.xcopy", "base.samba3error"]
501 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
502 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
503 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
504 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
505 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
506 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
507 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
508 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
509 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
511 smb2 = smbtorture4_testsuites("smb2.")
513 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
514 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
515 "rpc.samba3.getaliasmembership-0",
516 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
517 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
518 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
519 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
520 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
521 "rpc.spoolss.driver",
522 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
523 "rpc.lsa.privileges", "rpc.lsa.secrets",
525 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
526 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
527 "rpc.samr.priv", "rpc.samr.passwords.validate",
528 "rpc.netlogon.admin",
529 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
530 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
532 local = ["local.nss"]
534 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
536 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
538 unix = ["unix.info2", "unix.whoami"]
545 "vfs.fruit_netatalk",
547 "vfs.fruit_timemachine",
548 "vfs.fruit_conversion",
552 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
555 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
556 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
557 elif t == "base.createx_access":
558 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
560 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
561 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
562 elif t == "winbind.pac":
563 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
564 elif t == "unix.whoami":
565 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
566 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
567 for env in ["nt4_dc", "nt4_member"]:
568 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
569 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
570 for env in ["ad_dc", "ad_member"]:
571 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
572 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
573 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
574 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
575 elif t == "raw.samba3posixtimedlock" or t == "smb2.samba3misc":
576 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
577 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
578 description="brl_delay_inject1")
579 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
580 description="brl_delay_inject2")
581 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
582 elif t == "raw.chkpath":
583 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
584 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
585 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
586 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
587 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
588 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
589 elif t == "raw.session":
590 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
591 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
592 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
593 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
594 elif t == "smb2.session":
595 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
596 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
597 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
598 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
599 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
600 # ad_member_idmap_rid sets "create krb5.conf = no"
601 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
603 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
604 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
605 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
606 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
607 elif t == "rpc.mdssvc":
608 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
609 elif t == "rpc.samr.passwords.validate":
610 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
611 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
612 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
613 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
614 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
615 elif t == "base.rw1":
616 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
617 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
618 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
619 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
620 elif t == "idmap.rfc2307":
621 plantestsuite(t, "ad_member_rfc2307",
622 [os.path.join(samba3srcdir,
623 "../nsswitch/tests/test_idmap_rfc2307.sh"),
625 'Administrator', '2000000',
627 '"Domain Users"', '2000002',
628 'DnsAdmins', '2000003',
630 'ou=idmap,dc=samba,dc=example,dc=com',
631 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
632 elif t == "idmap.alloc":
633 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
634 elif t == "idmap.rid":
635 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
636 elif t == "idmap.ad":
637 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'])
638 elif t == "raw.acls":
639 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
640 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
641 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
642 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
643 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
644 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
645 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
646 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
647 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
648 elif t == "smb2.ioctl":
649 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
650 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
651 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
652 elif t == "smb2.lock":
653 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
654 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
655 elif t == "raw.lock" or t == "base.lock":
656 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
657 elif t == "raw.read":
658 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
659 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
660 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
661 elif t == "raw.search":
662 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
663 # test the dirsort module.
664 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
665 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
666 elif t == "vfs.fruit":
667 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')
668 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')
669 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')
670 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')
671 elif t == "vfs.fruit_netatalk":
672 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
673 elif t == "vfs.fruit_timemachine":
674 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
675 elif t == "vfs.fruit_file_id":
676 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
677 elif t == "vfs.fruit_conversion":
678 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')
679 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')
680 elif t == "vfs.unfruit":
681 creds = '-U$USERNAME%$PASSWORD'
682 share2 = '--option=torture:share2=tmp'
683 netopt = '--option=torture:net=%s' % net
684 shareopt = '--option=torture:sharename'
686 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
687 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')
688 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')
689 elif t == "rpc.schannel_anon_setpw":
690 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
691 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
692 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
693 elif t == "local.nss":
694 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
695 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
696 elif t == "smb2.change_notify_disabled":
697 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
698 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
699 # These tests are a little slower so don't duplicate them with ad_dc
700 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
701 elif t == "smb2.dosmode":
702 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
703 elif t == "smb2.kernel-oplocks":
704 if have_linux_kernel_oplocks:
705 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
706 elif t == "smb2.notify-inotify":
708 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
709 elif t == "vfs.acl_xattr":
710 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
711 elif t == "smb2.compound_find":
712 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
713 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
714 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
715 elif t == "rpc.samr.users.privileges":
716 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
717 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
718 elif t == "smb2.compound":
719 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
720 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
721 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
722 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
723 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
724 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
725 elif t == "smb2.streams":
726 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
727 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
728 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
729 elif t == "smb2.aio_delay":
730 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
731 elif t == "smb2.delete-on-close-perms":
732 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
733 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
734 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
735 elif t == "smb2.fileid":
736 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
737 elif t == "rpc.wkssvc":
738 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
739 elif t == "rpc.srvsvc":
740 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
741 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
743 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
744 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
747 test = 'rpc.lsa.lookupsids'
748 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
749 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
750 endianness_options = ["", ",bigendian"]
751 for s in signseal_options:
752 for e in endianness_options:
753 for a in auth_options:
754 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
755 options = binding_string + " -U$USERNAME%$PASSWORD"
756 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
757 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"),
758 "none", options, configuration])
760 # We should try more combinations in future, but this is all
761 # the pre-calculated credentials cache supports at the moment
763 # As the ktest env requires SMB3_00 we need to use "smb2" until
764 # dcerpc client code in smbtorture support autonegotiation
765 # of any smb dialect.
768 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
769 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
770 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
772 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
773 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
775 auth_options2 = ["krb5", "spnego,krb5"]
776 for a in auth_options2:
777 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
779 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"),
780 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
782 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
783 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
784 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
785 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
786 configuration, os.path.join(bindir(), "sharesec"),
787 os.path.join(bindir(), "net"), "tmp"])
789 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
790 [os.path.join(samba3srcdir,
791 "script/tests/test_close_denied_share.sh"),
793 os.path.join(bindir(), "sharesec"),
794 os.path.join(bindir(), "smbclient"),
795 os.path.join(bindir(), "smbcontrol"),
799 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
800 [os.path.join(samba3srcdir,
801 "script/tests/test_force_close_share.sh"),
803 os.path.join(bindir(), "smbclient"),
804 os.path.join(bindir(), "smbcontrol"),
808 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
809 [os.path.join(samba3srcdir,
810 "script/tests/test_open_eintr.sh"),
812 os.path.join(bindir(), "smbclient"),
813 os.path.join(bindir(), "smbcontrol"),
817 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
818 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
819 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
820 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
822 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
823 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
825 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
826 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
827 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
829 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
830 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
832 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
833 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
834 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
836 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
837 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
838 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
841 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
842 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
843 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
845 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
846 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
847 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
849 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
850 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
851 "$SERVER", "$PREFIX/net_rpc_oldjoin",
853 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
854 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
855 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
858 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
859 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
860 "$USERNAME", "$PASSWORD", "$SERVER",
861 os.path.join(bindir(), "rpcclient"), "tmp"])
863 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
864 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
865 "$USERNAME", "$PASSWORD", "$SERVER",
866 os.path.join(bindir(), "rpcclient")])
868 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
869 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
870 "$USERNAME", "$PASSWORD", "$SERVER",
871 os.path.join(bindir(), "rpcclient")])
873 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
874 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
875 "$USERNAME", "$PASSWORD", "$SERVER",
878 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
879 [os.path.join(samba3srcdir,
880 "script/tests/test_rpcclient_netsessenum.sh"),
881 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
882 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
884 # The ktest environment uses:
885 # server min protocol = SMB3_00
886 # client max protocol = SMB3
887 options_list = ["", "-e"]
888 for options in options_list:
889 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
890 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
891 "$PREFIX/ktest/krb5_ccache-2",
892 smbclient3, "$SERVER", options, configuration])
894 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
895 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
896 "$PREFIX/ktest/krb5_ccache-3",
897 smbclient3, "$SERVER", options, configuration])
899 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
900 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
901 "$PREFIX/ktest/krb5_ccache-3",
902 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
904 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
905 for options in options_list:
906 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "nt4_dc:local",
907 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
909 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
911 for alias in ["foo", "bar"]:
912 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
913 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
914 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
916 for e in endianness_options:
917 for a in auth_options:
918 for s in signseal_options:
919 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
920 options = binding_string + " -U$USERNAME%$PASSWORD"
921 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
923 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
924 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
926 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
927 plantestsuite("samba3.blackbox.guest", env,
928 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
929 '$SERVER', smbclient3, smbcontrol, net, configuration])
931 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
934 def planclusteredmembertestsuite(tname, prefix):
935 '''Define a clustered test for the clusteredmember environment'''
939 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
940 namearg = 'clustered.%s' % tname
941 modnamearg = 'samba3.%s' % namearg
944 prefix = os.path.join(prefix, 'clusteredmember')
945 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
947 unclistarg = '--unclist=%s' % unclist
948 sharearg = '//$SERVER_IP/%s' % tshare
950 return selftesthelpers.plansmbtorture4testsuite(
953 [extraargs, unclistarg, sharearg, autharg, tname],
958 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
960 for test in CLUSTERED_TESTS:
961 planclusteredmembertestsuite(test, "$PREFIX")