s3: torture: Add test for cli_ftruncate calling cli_smb2_ftruncate.
[kai/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 tests = ["RW1", "RW2", "RW3"]
83 for t in tests:
84     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"])
85
86 posix_tests = ["POSIX", "POSIX-APPEND", "POSIX-SYMLINK-ACL", "POSIX-SYMLINK-EA", "POSIX-OFD-LOCK",
87               "POSIX-STREAM-DELETE" ]
88
89 for t in posix_tests:
90     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"])
91     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"])
92     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"])
93
94 env = "nt4_dc:local"
95 t = "CLEANUP3"
96 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"])
97
98 local_tests = [
99     "LOCAL-SUBSTITUTE",
100     "LOCAL-GENCACHE",
101     "LOCAL-TALLOC-DICT",
102     "LOCAL-BASE64",
103     "LOCAL-RBTREE",
104     "LOCAL-MEMCACHE",
105     "LOCAL-STREAM-NAME",
106     "LOCAL-string_to_sid",
107     "LOCAL-sid_to_string",
108     "LOCAL-binary_to_sid",
109     "LOCAL-DBTRANS",
110     "LOCAL-TEVENT-SELECT",
111     "LOCAL-CONVERT-STRING",
112     "LOCAL-CONV-AUTH-INFO",
113     "LOCAL-IDMAP-TDB-COMMON",
114     "LOCAL-MESSAGING-READ1",
115     "LOCAL-MESSAGING-READ2",
116     "LOCAL-MESSAGING-READ3",
117     "LOCAL-MESSAGING-READ4",
118     "LOCAL-MESSAGING-FDPASS1",
119     "LOCAL-MESSAGING-FDPASS2",
120     "LOCAL-MESSAGING-FDPASS2a",
121     "LOCAL-MESSAGING-FDPASS2b",
122     "LOCAL-PTHREADPOOL-TEVENT",
123     "LOCAL-hex_encode_buf",
124     "LOCAL-remove_duplicate_addrs2"]
125
126 for t in local_tests:
127     plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
128
129 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
130 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
131 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
132 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
133
134 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"]:
135     env = "nt4_dc"
136     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])
137
138 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc", "ad_dc_ntvfs", "s4member", "fl2000dc"]:
139     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])
140     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])
141
142 for options in ["--option=clientntlmv2auth=no", "--option=clientusespnego=no --option=clientntlmv2auth=no", ""]:
143     for env in ["nt4_member", "ad_member"]:
144         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])
145         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])
146
147 env="nt4_dc"
148 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])
149
150 for env in ["nt4_member", "ad_member"]:
151     plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
152
153 env = "ad_member"
154 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
155 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
156 t = "WBCLIENT-MULTI-PING"
157 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
158 plantestsuite("samba3.substitutions", env, [os.path.join(samba3srcdir, "script/tests/test_substitutions.sh"), "$SERVER", "alice", "Secret007", "$PREFIX"])
159
160 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])
161
162 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])
163
164
165 for env in ["maptoguest", "simpleserver"]:
166     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"])
167
168 env = "maptoguest"
169 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"])
170 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])
171
172 # plain
173 for env in ["nt4_dc"]:
174     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])
175
176 for env in ["nt4_member", "ad_member"]:
177     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])
178
179 for env in ["nt4_dc"]:
180     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"])
181
182 for env in ["nt4_member", "ad_member"]:
183     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"])
184
185 for env in ["nt4_dc"]:
186     # encrypted
187     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"])
188
189 for env in ["fileserver"]:
190     plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
191     plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
192     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])
193     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])
194     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])
195     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'])
196     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'])
197     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])
198     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])
199     plantestsuite("samba3.blackbox.netshareenum (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shareenum.sh"), '$SERVER', '$USERNAME', '$PASSWORD', rpcclient])
200     plantestsuite("samba3.blackbox.acl_xattr (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_acl_xattr.sh"), '$SERVER', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3, smbcacls])
201     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])
202     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'])
203     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'])
204     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'])
205
206     #
207     # tar command tests
208     #
209
210     # find config.h
211     try:
212         config_h = os.environ["CONFIG_H"]
213     except KeyError:
214         samba4bindir = bindir()
215         config_h = os.path.join(samba4bindir, "default/include/config.h")
216
217     # see if libarchive is supported
218     f = open(config_h, 'r')
219     try:
220         have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
221     finally:
222         f.close()
223
224     # tar command enabled only if built with libarchive
225     if have_libarchive:
226         # Test smbclient/tarmode
227         plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
228                       [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
229                        '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
230                        '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
231
232         # Test suite for new smbclient/tar with libarchive (GSoC 13)
233         plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
234                       [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
235                        '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
236                        '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
237                        '-d', '$PREFIX', '-b', smbclient3,
238                        '--subunit', '--', configuration])
239
240 #TODO encrypted against member, with member creds, and with DC creds
241 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
242               [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
243                scriptdir, "$SMB_CONF_PATH", net, configuration])
244 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
245               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
246                scriptdir, "$SMB_CONF_PATH", net, configuration])
247 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
248               [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
249                scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
250 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
251               [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
252                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
253
254 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
255               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
256                scriptdir, "$SMB_CONF_PATH", net, configuration])
257 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
258               [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
259                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
260
261 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
262               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
263                scriptdir, "$SMB_CONF_PATH", net, configuration])
264 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
265               [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
266                scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
267
268
269 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
270               [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
271                "$LOCAL_PATH"])
272
273 plantestsuite(
274     "samba3.pthreadpool", "nt4_dc",
275     [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
276
277 plantestsuite("samba3.async_req", "nt4_dc",
278               [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
279
280 #smbtorture4 tests
281
282 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
283         "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
284         "base.disconnect", "base.fdpass", "base.lock",
285         "base.mangle", "base.negnowait", "base.ntdeny1",
286         "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
287         "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
288         "base.xcopy", "base.samba3error"]
289
290 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
291        "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
292        "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
293        "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
294        "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
295        "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
296        "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
297        "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
298        "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
299
300 smb2 = smbtorture4_testsuites("smb2.")
301
302 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
303        "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
304        "rpc.samba3.getaliasmembership-0",
305        "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
306        "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
307        "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
308        "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
309        "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
310        "rpc.spoolss.driver",
311        "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
312        "rpc.lsa.privileges", "rpc.lsa.secrets",
313        "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
314        "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
315        "rpc.samr.priv", "rpc.samr.passwords.validate",
316        "rpc.netlogon.admin",
317        "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
318
319 local = ["local.nss"]
320
321 idmap = ["idmap.rfc2307", "idmap.alloc"]
322
323 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
324
325 unix = ["unix.info2", "unix.whoami"]
326
327 nbt = ["nbt.dgram" ]
328
329 libsmbclient = ["libsmbclient"]
330
331 vfs = ["vfs.fruit", "vfs.acl_xattr"]
332
333 tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
334
335 for t in tests:
336     if t == "base.delaywrite":
337         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
338     elif t == "rap.sam":
339         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
340         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
341     elif t == "winbind.pac":
342         plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
343     elif t == "unix.whoami":
344         plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
345         plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
346         for env in ["nt4_dc", "nt4_member"]:
347             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
348             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
349         for env in ["ad_dc", "ad_member"]:
350             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
351             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
352             plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
353             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k no -U$DC_USERNAME@$REALM%$DC_PASSWORD', description='ntlm user@realm')
354     elif t == "raw.samba3posixtimedlock":
355         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
356         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
357     elif t == "raw.chkpath":
358         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
359         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
360     elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t ==  "raw.samba3closeerr":
361         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
362         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
363         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
364     elif t == "raw.session" or t == "smb2.session":
365         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
366         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
367         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
368         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
369     elif t == "rpc.lsa":
370         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
371         plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
372         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
373         plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
374     elif t == "rpc.samr.passwords.validate":
375         plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
376         plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP[seal] -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
377     elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
378         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
379         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
380     elif t == "base.rw1":
381         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
382         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
383         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
384         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
385     elif t == "idmap.rfc2307":
386         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'])
387     elif t == "idmap.alloc":
388         plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_nss.sh"), '$DOMAIN'])
389     elif t == "raw.acls":
390         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
391         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
392         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
393         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
394     elif t == "smb2.ioctl":
395         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
396         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
397         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
398     elif t == "smb2.lock":
399         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
400         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
401         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
402     elif t == "raw.read":
403         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
404         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
405         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
406     elif t == "raw.search":
407         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
408 # test the dirsort module.
409         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
410         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
411     elif t == "vfs.fruit":
412         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
413         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
414     elif t == "rpc.schannel_anon_setpw":
415         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
416         plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
417         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
418     elif t == "local.nss":
419         for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local"]:
420             plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
421     elif t == "smb2.change_notify_disabled":
422         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
423     elif t == "smb2.notify":
424         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
425         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --signing=required')
426     elif t == "smb2.dosmode":
427         plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/dosmode -U$USERNAME%$PASSWORD')
428     elif t == "vfs.acl_xattr":
429         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
430     else:
431         plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
432         plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
433
434
435 test = 'rpc.lsa.lookupsids'
436 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
437 signseal_options = ["", ",connect", ",packet", ",sign", ",seal"]
438 endianness_options = ["", ",bigendian"]
439 for s in signseal_options:
440     for e in endianness_options:
441         for a in auth_options:
442             binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
443             options = binding_string + " -U$USERNAME%$PASSWORD"
444             plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
445             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"),
446                                                              "none", options, configuration])
447
448     # We should try more combinations in future, but this is all
449     # the pre-calculated credentials cache supports at the moment
450     e = ""
451     a = ""
452     binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
453     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
454     plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
455
456     options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
457     plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
458
459     auth_options2 = ["krb5", "spnego,krb5"]
460     for a in auth_options2:
461         binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
462
463         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"),
464                                                                                                                               "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
465
466 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
467                                                                        "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
468 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
469               [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
470                configuration, os.path.join(bindir(), "sharesec"), "tmp"])
471
472 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
473               [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
474                "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
475                configuration])
476 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
477               [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
478                "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
479                configuration])
480
481 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
482               [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
483                "$USERNAME", "$PASSWORD", "$SERVER",
484                os.path.join(bindir(), "rpcclient"), "tmp"])
485
486 plantestsuite("samba3.blackbox.rpcclient.pw-nt-hash", "simpleserver",
487               [os.path.join(samba3srcdir, "script/tests/test_rpcclient_pw_nt_hash.sh"),
488                "$USERNAME", "$PASSWORD", "$SERVER",
489                os.path.join(bindir(), "rpcclient")])
490
491 options_list = ["", "-e"]
492 for options in options_list:
493     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
494                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
495                    "$PREFIX/ktest/krb5_ccache-2",
496                    smbclient3, "$SERVER", options, configuration])
497
498     plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
499                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
500                    "$PREFIX/ktest/krb5_ccache-2",
501                    smbclient3, "$SERVER", options, configuration])
502
503     plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
504                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
505                    "$PREFIX/ktest/krb5_ccache-3",
506                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
507
508     plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
509                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
510                    "$PREFIX/ktest/krb5_ccache-3",
511                    smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
512
513     plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "nt4_dc:local",
514                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
515                    "none",
516                    smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
517
518 for alias in ["foo", "bar"]:
519     plantestsuite("samba3.blackbox.smbclient_netbios_aliases [%s]" % alias, "ad_member:local",
520                   [os.path.join(samba3srcdir, "script/tests/test_smbclient_netbios_aliases.sh"),
521                    smbclient3, alias, "$DC_USERNAME", "$DC_PASSWORD", "$PREFIX", options, configuration])
522
523 for e in endianness_options:
524     for a in auth_options:
525         for s in signseal_options:
526             binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
527             options = binding_string + " -U$USERNAME%$PASSWORD"
528             plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
529
530 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
531 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')