selftest: samba3.blackbox.* so it can run SMB1 & >= SMB2
[Samba.git] / source3 / selftest / tests.py
blobd7fd54e7f915192b2c27357d2e20ae55d715ed86
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",
82 "LOCK9A", "LOCK9B",
83 "LOCK10",
84 "LOCK11",
85 "LOCK12",
86 "LOCK13",
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",
97 "SMB2-PATH-SLASH",
98 "CLEANUP1",
99 "CLEANUP2",
100 "CLEANUP4",
101 "DELETE-STREAM",
102 "BAD-NBT-SESSION"]
104 for t in tests:
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"])
107 if t == "TORTURE":
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"])
116 t = "TLDAP"
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"])
119 t = "OPLOCK5"
120 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
121 "fileserver",
122 [os.path.join(samba3srcdir,
123 "script/tests/test_smbtorture_s3.sh"),
125 '//$SERVER/tmp',
126 '$USERNAME',
127 '$PASSWORD',
128 smbtorture3,
130 "-l $LOCAL_PATH",
131 "-mNT1"])
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"])
137 # non-crypt only
139 tests = ["OPLOCK-CANCEL"]
140 for t in tests:
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"])
143 env = "nt4_dc"
144 tests = ["MANGLE-ILLEGAL"]
145 for t in tests:
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"]
149 for t in tests:
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)",
154 "simpleserver",
155 [os.path.join(samba3srcdir,
156 "script/tests/test_smbtorture_s3.sh"),
157 'hide-new-files-timeout',
158 '//$SERVER_IP/hidenewfiles',
159 '$USERNAME',
160 '$PASSWORD',
161 smbtorture3,
163 "-l $LOCAL_PATH"])
165 shares = [
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"
171 for s in shares:
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",
179 "POSIX-ACL-OPLOCK",
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"])
188 local_tests = [
189 "LOCAL-SUBSTITUTE",
190 "LOCAL-GENCACHE",
191 "LOCAL-BASE64",
192 "LOCAL-RBTREE",
193 "LOCAL-MEMCACHE",
194 "LOCAL-STREAM-NAME",
195 "LOCAL-string_to_sid",
196 "LOCAL-sid_to_string",
197 "LOCAL-binary_to_sid",
198 "LOCAL-DBTRANS",
199 "LOCAL-TEVENT-POLL",
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",
219 "LOCAL-G-LOCK1",
220 "LOCAL-G-LOCK2",
221 "LOCAL-G-LOCK3",
222 "LOCAL-G-LOCK4",
223 "LOCAL-G-LOCK4A",
224 "LOCAL-G-LOCK5",
225 "LOCAL-G-LOCK6",
226 "LOCAL-G-LOCK7",
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"]:
248 env = "nt4_dc"
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])
269 env = "ad_dc"
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'])
275 env = "nt4_dc"
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])
281 env = "ad_member"
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'])
289 env = "ad_member"
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")])
316 env = "ad_member"
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"])
324 env = "maptoguest"
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, "SMB3", configuration])
329 # plain
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"]:
347 # encrypted
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 + "_smb1_done", [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 + "_smb1_done", [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 + "_smb1_done", [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 + "_smb1_done", [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 + "_smb1_done", [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 + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner', '1', '1', '-m', 'NT1'])
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 + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, net, 'inherit_owner_u', '0', '1', '-m', 'NT1'])
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 + "_smb1_done", [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])
393 # tar command tests
396 # Test smbclient/tarmode
397 plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
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 + "_smb1_done",
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"),
460 "$LOCAL_PATH"])
462 plantestsuite(
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")])
470 if with_pthreadpool:
471 plantestsuite("samba3.libwbclient_threads",
472 "nt4_member",
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"),
479 "$SMB_CONF_PATH"])
481 plantestsuite(
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")])
491 # smbtorture4 tests
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.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
520 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
521 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
522 "rpc.spoolss.driver",
523 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
524 "rpc.lsa.privileges", "rpc.lsa.secrets",
525 "rpc.mdssvc",
526 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
527 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
528 "rpc.samr.priv", "rpc.samr.passwords.validate",
529 "rpc.netlogon.admin",
530 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
531 "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
533 local = ["local.nss"]
535 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
537 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
539 unix = ["unix.info2", "unix.whoami"]
541 nbt = ["nbt.dgram"]
543 vfs = [
544 "vfs.fruit",
545 "vfs.acl_xattr",
546 "vfs.fruit_netatalk",
547 "vfs.fruit_file_id",
548 "vfs.fruit_timemachine",
549 "vfs.fruit_conversion",
550 "vfs.unfruit",
553 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
555 for t in tests:
556 if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
557 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
558 elif t == "base.createx_access":
559 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
560 elif t == "rap.sam":
561 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
562 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
563 elif t == "winbind.pac":
564 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
565 elif t == "unix.whoami":
566 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
567 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
568 for env in ["nt4_dc", "nt4_member"]:
569 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
570 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
571 for env in ["ad_dc", "ad_member"]:
572 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
573 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
574 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
575 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
576 elif t == "raw.samba3posixtimedlock" or t == "smb2.samba3misc":
577 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
578 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
579 description="brl_delay_inject1")
580 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
581 description="brl_delay_inject2")
582 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
583 elif t == "raw.chkpath":
584 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
585 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
586 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
587 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
588 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
589 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
590 elif t == "raw.session":
591 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
592 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
593 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
594 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
595 elif t == "smb2.session":
596 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
597 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
598 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
599 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
600 # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
601 # ad_member_idmap_rid sets "create krb5.conf = no"
602 plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
603 elif t == "rpc.lsa":
604 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
605 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
606 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
607 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
608 elif t == "rpc.mdssvc":
609 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
610 elif t == "rpc.samr.passwords.validate":
611 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
612 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
613 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
614 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
615 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
616 elif t == "base.rw1":
617 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
618 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
619 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
620 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
621 elif t == "idmap.rfc2307":
622 plantestsuite(t, "ad_member_rfc2307",
623 [os.path.join(samba3srcdir,
624 "../nsswitch/tests/test_idmap_rfc2307.sh"),
625 '$DOMAIN',
626 'Administrator', '2000000',
627 'Guest', '2000001',
628 '"Domain Users"', '2000002',
629 'DnsAdmins', '2000003',
630 '2000005', '35',
631 'ou=idmap,dc=samba,dc=example,dc=com',
632 '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
633 elif t == "idmap.alloc":
634 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
635 elif t == "idmap.rid":
636 plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
637 elif t == "idmap.ad":
638 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'])
639 elif t == "raw.acls":
640 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
641 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
642 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
643 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
644 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
645 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
646 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
647 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
648 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
649 elif t == "smb2.ioctl":
650 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
651 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
652 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
653 elif t == "smb2.lock":
654 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
655 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
656 elif t == "raw.lock" or t == "base.lock":
657 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
658 elif t == "raw.read":
659 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
660 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
661 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
662 elif t == "raw.search":
663 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
664 # test the dirsort module.
665 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
666 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
667 elif t == "vfs.fruit":
668 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')
669 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')
670 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')
671 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')
672 elif t == "vfs.fruit_netatalk":
673 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
674 elif t == "vfs.fruit_timemachine":
675 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
676 elif t == "vfs.fruit_file_id":
677 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
678 elif t == "vfs.fruit_conversion":
679 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')
680 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')
681 elif t == "vfs.unfruit":
682 creds = '-U$USERNAME%$PASSWORD'
683 share2 = '--option=torture:share2=tmp'
684 netopt = '--option=torture:net=%s' % net
685 shareopt = '--option=torture:sharename'
687 plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
688 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')
689 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')
690 elif t == "rpc.schannel_anon_setpw":
691 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
692 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
693 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
694 elif t == "local.nss":
695 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
696 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
697 elif t == "smb2.change_notify_disabled":
698 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
699 elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
700 # These tests are a little slower so don't duplicate them with ad_dc
701 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
702 elif t == "smb2.dosmode":
703 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
704 elif t == "smb2.kernel-oplocks":
705 if have_linux_kernel_oplocks:
706 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
707 elif t == "smb2.notify-inotify":
708 if have_inotify:
709 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
710 elif t == "vfs.acl_xattr":
711 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
712 elif t == "smb2.compound_find":
713 plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
714 plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/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')
742 elif t == "rpc.samba3.lsa_over_netlogon":
743 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
744 elif t == "rpc.samba3.pipes_supported_interfaces":
745 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
746 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
747 elif t == "rpc.spoolss.notify":
748 plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
749 else:
750 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
751 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
754 test = 'rpc.lsa.lookupsids'
755 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
756 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
757 endianness_options = ["", ",bigendian"]
758 for s in signseal_options:
759 for e in endianness_options:
760 for a in auth_options:
761 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
762 options = binding_string + " -U$USERNAME%$PASSWORD"
763 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
764 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"),
765 "none", options, configuration])
767 # We should try more combinations in future, but this is all
768 # the pre-calculated credentials cache supports at the moment
770 # As the ktest env requires SMB3_00 we need to use "smb2" until
771 # dcerpc client code in smbtorture support autonegotiation
772 # of any smb dialect.
773 e = ""
774 a = "smb2"
775 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
776 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
777 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
779 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
780 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
782 auth_options2 = ["krb5", "spnego,krb5"]
783 for a in auth_options2:
784 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
786 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"),
787 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
789 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
790 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
791 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
792 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
793 configuration, os.path.join(bindir(), "sharesec"),
794 os.path.join(bindir(), "net"), "tmp"])
796 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
797 [os.path.join(samba3srcdir,
798 "script/tests/test_close_denied_share.sh"),
799 configuration,
800 os.path.join(bindir(), "sharesec"),
801 os.path.join(bindir(), "smbclient"),
802 os.path.join(bindir(), "smbcontrol"),
803 '$SERVER_IP',
804 "tmp"])
806 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
807 [os.path.join(samba3srcdir,
808 "script/tests/test_force_close_share.sh"),
809 configuration,
810 os.path.join(bindir(), "smbclient"),
811 os.path.join(bindir(), "smbcontrol"),
812 '$SERVER_IP',
813 "aio_delay_inject"])
815 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
816 [os.path.join(samba3srcdir,
817 "script/tests/test_open_eintr.sh"),
818 configuration,
819 os.path.join(bindir(), "smbclient"),
820 os.path.join(bindir(), "smbcontrol"),
821 '$SERVER_IP',
822 "error_inject"])
824 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
825 [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
826 smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
827 configuration, '$LOCAL_PATH', '$LOCK_DIR'])
829 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
830 [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
832 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
833 [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
834 smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
836 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
837 [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
839 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
840 [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
841 '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
843 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
844 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
845 "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
846 configuration])
848 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
849 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
850 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
851 configuration])
852 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
853 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
854 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
855 configuration])
856 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
857 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
858 "$SERVER", "$PREFIX/net_rpc_oldjoin",
859 "$SMB_CONF_PATH"])
860 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
861 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
862 "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
863 configuration])
865 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
866 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
867 "$USERNAME", "$PASSWORD", "$SERVER",
868 os.path.join(bindir(), "rpcclient"), "tmp"])
870 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
871 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
872 "$USERNAME", "$PASSWORD", "$SERVER",
873 os.path.join(bindir(), "rpcclient")])
875 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
876 [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
877 "$USERNAME", "$PASSWORD", "$SERVER",
878 os.path.join(bindir(), "rpcclient")])
880 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
881 [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
882 "$USERNAME", "$PASSWORD", "$SERVER",
883 smbclient3])
885 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
886 [os.path.join(samba3srcdir,
887 "script/tests/test_rpcclient_netsessenum.sh"),
888 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
889 os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
891 # The ktest environment uses:
892 # server min protocol = SMB3_00
893 # client max protocol = SMB3
894 options_list = ["", "-e"]
895 for options in options_list:
896 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
897 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
898 "$PREFIX/ktest/krb5_ccache-2",
899 smbclient3, "$SERVER", options, configuration])
901 plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
902 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
903 "$PREFIX/ktest/krb5_ccache-3",
904 smbclient3, "$SERVER", options, configuration])
906 plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
907 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
908 "$PREFIX/ktest/krb5_ccache-3",
909 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
911 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
912 for options in options_list:
913 plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "nt4_dc:local",
914 [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
915 "none",
916 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
918 for alias in ["foo", "bar"]:
919 plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
920 [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
921 smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
923 for e in endianness_options:
924 for a in auth_options:
925 for s in signseal_options:
926 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
927 options = binding_string + " -U$USERNAME%$PASSWORD"
928 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
930 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
931 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
933 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
934 plantestsuite("samba3.blackbox.guest", env,
935 [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
936 '$SERVER', smbclient3, smbcontrol, net, configuration])
938 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
941 def planclusteredmembertestsuite(tname, prefix):
942 '''Define a clustered test for the clusteredmember environment'''
944 tshare = 'tmp'
946 autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
947 namearg = 'clustered.%s' % tname
948 modnamearg = 'samba3.%s' % namearg
949 extraargs = ''
951 prefix = os.path.join(prefix, 'clusteredmember_smb1')
952 unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
954 unclistarg = '--unclist=%s' % unclist
955 sharearg = '//$SERVER_IP/%s' % tshare
957 return selftesthelpers.plansmbtorture4testsuite(
958 namearg,
959 'clusteredmember_smb1',
960 [extraargs, unclistarg, sharearg, autharg, tname],
961 target='samba3',
962 modname=modnamearg)
965 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
967 for test in CLUSTERED_TESTS:
968 planclusteredmembertestsuite(test, "$PREFIX")