s4/torture: add a vfs_fruit unconversion test
[Samba.git] / source3 / selftest / tests.py
blobaff51d67d4a428183e047a3b48c756f29780722a
1 #!/usr/bin/python
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
19 # comments.
21 import os
22 import sys
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=''):
41 if description == '':
42 modname = "samba3.%s" % (name, )
43 else:
44 modname = "samba3.%s %s" % (name, description)
46 selftesthelpers.plansmbtorture4testsuite(
47 name, env, options, target='samba3', modname=modname)
50 # find config.h
51 try:
52 config_h = os.environ["CONFIG_H"]
53 except KeyError:
54 samba4bindir = bindir()
55 config_h = os.path.join(samba4bindir, "default/include/config.h")
57 # check available features
58 config_hash = dict()
59 f = open(config_h, 'r')
60 try:
61 lines = f.readlines()
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)))
65 finally:
66 f.close()
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", "LOCK9",
82 "LOCK10",
83 "LOCK11",
84 "LOCK12",
85 "LOCK13",
86 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
87 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
88 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
89 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
90 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
91 "CHAIN3", "PIDHIGH", "CLI_SPLICE",
92 "UID-REGRESSION-TEST", "SHORTNAME-TEST",
93 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
94 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
95 "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
96 "CLEANUP1",
97 "CLEANUP2",
98 "CLEANUP4",
99 "BAD-NBT-SESSION"]
101 for t in tests:
102 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"])
103 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"])
104 if t == "TORTURE":
105 # this is a negative test to verify that the server rejects
106 # access without encryption
107 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"])
108 if t == "CLI_SPLICE":
109 # We must test this against the SMB1 fallback.
110 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"])
111 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"])
113 t = "TLDAP"
114 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"])
117 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
119 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"])
120 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"])
121 # non-crypt only
123 tests = ["OPLOCK-CANCEL"]
124 for t in tests:
125 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"])
127 env = "nt4_dc"
128 tests = ["MANGLE-ILLEGAL"]
129 for t in tests:
130 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"])
132 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
133 for t in tests:
134 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"])
135 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"])
137 plantestsuite("samba3.smbtorture_s3.hidenewfiles(simpleserver)",
138 "simpleserver",
139 [os.path.join(samba3srcdir,
140 "script/tests/test_smbtorture_s3.sh"),
141 'hide-new-files-timeout',
142 '//$SERVER_IP/hidenewfiles',
143 '$USERNAME',
144 '$PASSWORD',
145 smbtorture3,
147 "-l $LOCAL_PATH"])
149 shares = [
150 "vfs_aio_pthread_async_dosmode_default1",
151 "vfs_aio_pthread_async_dosmode_default2",
152 "vfs_aio_pthread_async_dosmode_force_sync1",
153 "vfs_aio_pthread_async_dosmode_force_sync2"
155 for s in shares:
156 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"])
157 t = "smb2.compound_find"
158 plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
160 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
161 "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
162 "POSIX-BLOCKING-LOCK",
163 "POSIX-ACL-OPLOCK",
164 "POSIX-ACL-SHAREROOT",
167 for t in posix_tests:
168 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"])
169 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"])
170 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"])
172 env = "nt4_dc:local"
173 t = "CLEANUP3"
174 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "", "-l $LOCAL_PATH"])
176 local_tests = [
177 "LOCAL-SUBSTITUTE",
178 "LOCAL-GENCACHE",
179 "LOCAL-BASE64",
180 "LOCAL-RBTREE",
181 "LOCAL-MEMCACHE",
182 "LOCAL-STREAM-NAME",
183 "LOCAL-string_to_sid",
184 "LOCAL-sid_to_string",
185 "LOCAL-binary_to_sid",
186 "LOCAL-DBTRANS",
187 "LOCAL-TEVENT-POLL",
188 "LOCAL-CONVERT-STRING",
189 "LOCAL-CONV-AUTH-INFO",
190 "LOCAL-IDMAP-TDB-COMMON",
191 "LOCAL-MESSAGING-READ1",
192 "LOCAL-MESSAGING-READ2",
193 "LOCAL-MESSAGING-READ3",
194 "LOCAL-MESSAGING-READ4",
195 "LOCAL-MESSAGING-FDPASS1",
196 "LOCAL-MESSAGING-FDPASS2",
197 "LOCAL-MESSAGING-FDPASS2a",
198 "LOCAL-MESSAGING-FDPASS2b",
199 "LOCAL-MESSAGING-SEND-ALL",
200 "LOCAL-PTHREADPOOL-TEVENT",
201 "LOCAL-CANONICALIZE-PATH",
202 "LOCAL-DBWRAP-WATCH1",
203 "LOCAL-DBWRAP-WATCH2",
204 "LOCAL-DBWRAP-DO-LOCKED1",
205 "LOCAL-G-LOCK1",
206 "LOCAL-G-LOCK2",
207 "LOCAL-G-LOCK3",
208 "LOCAL-G-LOCK4",
209 "LOCAL-G-LOCK5",
210 "LOCAL-G-LOCK6",
211 "LOCAL-NAMEMAP-CACHE1",
212 "LOCAL-IDMAP-CACHE1",
213 "LOCAL-hex_encode_buf",
214 "LOCAL-remove_duplicate_addrs2"]
216 for t in local_tests:
217 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
219 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
220 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
221 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
222 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
224 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"])
225 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"])
226 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"])
227 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"])
228 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"])
230 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])
231 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"]:
232 env = "nt4_dc"
233 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
235 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
236 plantestsuite("samba3.blackbox.smbclient_machine_auth.plain (%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
237 plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, configuration])
239 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
240 for env in ["nt4_member", "ad_member"]:
241 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
242 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s member creds" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration, options])
244 env = "ad_dc"
245 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
247 for env in ["ad_member:local", "nt4_dc:local"]:
248 plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
250 env = "nt4_dc"
251 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) ipv6" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IPV6', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration])
253 for env in ["nt4_member", "ad_member"]:
254 plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
256 env = "ad_member"
257 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
258 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
259 plantestsuite("samba3.wbinfo_name_lookup", env,
260 [os.path.join(srcdir(),
261 "nsswitch/tests/test_wbinfo_name_lookup.sh"),
262 '$DOMAIN', '$REALM', '$DC_USERNAME'])
264 env = "ad_member:local"
265 plantestsuite("samba3.wbinfo_user_info", env,
266 [os.path.join(srcdir(),
267 "nsswitch/tests/test_wbinfo_user_info.sh"),
268 '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
270 env = "fl2008r2dc:local"
271 plantestsuite("samba3.wbinfo_user_info", env,
272 [os.path.join(srcdir(),
273 "nsswitch/tests/test_wbinfo_user_info.sh"),
274 '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
276 env = "nt4_member:local"
277 plantestsuite("samba3.wbinfo_sids_to_xids", env,
278 [os.path.join(srcdir(),
279 "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
281 env = "ad_member"
282 t = "WBCLIENT-MULTI-PING"
283 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
284 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
286 for env in ["maptoguest", "simpleserver"]:
287 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) local creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
289 env = "maptoguest"
290 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) bad username" % env, 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"])
291 plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, configuration])
293 # plain
294 for env in ["nt4_dc"]:
295 plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain (%s)" % env, 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"])
296 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain (%s)" % env, 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"])
298 for env in ["nt4_member", "ad_member"]:
299 plantestsuite("samba3.blackbox.smbclient_s3.NT1.plain (%s) member creds" % env, 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"])
300 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.plain (%s) member creds" % env, 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"])
302 for env in ["nt4_dc"]:
303 plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign (%s)" % env, 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"])
304 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign (%s)" % env, 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"])
306 for env in ["nt4_member", "ad_member"]:
307 plantestsuite("samba3.blackbox.smbclient_s3.NT1.sign (%s) member creds" % env, 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"])
308 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.sign (%s) member creds" % env, 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"])
310 for env in ["nt4_dc"]:
311 # encrypted
312 plantestsuite("samba3.blackbox.smbclient_s3.NT1.crypt (%s)" % env, 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"])
313 plantestsuite("samba3.blackbox.smbclient_s3.SMB3.crypt (%s)" % env, 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"])
315 for env in ["fileserver"]:
316 plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
317 plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
318 plantestsuite("samba3.blackbox.dfree_quota (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls])
319 plantestsuite("samba3.blackbox.smbcquotas (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
320 plantestsuite("samba3.blackbox.valid_users (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
321 plantestsuite("samba3.blackbox.offline (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
322 plantestsuite("samba3.blackbox.shadow_copy2 NT1 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
323 plantestsuite("samba3.blackbox.shadow_copy2 SMB3 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'SMB3'])
324 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])
325 plantestsuite("samba3.blackbox.smbclient.forceuser_validusers (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
326 plantestsuite("samba3.blackbox.smbget (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbget.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', 'smbget_user', '$PASSWORD', '$LOCAL_PATH/smbget', smbget])
327 plantestsuite("samba3.blackbox.netshareenum (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
328 plantestsuite("samba3.blackbox.acl_xattr.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mNT1'])
329 plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
330 plantestsuite("samba3.blackbox.smb2.not_casesensitive (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smb2_not_casesensitive.sh"), '//$SERVER/tmp', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
331 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'])
332 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'])
333 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'])
334 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'])
335 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'])
336 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'])
337 plantestsuite("samba3.blackbox.large_acl.NT1", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'NT1'])
338 plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
339 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'])
340 plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
341 plantestsuite("samba3.blackbox.force_group_change", env,
342 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
343 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
344 plantestsuite("samba3.blackbox.zero-data", env,
345 [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
346 '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
349 # tar command tests
352 # Test smbclient/tarmode
353 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env,
354 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
355 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
356 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
357 plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
358 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
359 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
360 '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
362 # Test suite for new smbclient/tar with libarchive (GSoC 13)
363 plantestsuite("samba3.blackbox.smbclient_tar.NT1", env,
364 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
365 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
366 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
367 '-d', '$PREFIX', '-b', smbclient3,
368 '--subunit', '--', configuration, '-mNT1'])
369 plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
370 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
371 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
372 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
373 '-d', '$PREFIX', '-b', smbclient3,
374 '--subunit', '--', configuration, '-mSMB3'])
376 for env in ["fileserver:local"]:
377 plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
379 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"])
380 plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
382 # TODO encrypted against member, with member creds, and with DC creds
383 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
384 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
385 scriptdir, "$SMB_CONF_PATH", net, configuration])
386 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
387 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
388 scriptdir, "$SMB_CONF_PATH", net, configuration])
389 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
390 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
391 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
392 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
393 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
394 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
396 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
397 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
398 scriptdir, "$SMB_CONF_PATH", net, configuration])
399 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
400 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
401 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
403 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
404 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
405 scriptdir, "$SMB_CONF_PATH", net, configuration])
406 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
407 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
408 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
411 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
412 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
413 "$LOCAL_PATH"])
415 plantestsuite(
416 "samba3.pthreadpool", "none",
417 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
419 if with_pthreadpool and have_ldwrap:
420 plantestsuite("samba3.pthreadpool_cmocka", "none",
421 [os.path.join(bindir(), "pthreadpooltest_cmocka")])
423 if with_pthreadpool:
424 plantestsuite("samba3.libwbclient_threads",
425 "nt4_member",
426 [os.path.join(samba3srcdir,
427 "script/tests/test_libwbclient_threads.sh"),
428 "$DOMAIN", "$DC_USERNAME"])
430 plantestsuite(
431 "samba3.resolvconf", "none",
432 [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
434 plantestsuite("samba3.tevent_glib_glue", "none",
435 [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
437 plantestsuite("samba3.async_req", "nt4_dc",
438 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
440 # smbtorture4 tests
442 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
443 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
444 "base.disconnect", "base.fdpass", "base.lock",
445 "base.mangle", "base.negnowait", "base.ntdeny1",
446 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
447 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
448 "base.xcopy", "base.samba3error"]
450 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
451 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
452 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
453 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
454 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
455 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
456 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
457 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
458 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
460 smb2 = smbtorture4_testsuites("smb2.")
462 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
463 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
464 "rpc.samba3.getaliasmembership-0",
465 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
466 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
467 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
468 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
469 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
470 "rpc.spoolss.driver",
471 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
472 "rpc.lsa.privileges", "rpc.lsa.secrets",
473 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
474 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
475 "rpc.samr.priv", "rpc.samr.passwords.validate",
476 "rpc.netlogon.admin",
477 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
478 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
480 local = ["local.nss"]
482 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
484 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
486 unix = ["unix.info2", "unix.whoami"]
488 nbt = ["nbt.dgram"]
490 libsmbclient = ["libsmbclient.version", "libsmbclient.initialize",
491 "libsmbclient.configuration", "libsmbclient.setConfiguration",
492 "libsmbclient.options", "libsmbclient.opendir",
493 "libsmbclient.list_shares", "libsmbclient.readdirplus"]
495 vfs = [
496 "vfs.fruit",
497 "vfs.acl_xattr",
498 "vfs.fruit_netatalk",
499 "vfs.fruit_file_id",
500 "vfs.fruit_timemachine",
501 "vfs.fruit_conversion",
502 "vfs.unfruit",
505 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
507 for t in tests:
508 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
509 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
510 elif t == "base.createx_access":
511 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
512 elif t == "rap.sam":
513 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
514 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
515 elif t == "winbind.pac":
516 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
517 elif t == "unix.whoami":
518 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
519 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
520 for env in ["nt4_dc", "nt4_member"]:
521 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
522 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
523 for env in ["ad_dc", "ad_member"]:
524 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
525 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
526 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
527 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
528 elif t == "raw.samba3posixtimedlock":
529 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
530 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
531 elif t == "raw.chkpath":
532 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
533 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
534 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
535 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
536 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
537 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
538 elif t == "raw.session":
539 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
540 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
541 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
542 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
543 elif t == "smb2.session":
544 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
545 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
546 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
547 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
548 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
549 # ad_member_idmap_rid sets "create krb5.conf = no"
550 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
551 elif t == "rpc.lsa":
552 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
553 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
554 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
555 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
556 elif t == "rpc.samr.passwords.validate":
557 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
558 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
559 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
560 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
561 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
562 elif t == "base.rw1":
563 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
564 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
565 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
566 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
567 elif t == "idmap.rfc2307":
568 plantestsuite(t, "ad_member_rfc2307",
569 [os.path.join(samba3srcdir,
570 "../nsswitch/tests/test_idmap_rfc2307.sh"),
571 '$DOMAIN',
572 'Administrator', '2000000',
573 'Guest', '2000001',
574 '"Domain Users"', '2000002',
575 'DnsAdmins', '2000003',
576 '2000005', '35',
577 'ou=idmap,dc=samba,dc=example,dc=com',
578 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
579 elif t == "idmap.alloc":
580 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
581 elif t == "idmap.rid":
582 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
583 elif t == "idmap.ad":
584 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'])
585 elif t == "raw.acls":
586 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
587 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
588 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
589 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
590 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
591 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
592 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
593 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
594 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
595 elif t == "smb2.ioctl":
596 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
597 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
598 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
599 elif t == "smb2.lock":
600 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
601 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
602 elif t == "raw.lock" or t == "base.lock":
603 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
604 elif t == "raw.read":
605 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
606 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
607 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
608 elif t == "raw.search":
609 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
610 # test the dirsort module.
611 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
612 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
613 elif t == "vfs.fruit":
614 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')
615 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')
616 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')
617 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')
618 elif t == "vfs.fruit_netatalk":
619 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
620 elif t == "vfs.fruit_timemachine":
621 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
622 elif t == "vfs.fruit_file_id":
623 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
624 elif t == "vfs.fruit_conversion":
625 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')
626 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')
627 elif t == "vfs.unfruit":
628 creds = '-U$USERNAME%$PASSWORD'
629 share2 = '--option=torture:share2=tmp'
630 netopt = '--option=torture:net=%s' % net
631 shareopt = '--option=torture:sharename'
633 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
634 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')
635 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')
636 elif t == "rpc.schannel_anon_setpw":
637 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
638 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
639 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
640 elif t == "local.nss":
641 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
642 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
643 elif t == "smb2.change_notify_disabled":
644 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
645 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
646 # These tests are a little slower so don't duplicate them with ad_dc
647 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
648 elif t == "smb2.dosmode":
649 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
650 elif t == "smb2.kernel-oplocks":
651 if have_linux_kernel_oplocks:
652 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
653 elif t == "smb2.notify-inotify":
654 if have_inotify:
655 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
656 elif t == "vfs.acl_xattr":
657 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
658 elif t == "smb2.compound_find":
659 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
660 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
661 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
662 elif t == "rpc.samr.users.privileges":
663 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
664 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
665 elif t == "smb2.compound":
666 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
667 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
668 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
669 elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
670 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
671 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
672 elif t.startswith("libsmbclient"):
673 url = "smb://$USERNAME:$PASSWORD@$SERVER/tmp"
674 if t == "libsmbclient.list_shares":
675 url = "smb://$USERNAME:$PASSWORD@$SERVER"
677 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%%$PASSWORD '
678 '--option=torture:smburl=' + url +
679 ' --option=torture:replace_smbconf=%s' % os.path.join(srcdir(), "testdata/samba3/smb_new.conf"))
680 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%%$PASSWORD '
681 '--option=torture:smburl=' + url +
682 ' --option=torture:replace_smbconf=%s' % os.path.join(srcdir(), "testdata/samba3/smb_new.conf"))
683 elif t == "smb2.streams":
684 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
685 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
686 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
687 elif t == "smb2.aio_delay":
688 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
689 elif t == "smb2.delete-on-close-perms":
690 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
691 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
692 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
693 elif t == "rpc.wkssvc":
694 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
695 elif t == "rpc.srvsvc":
696 plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
697 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
698 else:
699 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
700 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
703 test = 'rpc.lsa.lookupsids'
704 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
705 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
706 endianness_options = ["", ",bigendian"]
707 for s in signseal_options:
708 for e in endianness_options:
709 for a in auth_options:
710 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
711 options = binding_string + " -U$USERNAME%$PASSWORD"
712 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
713 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"),
714 "none", options, configuration])
716 # We should try more combinations in future, but this is all
717 # the pre-calculated credentials cache supports at the moment
719 # As the ktest env requires SMB3_00 we need to use "smb2" until
720 # dcerpc client code in smbtorture support autonegotiation
721 # of any smb dialect.
722 e = ""
723 a = "smb2"
724 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
725 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
726 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
728 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
729 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
731 auth_options2 = ["krb5", "spnego,krb5"]
732 for a in auth_options2:
733 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
735 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"),
736 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
738 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
739 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
740 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
741 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
742 configuration, os.path.join(bindir(), "sharesec"), "tmp"])
744 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
745 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
746 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
747 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
749 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
750 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
752 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
753 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
755 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
756 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
757 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
759 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
760 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
761 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
762 configuration])
764 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
765 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
766 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
767 configuration])
768 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
769 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
770 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
771 configuration])
772 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
773 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
774 "$SERVER", "$PREFIX/net_rpc_oldjoin",
775 "$SMB_CONF_PATH"])
776 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
777 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
778 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
779 configuration])
781 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
782 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
783 "$USERNAME", "$PASSWORD", "$SERVER",
784 os.path.join(bindir(), "rpcclient"), "tmp"])
786 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
787 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
788 "$USERNAME", "$PASSWORD", "$SERVER",
789 os.path.join(bindir(), "rpcclient")])
791 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
792 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
793 "$USERNAME", "$PASSWORD", "$SERVER",
794 smbclient3])
796 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
797 [os.path.join(samba3srcdir,
798 "script/tests/test_rpcclient_netsessenum.sh"),
799 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
800 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
802 # The ktest environment uses:
803 # server min protocol = SMB3_00
804 # client max protocol = SMB3
805 options_list = ["", "-e"]
806 for options in options_list:
807 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
808 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
809 "$PREFIX/ktest/krb5_ccache-2",
810 smbclient3, "$SERVER", options, configuration])
812 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
813 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
814 "$PREFIX/ktest/krb5_ccache-3",
815 smbclient3, "$SERVER", options, configuration])
817 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
818 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
819 "$PREFIX/ktest/krb5_ccache-3",
820 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
822 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
823 for options in options_list:
824 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "nt4_dc:local",
825 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
826 "none",
827 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
829 for alias in ["foo", "bar"]:
830 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
831 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
832 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
834 for e in endianness_options:
835 for a in auth_options:
836 for s in signseal_options:
837 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
838 options = binding_string + " -U$USERNAME%$PASSWORD"
839 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
841 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
842 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')
844 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
845 plantestsuite("samba3.blackbox.guest (%s)" % env , env,
846 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
847 '$SERVER', smbclient3, smbcontrol, net, configuration])
849 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])