s4/torture: add a *real* root_dir_fid test
[gd/samba-autobuild/.git] / source3 / selftest / tests.py
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.
4
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".
8
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.
15
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.
20
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',
37 ])
38
39
40 def plansmbtorture4testsuite(name, env, options, description=''):
41     if description == '':
42         modname = "samba3.%s" % (name, )
43     else:
44         modname = "samba3.%s %s" % (name, description)
45
46     selftesthelpers.plansmbtorture4testsuite(
47         name, env, options, target='samba3', modname=modname)
48
49
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")
56
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()
67
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)
72
73
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")])
76
77 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
78
79 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
80
81 fileserver_tests = [
82          "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7",
83          "LOCK9A", "LOCK9B",
84          "LOCK10",
85          "LOCK11",
86          "LOCK12",
87          "LOCK13",
88          "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
89          "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
90          "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
91          "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
92          "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
93          "CHAIN3", "PIDHIGH", "CLI_SPLICE",
94          "UID-REGRESSION-TEST", "SHORTNAME-TEST",
95          "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
96          "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
97          "SMB2-ANONYMOUS", "SMB2-DIR-FSYNC",
98          "SMB2-PATH-SLASH",
99          "CLEANUP1",
100          "CLEANUP2",
101          "CLEANUP4",
102          "DELETE-STREAM",
103          "BAD-NBT-SESSION"]
104
105 for t in fileserver_tests:
106     fileserver_env = "fileserver_smb1"
107     if "SMB2" in t:
108         fileserver_env = "fileserver"
109     plantestsuite("samba3.smbtorture_s3.plain.%s" % t, fileserver_env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
110     plantestsuite("samba3.smbtorture_s3.crypt_client.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
111     if t == "TORTURE":
112         # this is a negative test to verify that the server rejects
113         # access without encryption
114         plantestsuite("samba3.smbtorture_s3.crypt_server.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmpenc', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
115     if t == "CLI_SPLICE":
116         # We must test this against the SMB1 fallback.
117         plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "fileserver_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH", "-mNT1"])
118     plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "ad_dc_ntvfs", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
119
120 t = "TLDAP"
121 plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER/tmp', '$DC_USERNAME', '$DC_PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
122
123 t = "OPLOCK5"
124 plantestsuite("samba3.smbtorture_s3.plain.%s" % t,
125               "fileserver_smb1",
126               [os.path.join(samba3srcdir,
127                             "script/tests/test_smbtorture_s3.sh"),
128                t,
129                '//$SERVER/tmp',
130                '$USERNAME',
131                '$PASSWORD',
132                smbtorture3,
133                "",
134                "-l $LOCAL_PATH",
135                "-mNT1"])
136 #
137 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
138 #
139 plantestsuite("samba3.smbtorture_s3.plain.%s" % "RENAME-ACCESS", "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), "RENAME-ACCESS", '//$SERVER_IP/acl_xattr_ign_sysacl_windows', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
140 plantestsuite("samba3.smbtorture_s3.crypt_client.%s" % "RENAME-ACCESS", "nt4_dc_smb1", [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"])
141 # non-crypt only
142
143 tests = ["OPLOCK-CANCEL"]
144 for t in tests:
145     plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
146
147 env = "nt4_dc_smb1"
148 tests = ["MANGLE-ILLEGAL"]
149 for t in tests:
150     plantestsuite("samba3.smbtorture_s3.plain.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/mangle_illegal', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
151
152 tests = ["RW1", "RW2", "RW3", "SMB2-BASIC"]
153 for t in tests:
154     if t == "SMB2-BASIC":
155         env = "simpleserver"
156     else:
157         env = "fileserver_smb1"
158
159     plantestsuite("samba3.smbtorture_s3.vfs_aio_pthread(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_pthread', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
160     plantestsuite("samba3.smbtorture_s3.vfs_aio_fork(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/vfs_aio_fork', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
161
162 plantestsuite("samba3.smbtorture_s3.hidenewfiles(fileserver_smb1)",
163               "fileserver_smb1",
164               [os.path.join(samba3srcdir,
165                             "script/tests/test_smbtorture_s3.sh"),
166                'hide-new-files-timeout',
167                '//$SERVER_IP/hidenewfiles',
168                '$USERNAME',
169                '$PASSWORD',
170                smbtorture3,
171                "",
172                "-l $LOCAL_PATH"])
173
174 shares = [
175     "vfs_aio_pthread_async_dosmode_default1",
176     "vfs_aio_pthread_async_dosmode_default2",
177     "vfs_aio_pthread_async_dosmode_force_sync1",
178     "vfs_aio_pthread_async_dosmode_force_sync2"
179 ]
180 for s in shares:
181     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"])
182     t = "smb2.compound_find"
183     plansmbtorture4testsuite(t, "simpleserver", "//%s/%s %s" % ('$SERVER_IP', s, ' -U$USERNAME%$PASSWORD'), description=s)
184
185 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
186                "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK", "POSIX-MKDIR",
187                "POSIX-BLOCKING-LOCK",
188                "POSIX-ACL-OPLOCK",
189                "POSIX-ACL-SHAREROOT",
190               ]
191
192 for t in posix_tests:
193     plantestsuite("samba3.smbtorture_s3.plain.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
194     plantestsuite("samba3.smbtorture_s3.crypt.%s" % t, "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
195     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"])
196
197 local_tests = [
198     "LOCAL-SUBSTITUTE",
199     "LOCAL-GENCACHE",
200     "LOCAL-BASE64",
201     "LOCAL-RBTREE",
202     "LOCAL-MEMCACHE",
203     "LOCAL-STREAM-NAME",
204     "LOCAL-string_to_sid",
205     "LOCAL-sid_to_string",
206     "LOCAL-binary_to_sid",
207     "LOCAL-DBTRANS",
208     "LOCAL-TEVENT-POLL",
209     "LOCAL-CONVERT-STRING",
210     "LOCAL-CONV-AUTH-INFO",
211     "LOCAL-IDMAP-TDB-COMMON",
212     "LOCAL-MESSAGING-READ1",
213     "LOCAL-MESSAGING-READ2",
214     "LOCAL-MESSAGING-READ3",
215     "LOCAL-MESSAGING-READ4",
216     "LOCAL-MESSAGING-FDPASS1",
217     "LOCAL-MESSAGING-FDPASS2",
218     "LOCAL-MESSAGING-FDPASS2a",
219     "LOCAL-MESSAGING-FDPASS2b",
220     "LOCAL-MESSAGING-SEND-ALL",
221     "LOCAL-PTHREADPOOL-TEVENT",
222     "LOCAL-CANONICALIZE-PATH",
223     "LOCAL-DBWRAP-WATCH1",
224     "LOCAL-DBWRAP-WATCH2",
225     "LOCAL-DBWRAP-WATCH3",
226     "LOCAL-DBWRAP-WATCH4",
227     "LOCAL-DBWRAP-DO-LOCKED1",
228     "LOCAL-G-LOCK1",
229     "LOCAL-G-LOCK2",
230     "LOCAL-G-LOCK3",
231     "LOCAL-G-LOCK4",
232     "LOCAL-G-LOCK4A",
233     "LOCAL-G-LOCK5",
234     "LOCAL-G-LOCK6",
235     "LOCAL-G-LOCK7",
236     "LOCAL-NAMEMAP-CACHE1",
237     "LOCAL-IDMAP-CACHE1",
238     "LOCAL-hex_encode_buf",
239     "LOCAL-remove_duplicate_addrs2"]
240
241 for t in local_tests:
242     plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
243
244 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
245 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
246 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
247 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
248
249 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"])
250 plantestsuite("samba3.blackbox.smbclient_basic.NT1", "nt4_dc_smb1", [os.path.join(samba3srcdir, "script/tests/test_smbclient_basic.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, "-mNT1"])
251 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"])
252 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"])
253 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"])
254 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"])
255
256 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])
257 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"]:
258     if "NT1" in options or "LANMAN2" in options:
259         env = "nt4_dc_smb1_done"
260     else:
261         env = "nt4_dc"
262     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])
263
264 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
265     plantestsuite("samba3.blackbox.smbclient_machine_auth.plain", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
266     smb1_env = env
267     if smb1_env == "ad_dc" or smb1_env == "nt4_dc":
268         smb1_env = smb1_env + "_smb1_done"
269     plantestsuite("samba3.blackbox.smbclient_ntlm.plain NT1", smb1_env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, "NT1", configuration])
270     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])
271
272
273 plantestsuite("samba3.blackbox.smbclient_log_basename", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_smbclient_log_basename.sh"), '$SERVER', smbclient3, '$PREFIX', configuration])
274
275 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no -mNT1", ""]:
276     # don't attempt to run SMB1 tests in nt4_member or ad_member
277     # as these test envs don't support SMB1, use nt4_dc instead
278     environs = ["nt4_member", "ad_member"]
279     if "NT1" in options or "LANMAN2" in options:
280         environs = ["nt4_dc_smb1_done"]
281     for env in environs:
282         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])
283         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])
284
285 for env in ["nt4_member", "ad_member"]:
286     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])
287     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])
288     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])
289     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])
290     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])
291     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])
292
293 env = "ad_dc_smb1"
294 plantestsuite("samba3.blackbox.smbspool", env, [os.path.join(samba3srcdir, "script/tests/test_smbspool.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', env])
295
296 for env in ["ad_member:local", "nt4_dc:local"]:
297     plantestsuite("samba3.blackbox.smbpasswd", env, [os.path.join(samba3srcdir, "script/tests/test_smbpasswd.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD'])
298
299 env = "nt4_dc"
300 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])
301
302 for env in ["nt4_member", "ad_member"]:
303     plantestsuite("samba3.blackbox.net_cred_change", "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
304
305 env = "ad_member"
306 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
307 plantestsuite("samba3.wbinfo_simple.%s" % t, "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
308 plantestsuite("samba3.wbinfo_name_lookup", env,
309               [os.path.join(srcdir(),
310                             "nsswitch/tests/test_wbinfo_name_lookup.sh"),
311                '$DOMAIN', '$REALM', '$DC_USERNAME'])
312
313 env = "ad_member"
314 plantestsuite("samba3.wbinfo_user_info_cached", env,
315               [os.path.join(srcdir(),
316                             "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
317                '$DOMAIN', '$REALM', 'joe', 'Secret007', '"Samba Users"', env])
318 plantestsuite("samba3.wbinfo_user_info_cached.trustdom", env,
319               [os.path.join(srcdir(),
320                             "nsswitch/tests/test_wbinfo_user_info_cached.sh"),
321                '$TRUST_F_BOTH_DOMAIN', '$TRUST_F_BOTH_REALM', 'joe', 'Secret007', '"Samba Users"', env])
322
323 env = "ad_member:local"
324 plantestsuite("samba3.wbinfo_user_info", env,
325               [os.path.join(srcdir(),
326                             "nsswitch/tests/test_wbinfo_user_info.sh"),
327                '$DOMAIN', '$REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
328
329 env = "fl2008r2dc:local"
330 plantestsuite("samba3.wbinfo_user_info", env,
331               [os.path.join(srcdir(),
332                             "nsswitch/tests/test_wbinfo_user_info.sh"),
333                '$TRUST_DOMAIN', '$TRUST_REALM', '$DOMAIN', 'alice', 'alice', 'jane', 'jane.doe', env])
334
335 env = "nt4_member:local"
336 plantestsuite("samba3.wbinfo_sids_to_xids", env,
337               [os.path.join(srcdir(),
338                             "nsswitch/tests/test_wbinfo_sids_to_xids.sh")])
339
340 env = "ad_member"
341 t = "WBCLIENT-MULTI-PING"
342 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
343 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
344
345 for env in ["maptoguest", "simpleserver"]:
346     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"])
347
348 env = "maptoguest"
349 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"])
350 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])
351 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])
352
353 # plain
354 env = "nt4_dc_smb1_done"
355 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"])
356 env = "nt4_dc"
357 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"])
358
359 for env in ["nt4_member", "ad_member"]:
360     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"])
361     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"])
362
363 env = "nt4_dc_smb1_done"
364 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"])
365 env = "nt4_dc"
366 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"])
367
368 for env in ["nt4_member", "ad_member"]:
369     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"])
370     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"])
371
372 env = "nt4_dc_smb1_done"
373 # encrypted
374 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"])
375 env = "nt4_dc"
376 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"])
377
378 for env in ["fileserver"]:
379     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"])
380     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"'])
381     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"])
382     plantestsuite("samba3.blackbox.dfree_command.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, "SMB3"])
383     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"])
384     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"])
385     plantestsuite("samba3.blackbox.smbcquotas", env, [os.path.join(samba3srcdir, "script/tests/test_smbcquota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbcquotas])
386     plantestsuite("samba3.blackbox.valid_users", env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
387     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])
388     plantestsuite("samba3.blackbox.dropbox", env, [os.path.join(samba3srcdir, "script/tests/test_dropbox.sh"), '$SERVER', '$DOMAIN', 'gooduser', '$PASSWORD', '$PREFIX', env, smbclient3])
389     plantestsuite("samba3.blackbox.offline", env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
390     plantestsuite("samba3.blackbox.shadow_copy2.NT1", env + "_smb1_done", [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
391     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'])
392     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])
393     plantestsuite("samba3.blackbox.smbclient.forceuser_validusers", env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
394     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])
395     plantestsuite("samba3.blackbox.netshareenum", env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
396     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'])
397     plantestsuite("samba3.blackbox.acl_xattr.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, '-mSMB3'])
398     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])
399     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'])
400     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'])
401     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'])
402     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'])
403     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'])
404     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'])
405     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'])
406     plantestsuite("samba3.blackbox.large_acl.SMB3", env, [os.path.join(samba3srcdir, "script/tests/test_large_acl.sh"), '$SERVER', '$USERNAME', '$PASSWORD', smbclient3, smbcacls, '-m', 'SMB3'])
407     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'])
408     plantestsuite("samba3.blackbox.homes", env, [os.path.join(samba3srcdir, "script/tests/test_homes.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
409     plantestsuite("samba3.blackbox.force_group_change", env,
410                 [os.path.join(samba3srcdir, "script/tests/test_force_group_change.sh"),
411                 '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcontrol])
412     plantestsuite("samba3.blackbox.zero-data", env,
413                   [os.path.join(samba3srcdir, "script/tests/test_zero_data.sh"),
414                    '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH'])
415     plantestsuite("samba3.blackbox.timestamps", env,
416                   [os.path.join(samba3srcdir, "script/tests/test_timestamps.sh"),
417                    '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
418     plantestsuite("samba3.blackbox.smb1_system_security", env + "_smb1_done",
419                   [os.path.join(samba3srcdir, "script/tests/test_smb1_system_security.sh"),
420                    '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
421     plantestsuite("samba3.blackbox.sacl_get_set", env,
422                   [os.path.join(samba3srcdir, "script/tests/test_sacl_set_get.sh"),
423                    '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbtorture3, net, 'tmp'])
424     plantestsuite("samba3.blackbox.NT1.shadow_copy_torture", env + "_smb1_done",
425                   [os.path.join(samba3srcdir, "script/tests/test_smb1_shadow_copy_torture.sh"),
426                    '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbtorture4])
427     plantestsuite("samba3.blackbox.smbclient_iconv.SMB2", env,
428                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
429                    '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3])
430     plantestsuite("samba3.blackbox.smbclient_iconv.NT1", env + "_smb1_done",
431                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
432                    '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mNT1'])
433     plantestsuite("samba3.blackbox.smbclient_iconv.CORE", env + "_smb1_done",
434                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_iconv.sh"),
435                    '$SERVER', '$SERVER_IP', 'bad_iconv', '$USERNAME', '$PASSWORD', smbclient3, '-mCORE'])
436
437     #
438     # tar command tests
439     #
440
441     # Test smbclient/tarmode
442     plantestsuite("samba3.blackbox.smbclient_tarmode.NT1", env + "_smb1_done",
443                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
444                    '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
445                    '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mNT1"])
446     plantestsuite("samba3.blackbox.smbclient_tarmode.SMB3", env,
447                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
448                    '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
449                    '$LOCAL_PATH/tarmode', '$PREFIX', smbclient3, configuration, "-mSMB3"])
450
451     # Test suite for new smbclient/tar with libarchive (GSoC 13)
452     plantestsuite("samba3.blackbox.smbclient_tar.NT1", env + "_smb1_done",
453                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
454                    '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
455                    '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
456                    '-d', '$PREFIX', '-b', smbclient3,
457                    '--subunit', '--', configuration, '-mNT1'])
458     plantestsuite("samba3.blackbox.smbclient_tar.SMB3", env,
459                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
460                    '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
461                    '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH/tarmode',
462                    '-d', '$PREFIX', '-b', smbclient3,
463                    '--subunit', '--', configuration, '-mSMB3'])
464
465 for env in ["fileserver:local"]:
466     plantestsuite("samba3.blackbox.net_usershare", env, [os.path.join(samba3srcdir, "script/tests/test_net_usershare.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3])
467
468     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"])
469     plantestsuite("samba3.blackbox.net_registry_import", env, [os.path.join(samba3srcdir, "script/tests/test_net_registry_import.sh"), '$SERVER', '$LOCAL_PATH', '$USERNAME', '$PASSWORD'])
470
471 # TODO encrypted against member, with member creds, and with DC creds
472 plantestsuite("samba3.blackbox.net.misc NT1", "ad_dc_smb1_done:local",
473               [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
474                scriptdir, "$SMB_CONF_PATH", net, configuration, "NT1"])
475 plantestsuite("samba3.blackbox.net.misc SMB3", "ad_dc:local",
476               [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
477                scriptdir, "$SMB_CONF_PATH", net, configuration, "SMB3"])
478 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
479               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
480                scriptdir, "$SMB_CONF_PATH", net, configuration])
481 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
482               [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
483                scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
484 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
485               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
486                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
487
488 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
489               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
490                scriptdir, "$SMB_CONF_PATH", net, configuration])
491 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
492               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
493                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
494
495 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
496               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
497                scriptdir, "$SMB_CONF_PATH", net, configuration])
498 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
499               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
500                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
501
502
503 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
504               [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
505                "$LOCAL_PATH"])
506
507 plantestsuite(
508     "samba3.pthreadpool", "none",
509     [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
510
511 if with_pthreadpool and have_ldwrap:
512     plantestsuite("samba3.pthreadpool_cmocka", "none",
513                   [os.path.join(bindir(), "pthreadpooltest_cmocka")])
514
515 if with_pthreadpool:
516     plantestsuite("samba3.libwbclient_threads",
517                   "nt4_member",
518                   [os.path.join(samba3srcdir,
519                                 "script/tests/test_libwbclient_threads.sh"),
520                    "$DOMAIN", "$DC_USERNAME"])
521
522 plantestsuite("samba3.test_nfs4_acl", "none",
523               [os.path.join(bindir(), "test_nfs4_acls"),
524                "$SMB_CONF_PATH"])
525
526 plantestsuite("samba3.test_vfs_full_audit", "none",
527               [os.path.join(bindir(), "test_vfs_full_audit"),
528                "$SMB_CONF_PATH"])
529
530 plantestsuite(
531     "samba3.resolvconf", "none",
532     [os.path.join(samba3srcdir, "script/tests/test_resolvconf.sh")])
533
534 plantestsuite("samba3.tevent_glib_glue", "none",
535     [os.path.join(samba3srcdir, "script/tests/test_tevent_glib_glue.sh")])
536
537 plantestsuite("samba3.async_req", "nt4_dc",
538               [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
539
540 # smbtorture4 tests
541
542 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
543         "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
544         "base.disconnect", "base.fdpass", "base.lock",
545         "base.mangle", "base.negnowait", "base.ntdeny1",
546         "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
547         "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
548         "base.xcopy", "base.samba3error"]
549
550 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
551        "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
552        "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
553        "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
554        "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
555        "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
556        "raw.samba3rootdirfid", "raw.samba3rootdirfid2", "raw.sfileinfo.end-of-file",
557        "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
558        "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
559
560 smb2 = smbtorture4_testsuites("smb2.")
561
562 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
563        "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
564        "rpc.samba3.getaliasmembership-0",
565        "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
566        "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
567        "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
568        "rpc.samba3.lsa_over_netlogon", "rpc.samba3.pipes_supported_interfaces",
569        "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
570        "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
571        "rpc.spoolss.driver",
572        "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
573        "rpc.lsa.privileges", "rpc.lsa.secrets",
574        "rpc.mdssvc",
575        "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
576        "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
577        "rpc.samr.priv", "rpc.samr.passwords.validate",
578        "rpc.netlogon.admin",
579        "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind",
580        "rpc.initshutdown", "rpc.wkssvc", "rpc.srvsvc"]
581
582 local = ["local.nss"]
583
584 idmap = ["idmap.rfc2307", "idmap.alloc", "idmap.rid", "idmap.ad"]
585
586 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
587
588 unix = ["unix.info2", "unix.whoami"]
589
590 nbt = ["nbt.dgram"]
591
592 vfs = [
593     "vfs.fruit",
594     "vfs.acl_xattr",
595     "vfs.fruit_netatalk",
596     "vfs.fruit_file_id",
597     "vfs.fruit_timemachine",
598     "vfs.fruit_conversion",
599     "vfs.unfruit",
600 ]
601
602 tests = base + raw + smb2 + rpc + unix + local + rap + nbt + idmap + vfs
603
604 for t in tests:
605     if t == "base.delaywrite" or t == "base.deny1" or t == "base.deny2":
606         plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
607     elif t == "base.createx_access":
608         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
609     elif t == "rap.sam":
610         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
611         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
612     elif t == "winbind.pac":
613         plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
614     elif t == "unix.whoami":
615         plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
616         plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass', description="machine account")
617         plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
618         plansmbtorture4testsuite(t, "ad_dc_smb1:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
619         for env in ["nt4_dc_smb1", "nt4_member"]:
620             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
621             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
622         for env in ["ad_dc_smb1", "ad_member"]:
623             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
624             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
625             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
626             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
627     elif t == "raw.samba3posixtimedlock":
628         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share')
629         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
630                                  description="brl_delay_inject1")
631         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc_smb1/share',
632                                  description="brl_delay_inject2")
633         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc_smb1/share')
634     elif t == "smb2.samba3misc":
635         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
636         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject1 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
637                                  description="brl_delay_inject1")
638         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/brl_delay_inject2 -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share',
639                                  description="brl_delay_inject2")
640         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
641     elif t == "raw.chkpath":
642         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
643         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
644     elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
645         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
646         plansmbtorture4testsuite(t, "fileserver_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
647         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
648     elif t == "raw.session":
649         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
650         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
651         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
652         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
653     elif t == "smb2.session":
654         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
655         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
656         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
657         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
658         # Certain tests fail when run against ad_member with MIT kerberos because the private krb5.conf overrides the provisioned lib/krb5.conf,
659         # ad_member_idmap_rid sets "create krb5.conf = no"
660         plansmbtorture4testsuite(t, "ad_member_idmap_rid", '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD', 'krb5')
661     elif t == "rpc.lsa":
662         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
663         plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
664         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
665         plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
666     elif t == "rpc.mdssvc":
667         plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:no_spotlight_localdir=$SELFTEST_PREFIX/fileserver/share')
668     elif t == "rpc.samr.passwords.validate":
669         plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
670         plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
671     elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay" or t == "smb2.durable-v2-delay":
672         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
673         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
674     elif t == "base.rw1":
675         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
676         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
677         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
678         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
679     elif t == "idmap.rfc2307":
680         plantestsuite(t, "ad_member_rfc2307",
681                       [os.path.join(samba3srcdir,
682                                     "../nsswitch/tests/test_idmap_rfc2307.sh"),
683                        '$DOMAIN',
684                        'Administrator', '2000000',
685                        'Guest', '2000001',
686                        '"Domain Users"', '2000002',
687                        'DnsAdmins', '2000003',
688                        '2000005', '35',
689                        'ou=idmap,dc=samba,dc=example,dc=com',
690                        '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
691     elif t == "idmap.alloc":
692         plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
693     elif t == "idmap.rid":
694         plantestsuite(t, "ad_member_idmap_rid", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rid.sh"), '$DOMAIN', '2000000'])
695     elif t == "idmap.ad":
696         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'])
697     elif t == "raw.acls":
698         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
699         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-40')
700         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_special_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special-40')
701         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_simple_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple-41')
702         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-40')
703         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_xdr_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-xdr-41')
704         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_40 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-40')
705         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/nfs4acl_nfs_41 -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-nfs-41')
706         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
707     elif t == "smb2.ioctl":
708         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
709         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
710         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
711     elif t == "smb2.lock":
712         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
713         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
714     elif t == "raw.lock" or t == "base.lock":
715         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
716     elif t == "raw.read":
717         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
718         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
719         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
720     elif t == "raw.search":
721         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
722 # test the dirsort module.
723         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
724         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
725     elif t == "vfs.fruit":
726         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')
727         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')
728         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')
729         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')
730     elif t == "vfs.fruit_netatalk":
731         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
732     elif t == "vfs.fruit_timemachine":
733         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_timemachine -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
734     elif t == "vfs.fruit_file_id":
735         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_zero_fileid -U$USERNAME%$PASSWORD')
736     elif t == "vfs.fruit_conversion":
737         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')
738         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')
739     elif t == "vfs.unfruit":
740         creds = '-U$USERNAME%$PASSWORD'
741         share2 = '--option=torture:share2=tmp'
742         netopt = '--option=torture:net=%s' % net
743         shareopt = '--option=torture:sharename'
744
745         plansmbtorture4testsuite(t, "nt4_dc:local", '//$SERVER_IP/vfs_fruit %s %s %s %s=%s' % (creds, share2, netopt, shareopt, 'vfs_fruit'), 'metadata_netatalk')
746         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')
747         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')
748     elif t == "rpc.schannel_anon_setpw":
749         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
750         plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
751         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
752     elif t == "local.nss":
753         for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
754             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
755     elif t == "smb2.change_notify_disabled":
756         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
757     elif t == "smb2.notify" or t == "raw.notify" or t == "smb2.oplock" or t == "raw.oplock":
758         tmp_env = "nt4_dc"
759         if t == "raw.notify" or t == "raw.oplock":
760             tmp_env = "nt4_dc_smb1"
761         # These tests are a little slower so don't duplicate them with ad_dc
762         plansmbtorture4testsuite(t, tmp_env, '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
763     elif t == "smb2.dosmode":
764         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
765     elif t == "smb2.kernel-oplocks":
766         if have_linux_kernel_oplocks:
767             plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER/kernel_oplocks -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
768     elif t == "smb2.notify-inotify":
769         if have_inotify:
770             plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
771     elif t == "vfs.acl_xattr":
772         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
773     elif t == "smb2.compound_find":
774         plansmbtorture4testsuite(t, "fileserver", '//$SERVER/compound_find -U$USERNAME%$PASSWORD')
775         plansmbtorture4testsuite(t, "fileserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
776     elif t == "rpc.samr.users.privileges":
777         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:nt4_dc=true')
778         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
779     elif t == "smb2.compound":
780         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
781         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
782         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
783     elif t == "rpc.samba3.netlogon" or t == "rpc.samba3.sessionkey":
784         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
785         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD --option=torture:wksname=samba3rpctest')
786     elif t == "smb2.streams":
787         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
788         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
789         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/streams_xattr -U$USERNAME%$PASSWORD', 'streams_xattr')
790     elif t == "smb2.aio_delay":
791         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio_delay_inject -U$USERNAME%$PASSWORD')
792     elif t == "smb2.delete-on-close-perms":
793         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
794         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/delete_readonly -U$USERNAME%$PASSWORD --option=torture:delete_readonly=true')
795         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
796     elif t == "smb2.fileid":
797         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit_xattr -U$USERNAME%$PASSWORD')
798     elif t == "rpc.wkssvc":
799         plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
800     elif t == "rpc.srvsvc":
801         plansmbtorture4testsuite(t, "ad_member", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
802         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
803     elif t == "rpc.samba3.lsa_over_netlogon":
804         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
805     elif t == "rpc.samba3.pipes_supported_interfaces":
806         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
807         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
808     elif t == "rpc.spoolss.notify":
809         plansmbtorture4testsuite(t, "ad_member", '//$SERVER_IP/tmp -U$DC_USERNAME%$DC_PASSWORD')
810     elif (t in base and t != "base.charset") \
811         or (t in rap and t != "rap.printing") \
812         or (t in unix) \
813         or (t in ["rpc.authcontext",
814                   "rpc.join",
815                   "rpc.samba3.bind",
816                   "rpc.samba3.getusername",
817                   "rpc.samba3.sharesec",
818                   "rpc.samba3.smb1-pipe-name",
819                   "rpc.samba3.smb-reauth1",
820                   "rpc.samba3.smb-reauth2",
821                   "rpc.samba3.spoolss",
822                   "rpc.samba3.wkssvc",]) \
823         or (t in ["raw.close",
824                   "raw.composite",
825                   "raw.eas",
826                   "raw.mkdir",
827                   "raw.open",
828                   "raw.rename",
829                   "raw.samba3badnameblob",
830                   "raw.samba3badpath",
831                   "raw.samba3caseinsensitive",
832                   "raw.samba3oplocklogoff",
833                   "raw.samba3posixtimedlock",
834                   "raw.samba3rootdirfid",
835                   "raw.samba3rootdirfid2",
836                   "raw.seek",
837                   "raw.sfileinfo.bug",
838                   "raw.sfileinfo.end-of-file",
839                   "raw.sfileinfo.rename",
840                   "raw.streams",
841                   "raw.unlink",
842                   "raw.write",]) :
843         plansmbtorture4testsuite(t, "nt4_dc_smb1", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
844         plansmbtorture4testsuite(t, "ad_dc_smb1", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
845     elif t in ["base.mangle", "base.tcon", "raw.mkdir"]:
846         plansmbtorture4testsuite(t, "nt4_dc_smb1_done", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
847         plansmbtorture4testsuite(t, "ad_dc_smb1_done", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
848     else:
849         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
850         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
851
852
853 test = 'rpc.lsa.lookupsids'
854 auth_options = ["", "ntlm", "spnego", "spnego,ntlm", "spnego,smb1", "spnego,smb2"]
855 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
856 endianness_options = ["", ",bigendian"]
857 for s in signseal_options:
858     for e in endianness_options:
859         for a in auth_options:
860             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
861             options = binding_string + " -U$USERNAME%$PASSWORD"
862             if "smb1" in a:
863                 plansmbtorture4testsuite(test, "nt4_dc_smb1_done", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
864             else:
865                 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
866             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"),
867                                                                                                                  "none", options, configuration])
868
869     # We should try more combinations in future, but this is all
870     # the pre-calculated credentials cache supports at the moment
871     #
872     # As the ktest env requires SMB3_00 we need to use "smb2" until
873     # dcerpc client code in smbtorture support autonegotiation
874     # of any smb dialect.
875     e = ""
876     a = "smb2"
877     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
878     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
879     plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
880
881     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
882     plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
883
884     auth_options2 = ["krb5", "spnego,krb5"]
885     for a in auth_options2:
886         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
887
888         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"),
889                                                                                                             "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
890
891 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
892                                                                         "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
893 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
894               [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
895                configuration, os.path.join(bindir(), "sharesec"),
896                os.path.join(bindir(), "net"), "tmp"])
897
898 plantestsuite("samba3.blackbox.close-denied-share", "simpleserver:local",
899               [os.path.join(samba3srcdir,
900                             "script/tests/test_close_denied_share.sh"),
901                configuration,
902                os.path.join(bindir(), "sharesec"),
903                os.path.join(bindir(), "smbclient"),
904                os.path.join(bindir(), "smbcontrol"),
905                '$SERVER_IP',
906                "tmp"])
907
908 plantestsuite("samba3.blackbox.force-close-share", "simpleserver:local",
909               [os.path.join(samba3srcdir,
910                             "script/tests/test_force_close_share.sh"),
911                configuration,
912                os.path.join(bindir(), "smbclient"),
913                os.path.join(bindir(), "smbcontrol"),
914                '$SERVER_IP',
915                "aio_delay_inject"])
916
917 plantestsuite("samba3.blackbox.open-eintr", "simpleserver:local",
918               [os.path.join(samba3srcdir,
919                             "script/tests/test_open_eintr.sh"),
920                configuration,
921                os.path.join(bindir(), "smbclient"),
922                os.path.join(bindir(), "smbcontrol"),
923                '$SERVER_IP',
924                "error_inject"])
925
926 plantestsuite("samba3.blackbox.net_tdb", "simpleserver:local",
927               [os.path.join(samba3srcdir, "script/tests/test_net_tdb.sh"),
928                smbclient3, '$SERVER', 'tmp', '$USERNAME', '$PASSWORD',
929                configuration, '$LOCAL_PATH', '$LOCK_DIR'])
930
931 plantestsuite("samba3.blackbox.smbd_error", "simpleserver:local",
932               [os.path.join(samba3srcdir, "script/tests/test_smbd_error.sh")])
933
934 plantestsuite("samba3.blackbox.smbd_no_krb5", "ad_member:local",
935               [os.path.join(samba3srcdir, "script/tests/test_smbd_no_krb5.sh"),
936                smbclient3, '$SERVER', "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX"])
937
938 plantestsuite("samba3.blackbox.durable_v2_delay", "simpleserver:local",
939               [os.path.join(samba3srcdir, "script/tests/test_durable_handle_reconnect.sh")])
940
941 plantestsuite("samba3.blackbox.net_cache_samlogon", "ad_member:local",
942               [os.path.join(samba3srcdir, "script/tests/test_net_cache_samlogon.sh"),
943                '$SERVER', 'tmp', '$DC_USERNAME', '$DC_PASSWORD'])
944
945 plantestsuite("samba3.blackbox.net_rpc_share_allowedusers", "nt4_dc",
946               [os.path.join(samba3srcdir, "script/tests/test_net_rpc_share_allowedusers.sh"),
947                "$SERVER", "$USERNAME", "$PASSWORD", "$PREFIX/net_rpc_share_allowedusers",
948                configuration])
949
950 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
951               [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
952                "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
953                configuration])
954 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
955               [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
956                "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
957                configuration])
958 plantestsuite("samba3.blackbox.net_rpc_oldjoin", "nt4_dc:local",
959               [os.path.join(samba3srcdir, "script/tests/test_net_rpc_oldjoin.sh"),
960                "$SERVER", "$PREFIX/net_rpc_oldjoin",
961                "$SMB_CONF_PATH"])
962 plantestsuite("samba3.blackbox.net_rpc_join_creds", "nt4_dc",
963               [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join_creds.sh"),
964                "$DOMAIN", "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join_creds",
965                configuration])
966
967 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
968               [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
969                "$USERNAME", "$PASSWORD", "$SERVER",
970                os.path.join(bindir(), "rpcclient"), "tmp"])
971
972 plantestsuite("samba3.blackbox.rpcclient_lookup", "simpleserver",
973               [os.path.join(samba3srcdir, "script/tests/test_rpcclient_lookup.sh"),
974                "$USERNAME", "$PASSWORD", "$SERVER",
975                os.path.join(bindir(), "rpcclient")])
976
977 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
978               [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
979                "$USERNAME", "$PASSWORD", "$SERVER",
980                os.path.join(bindir(), "rpcclient")])
981
982 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
983               [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
984                "$USERNAME", "$PASSWORD", "$SERVER",
985                smbclient3])
986
987 plantestsuite("samba3.blackbox.rpcclient_netsessenum", "ad_member",
988               [os.path.join(samba3srcdir,
989                             "script/tests/test_rpcclient_netsessenum.sh"),
990                "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD", "$SERVER",
991                os.path.join(bindir(), "rpcclient"), smbtorture3, "tmp"])
992
993 # The ktest environment uses:
994 # server min protocol = SMB3_00
995 # client max protocol = SMB3
996 options_list = ["", "-e"]
997 for options in options_list:
998     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
999                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1000                    "$PREFIX/ktest/krb5_ccache-2",
1001                    smbclient3, "$SERVER", options, configuration])
1002
1003     plantestsuite("samba3.blackbox.smbclient_krb5 new ccache %s" % options, "ktest:local",
1004                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
1005                    "$PREFIX/ktest/krb5_ccache-3",
1006                    smbclient3, "$SERVER", options, configuration])
1007
1008     plantestsuite("samba3.blackbox.smbclient_large_file %s krb5" % options, "ktest:local",
1009                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1010                    "$PREFIX/ktest/krb5_ccache-3",
1011                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
1012
1013 options_list = ["-mNT1", "-mNT1 -e", "-mSMB3", "-mSMB3 -e"]
1014 for options in options_list:
1015     env = "nt4_dc"
1016     if "NT1" in options:
1017         env = "nt4_dc_smb1_done"
1018     plantestsuite("samba3.blackbox.smbclient_large_file %s NTLM" % options, "%s:local" % env,
1019                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_large_file.sh"),
1020                    "none",
1021                    smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
1022
1023 for alias in ["foo", "bar"]:
1024     plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
1025                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
1026                    smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
1027
1028 for e in endianness_options:
1029     for a in auth_options:
1030         for s in signseal_options:
1031             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
1032             options = binding_string + " -U$USERNAME%$PASSWORD"
1033             plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
1034
1035 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
1036 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_np')
1037
1038 for env in ["ad_member_idmap_rid:local", "maptoguest:local"]:
1039     plantestsuite("samba3.blackbox.guest", env,
1040                   [os.path.join(samba3srcdir, "script/tests/test_guest_auth.sh"),
1041                    '$SERVER', smbclient3, smbcontrol, net, configuration])
1042
1043 plantestsuite("samba3.blackbox.itime", "ad_dc", [os.path.join(samba3srcdir, "script/tests/test_itime.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, 'xattr'])
1044
1045 t = "readdir-timestamp"
1046 plantestsuite(
1047     "samba3.smbtorture_s3.plain.%s" % t,
1048     "clusteredmember_smb1",
1049     [os.path.join(samba3srcdir,
1050                   "script/tests/test_smbtorture_s3.sh"),
1051      t,
1052      '//foo/bar',
1053      '$DOMAIN\\\\$DC_USERNAME',
1054      '$DC_PASSWORD',
1055      smbtorture3,
1056      "",
1057      "-b $PREFIX/clusteredmember_smb1/unclists/tmp.txt -N 5 -o 10"])
1058
1059 def planclusteredmembertestsuite(tname, prefix):
1060     '''Define a clustered test for the clusteredmember environment'''
1061
1062     tshare = 'tmp'
1063
1064     autharg = '-U${DOMAIN}/${DC_USERNAME}%${DC_PASSWORD}'
1065     namearg = 'clustered.%s' % tname
1066     modnamearg = 'samba3.%s' % namearg
1067     extraargs = ''
1068
1069     prefix = os.path.join(prefix, 'clusteredmember_smb1')
1070     unclist = os.path.join(prefix, 'unclists/%s.txt' % tshare)
1071
1072     unclistarg = '--unclist=%s' % unclist
1073     sharearg = '//$SERVER_IP/%s' % tshare
1074
1075     return selftesthelpers.plansmbtorture4testsuite(
1076         namearg,
1077         'clusteredmember_smb1',
1078         [extraargs, unclistarg, sharearg, autharg, tname],
1079         target='samba3',
1080         modname=modnamearg)
1081
1082
1083 CLUSTERED_TESTS = [ 'base.ntdeny2' ]
1084
1085 for test in CLUSTERED_TESTS:
1086     planclusteredmembertestsuite(test, "$PREFIX")
1087
1088 CLUSTERED_LOCAL_TESTS = [
1089     "ctdbd-conn1",
1090     "local-dbwrap-ctdb1"
1091 ]
1092
1093 for t in CLUSTERED_LOCAL_TESTS:
1094     plantestsuite(
1095         "samba3.%s" % t,
1096         "clusteredmember_smb1:local",
1097         [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"),
1098          t,
1099          '//foo/bar',
1100          '""',
1101          '""',
1102          smbtorture3,
1103          "-N 1000 -o 2000"])