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