selftest: don't run vfs_fruit tests against ad_dc env
[nivanova/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, sys
22 sys.path.insert(0, os.path.normpath(os.path.join(os.path.dirname(__file__), "../../selftest")))
23 import selftesthelpers
24 from selftesthelpers import *
25 smbtorture4_options.extend([
26    '--option=torture:sharedelay=100000',
27    '--option=torture:writetimeupdatedelay=500000',
28    ])
29
30 def plansmbtorture4testsuite(name, env, options, description=''):
31     if description == '':
32         modname = "samba3.%s" % (name, )
33     else:
34         modname = "samba3.%s %s" % (name, description)
35
36     selftesthelpers.plansmbtorture4testsuite(
37         name, env, options, target='samba3', modname=modname)
38
39
40 plantestsuite("samba3.blackbox.success", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
41 plantestsuite("samba3.blackbox.failure", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
42
43 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
44
45 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
46
47 tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
48         "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
49         "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
50         "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "LARGE_READX", "RW-SIGNING",
51         "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "WILDDELETE", "PROPERTIES", "W2K",
52         "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2", "OWNER-RIGHTS",
53         "CHAIN3", "PIDHIGH",
54         "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
55         "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
56         "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT", "SMB2-FTRUNCATE",
57         "CLEANUP1",
58         "CLEANUP2",
59         "CLEANUP4",
60         "BAD-NBT-SESSION"]
61
62 for t in tests:
63     plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
64     plantestsuite("samba3.smbtorture_s3.crypt_client(nt4_dc).%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"])
65     if t == "TORTURE":
66         # this is a negative test to verify that the server rejects
67         # access without encryption
68         plantestsuite("samba3.smbtorture_s3.crypt_server(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmpenc', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
69     plantestsuite("samba3.smbtorture_s3.plain(ad_dc_ntvfs).%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"])
70
71 #
72 # RENAME-ACCESS needs to run against a special share - acl_xattr_ign_sysacl_windows
73 #
74 plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%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"])
75 plantestsuite("samba3.smbtorture_s3.crypt_client(nt4_dc).%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"])
76 # non-crypt only
77
78 tests = ["OPLOCK-CANCEL"]
79 for t in tests:
80     plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%s" % t, "nt4_dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
81
82 env = "nt4_dc"
83 tests = ["MANGLE-ILLEGAL"]
84 for t in tests:
85     plantestsuite("samba3.smbtorture_s3.plain(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/mangle_illegal', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
86
87 tests = ["RW1", "RW2", "RW3"]
88 for t in tests:
89     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"])
90
91 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
92               "POSIX-STREAM-DELETE", "WINDOWS-BAD-SYMLINK" ]
93
94 for t in posix_tests:
95     plantestsuite("samba3.smbtorture_s3.plain(nt4_dc).%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"])
96     plantestsuite("samba3.smbtorture_s3.crypt(nt4_dc).%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"])
97     plantestsuite("samba3.smbtorture_s3.plain(ad_dc_ntvfs).%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"])
98
99 env = "nt4_dc:local"
100 t = "CLEANUP3"
101 plantestsuite("samba3.smbtorture_s3.plain(%s).%s" % (env, t), env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', binpath('smbtorture3'), "", "-l $LOCAL_PATH"])
102
103 local_tests = [
104     "LOCAL-SUBSTITUTE",
105     "LOCAL-GENCACHE",
106     "LOCAL-TALLOC-DICT",
107     "LOCAL-BASE64",
108     "LOCAL-RBTREE",
109     "LOCAL-MEMCACHE",
110     "LOCAL-STREAM-NAME",
111     "LOCAL-string_to_sid",
112     "LOCAL-sid_to_string",
113     "LOCAL-binary_to_sid",
114     "LOCAL-DBTRANS",
115     "LOCAL-TEVENT-SELECT",
116     "LOCAL-CONVERT-STRING",
117     "LOCAL-CONV-AUTH-INFO",
118     "LOCAL-IDMAP-TDB-COMMON",
119     "LOCAL-MESSAGING-READ1",
120     "LOCAL-MESSAGING-READ2",
121     "LOCAL-MESSAGING-READ3",
122     "LOCAL-MESSAGING-READ4",
123     "LOCAL-MESSAGING-FDPASS1",
124     "LOCAL-MESSAGING-FDPASS2",
125     "LOCAL-MESSAGING-FDPASS2a",
126     "LOCAL-MESSAGING-FDPASS2b",
127     "LOCAL-PTHREADPOOL-TEVENT",
128     "LOCAL-CANONICALIZE-PATH",
129     "LOCAL-hex_encode_buf",
130     "LOCAL-remove_duplicate_addrs2"]
131
132 for t in local_tests:
133     plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
134
135 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
136 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
137 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
138 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
139
140 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"]:
141     env = "nt4_dc"
142     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
143
144 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
145     plantestsuite("samba3.blackbox.smbclient_machine_auth.plain (%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_machine_auth.sh"), '$SERVER', smbclient3, configuration])
146     plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$DC_USERNAME', '$DC_PASSWORD', "never", smbclient3, configuration])
147
148 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", ""]:
149     for env in ["nt4_member", "ad_member"]:
150         plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration, options])
151         plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) %s member creds" % (env, options), env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration, options])
152
153 env="nt4_dc"
154 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) ipv6" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IPV6', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration])
155
156 for env in ["nt4_member", "ad_member"]:
157     plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
158
159 env = "ad_member"
160 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
161 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
162 t = "WBCLIENT-MULTI-PING"
163 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
164 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
165
166 plantestsuite("samba3.ntlm_auth.krb5 with old ccache(ktest:local)", "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_krb5.sh"), valgrindify(python), samba3srcdir, ntlm_auth3, '$PREFIX/ktest/krb5_ccache-2', '$SERVER', configuration])
167
168 plantestsuite("samba3.ntlm_auth.krb5(ktest:local)", "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_krb5.sh"), valgrindify(python), samba3srcdir, ntlm_auth3, '$PREFIX/ktest/krb5_ccache-3', '$SERVER', configuration])
169
170
171 for env in ["maptoguest", "simpleserver"]:
172     plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) local creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', smbclient3, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
173
174 env = "maptoguest"
175 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) bad username" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', 'notmy$USERNAME', '$PASSWORD', smbclient3, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
176 plantestsuite("samba3.blackbox.smbclient_ntlm.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_ntlm.sh"), '$SERVER', '$USERNAME', '$PASSWORD', "baduser", smbclient3, configuration])
177
178 # plain
179 for env in ["nt4_dc"]:
180     plantestsuite("samba3.blackbox.smbclient_s3.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration])
181
182 for env in ["nt4_member", "ad_member"]:
183     plantestsuite("samba3.blackbox.smbclient_s3.plain (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration])
184
185 for env in ["nt4_dc"]:
186     plantestsuite("samba3.blackbox.smbclient_s3.sign (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "--signing=required"])
187
188 for env in ["nt4_member", "ad_member"]:
189     plantestsuite("samba3.blackbox.smbclient_s3.sign (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$SERVER', '$SERVER/$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "--signing=required"])
190
191 for env in ["nt4_dc"]:
192     # encrypted
193     plantestsuite("samba3.blackbox.smbclient_s3.crypt (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_s3.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$USERID', '$LOCAL_PATH', '$PREFIX', smbclient3, wbinfo, net, configuration, "-e"])
194
195 for env in ["fileserver"]:
196     plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
197     plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
198     plantestsuite("samba3.blackbox.dfree_quota (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_quota.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3, smbcquotas, smbcacls])
199     plantestsuite("samba3.blackbox.valid_users (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_valid_users.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
200     plantestsuite("samba3.blackbox.offline (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_offline.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/offline', smbclient3])
201     plantestsuite("samba3.blackbox.shadow_copy2 NT1 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'NT1'])
202     plantestsuite("samba3.blackbox.shadow_copy2 SMB3 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3, '-m', 'SMB3'])
203     plantestsuite("samba3.blackbox.smbclient.forceuser_validusers (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_forceuser_validusers.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
204     plantestsuite("samba3.blackbox.smbget (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbget.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', 'smbget_user', '$PASSWORD', '$LOCAL_PATH/smbget', smbget])
205     plantestsuite("samba3.blackbox.netshareenum (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
206     plantestsuite("samba3.blackbox.acl_xattr (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls])
207     plantestsuite("samba3.blackbox.smb2.not_casesensitive (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smb2_not_casesensitive.sh"), '//$SERVER/tmp', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', smbclient3])
208     plantestsuite("samba3.blackbox.inherit_owner.default(%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, 'tmp', '0', '0', '-m', 'NT1'])
209     plantestsuite("samba3.blackbox.inherit_owner.full (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, 'inherit_owner', '1', '1', '-m', 'NT1'])
210     plantestsuite("samba3.blackbox.inherit_owner.unix (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_inherit_owner.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls, 'inherit_owner_u', '0', '1', '-m', 'NT1'])
211
212     #
213     # tar command tests
214     #
215
216     # find config.h
217     try:
218         config_h = os.environ["CONFIG_H"]
219     except KeyError:
220         samba4bindir = bindir()
221         config_h = os.path.join(samba4bindir, "default/include/config.h")
222
223     # see if libarchive is supported
224     f = open(config_h, 'r')
225     try:
226         have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
227     finally:
228         f.close()
229
230     # tar command enabled only if built with libarchive
231     if have_libarchive:
232         # Test smbclient/tarmode
233         plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
234                       [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
235                        '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
236                        '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
237
238         # Test suite for new smbclient/tar with libarchive (GSoC 13)
239         plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
240                       [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
241                        '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
242                        '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
243                        '-d', '$PREFIX', '-b', smbclient3,
244                        '--subunit', '--', configuration])
245
246 #TODO encrypted against member, with member creds, and with DC creds
247 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
248               [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
249                scriptdir, "$SMB_CONF_PATH", net, configuration])
250 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
251               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
252                scriptdir, "$SMB_CONF_PATH", net, configuration])
253 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
254               [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
255                scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
256 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
257               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
258                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
259
260 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
261               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
262                scriptdir, "$SMB_CONF_PATH", net, configuration])
263 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
264               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
265                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
266
267 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
268               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
269                scriptdir, "$SMB_CONF_PATH", net, configuration])
270 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
271               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
272                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
273
274
275 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
276               [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
277                "$LOCAL_PATH"])
278
279 plantestsuite(
280     "samba3.pthreadpool", "nt4_dc",
281     [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
282
283 plantestsuite("samba3.async_req", "nt4_dc",
284               [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
285
286 #smbtorture4 tests
287
288 base = ["base.attr", "base.charset", "base.chkpath", "base.createx_access", "base.defer_open", "base.delaywrite", "base.delete",
289         "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
290         "base.disconnect", "base.fdpass", "base.lock",
291         "base.mangle", "base.negnowait", "base.ntdeny1",
292         "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
293         "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
294         "base.xcopy", "base.samba3error"]
295
296 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
297        "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
298        "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
299        "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
300        "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
301        "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
302        "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
303        "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
304        "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
305
306 smb2 = smbtorture4_testsuites("smb2.")
307
308 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
309        "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
310        "rpc.samba3.getaliasmembership-0",
311        "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
312        "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
313        "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
314        "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
315        "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
316        "rpc.spoolss.driver",
317        "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
318        "rpc.lsa.privileges", "rpc.lsa.secrets",
319        "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
320        "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
321        "rpc.samr.priv", "rpc.samr.passwords.validate",
322        "rpc.netlogon.admin",
323        "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
324
325 local = ["local.nss"]
326
327 idmap = ["idmap.rfc2307", "idmap.alloc"]
328
329 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
330
331 unix = ["unix.info2", "unix.whoami"]
332
333 nbt = ["nbt.dgram" ]
334
335 libsmbclient = ["libsmbclient"]
336
337 vfs = ["vfs.fruit", "vfs.acl_xattr"]
338
339 tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
340
341 for t in tests:
342     if t == "base.delaywrite":
343         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
344     if t == "base.createx_access":
345         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
346     elif t == "rap.sam":
347         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
348         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
349     elif t == "winbind.pac":
350         plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
351     elif t == "unix.whoami":
352         plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
353         plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
354         for env in ["nt4_dc", "nt4_member"]:
355             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
356             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
357         for env in ["ad_dc", "ad_member"]:
358             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
359             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
360             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
361             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
362     elif t == "raw.samba3posixtimedlock":
363         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
364         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
365     elif t == "raw.chkpath":
366         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
367         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
368     elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t ==  "raw.samba3closeerr":
369         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
370         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
371         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
372     elif t == "raw.session" or t == "smb2.session":
373         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
374         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
375         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
376         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
377     elif t == "rpc.lsa":
378         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
379         plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
380         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
381         plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
382     elif t == "rpc.samr.passwords.validate":
383         plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
384         plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
385     elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
386         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
387         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
388     elif t == "base.rw1":
389         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
390         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
391         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
392         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
393     elif t == "idmap.rfc2307":
394         plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rfc2307.sh"), '$DOMAIN', 'Administrator', '2000000', 'Guest', '2000001', '"Domain Users"', '2000002', 'DnsAdmins', '2000003', 'ou=idmap,dc=samba,dc=example,dc=com', '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
395     elif t == "idmap.alloc":
396         plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
397     elif t == "raw.acls":
398         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
399         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
400         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
401         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
402     elif t == "smb2.ioctl":
403         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
404         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
405         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
406     elif t == "smb2.lock":
407         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
408         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
409         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
410     elif t == "raw.read":
411         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
412         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
413         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
414     elif t == "raw.search":
415         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
416 # test the dirsort module.
417         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
418         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
419     elif t == "vfs.fruit":
420         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
421     elif t == "rpc.schannel_anon_setpw":
422         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
423         plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
424         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
425     elif t == "local.nss":
426         for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
427             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
428     elif t == "smb2.change_notify_disabled":
429         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
430     elif t == "smb2.notify":
431         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
432         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --signing=required')
433     elif t == "smb2.dosmode":
434         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
435     elif t == "vfs.acl_xattr":
436         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
437     else:
438         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
439         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
440
441
442 test = 'rpc.lsa.lookupsids'
443 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
444 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
445 endianness_options = ["", ",bigendian"]
446 for s in signseal_options:
447     for e in endianness_options:
448         for a in auth_options:
449             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
450             options = binding_string + " -U$USERNAME%$PASSWORD"
451             plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
452             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"),
453                                                              "none", options, configuration])
454
455     # We should try more combinations in future, but this is all
456     # the pre-calculated credentials cache supports at the moment
457     #
458     # As the ktest env requires SMB3_00 we need to use "smb2" until
459     # dcerpc client code in smbtorture support autonegotiation
460     # of any smb dialect.
461     e = ""
462     a = "smb2"
463     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
464     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
465     plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
466
467     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
468     plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
469
470     auth_options2 = ["krb5", "spnego,krb5"]
471     for a in auth_options2:
472         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
473
474         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"),
475                                                                                                                               "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
476
477 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
478                                                                        "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
479 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
480               [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
481                configuration, os.path.join(bindir(), "sharesec"), "tmp"])
482
483 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
484               [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
485                "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
486                configuration])
487 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
488               [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
489                "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
490                configuration])
491
492 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
493               [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
494                "$USERNAME", "$PASSWORD", "$SERVER",
495                os.path.join(bindir(), "rpcclient"), "tmp"])
496
497 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
498               [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
499                "$USERNAME", "$PASSWORD", "$SERVER",
500                os.path.join(bindir(), "rpcclient")])
501
502 plantestsuite("samba3.blackbox.smbclient.encryption_off", "simpleserver",
503               [os.path.join(samba3srcdir, "script/tests/test_smbclient_encryption_off.sh"),
504                "$USERNAME", "$PASSWORD", "$SERVER",
505                smbclient3])
506
507 options_list = ["", "-e"]
508 for options in options_list:
509     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
510                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
511                    "$PREFIX/ktest/krb5_ccache-2",
512                    smbclient3, "$SERVER", options, configuration])
513
514     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
515                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
516                    "$PREFIX/ktest/krb5_ccache-2",
517                    smbclient3, "$SERVER", options, configuration])
518
519     plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
520                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
521                    "$PREFIX/ktest/krb5_ccache-3",
522                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
523
524     plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
525                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
526                    "$PREFIX/ktest/krb5_ccache-3",
527                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
528
529     plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "nt4_dc:local",
530                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
531                    "none",
532                    smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
533
534 for alias in ["foo", "bar"]:
535     plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
536                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
537                    smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
538
539 for e in endianness_options:
540     for a in auth_options:
541         for s in signseal_options:
542             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
543             options = binding_string + " -U$USERNAME%$PASSWORD"
544             plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
545
546 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
547 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')