2 # This script generates a list of testsuites that should be run as part of
3 # the Samba 3 test suite.
5 # The output of this script is parsed by selftest.pl, which then decides
6 # which of the tests to actually run. It will, for example, skip all tests
7 # listed in selftest/skip or only run a subset during "make quicktest".
9 # The idea is that this script outputs all of the tests of Samba 3, not
10 # just those that are known to pass, and list those that should be skipped
11 # or are known to fail in selftest/skip or selftest/samba3-knownfail. This makes it
12 # very easy to see what functionality is still missing in Samba 3 and makes
13 # it possible to run the testsuite against other servers, such as Samba 4 or
14 # Windows that have a different set of features.
16 # The syntax for a testsuite is "-- TEST --" on a single line, followed
17 # by the name of the test, the environment it needs and the command to run, all
18 # three separated by newlines. All other lines in the output are considered
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',
30 def plansmbtorture4testsuite(name, env, options, description=''):
32 modname = "samba3.%s" % (name, )
34 modname = "samba3.%s %s" % (name, description)
36 selftesthelpers.plansmbtorture4testsuite(
37 name, env, options, target='samba3', modname=modname)
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")])
43 plantestsuite("samba3.local_s3", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
45 plantestsuite("samba3.blackbox.registry.upgrade", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
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",
54 "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
55 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
56 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT",
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"])
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"])
73 tests = ["OPLOCK-CANCEL"]
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"])
77 tests = ["RW1", "RW2", "RW3"]
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"])
81 posix_tests = ["POSIX", "POSIX-APPEND"]
84 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"])
85 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"])
86 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"])
90 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"])
100 "LOCAL-string_to_sid",
101 "LOCAL-sid_to_string",
102 "LOCAL-binary_to_sid",
104 "LOCAL-TEVENT-SELECT",
105 "LOCAL-CONVERT-STRING",
106 "LOCAL-CONV-AUTH-INFO",
107 "LOCAL-IDMAP-TDB-COMMON",
108 "LOCAL-MESSAGING-READ1",
109 "LOCAL-MESSAGING-READ2",
110 "LOCAL-MESSAGING-READ3",
111 "LOCAL-MESSAGING-READ4",
112 "LOCAL-MESSAGING-FDPASS1",
113 "LOCAL-MESSAGING-FDPASS2",
114 "LOCAL-MESSAGING-FDPASS2a",
115 "LOCAL-MESSAGING-FDPASS2b",
116 "LOCAL-hex_encode_buf",
117 "LOCAL-sprintf_append",
118 "LOCAL-remove_duplicate_addrs2"]
120 for t in local_tests:
121 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
123 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
124 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
125 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
126 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
128 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
130 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 for env in ["nt4_dc", "nt4_member", "ad_member", "ad_dc_ntvfs", "s4member"]:
133 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 for env in ["nt4_dc", "nt4_member", "ad_member"]:
136 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$DC_USERNAME', '$DC_PASSWORD', smbclient3, configuration])
137 plantestsuite("samba3.blackbox.smbclient_auth.plain (%s) member creds" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_auth.sh"), '$SERVER', '$SERVER_IP', '$SERVER/$USERNAME', '$PASSWORD', smbclient3, configuration])
139 for env in ["nt4_member", "ad_member"]:
140 plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
143 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
144 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
145 t = "WBCLIENT-MULTI-PING"
146 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
149 plantestsuite("samba3.ntlm_auth.krb5(ktest:local) old ccache", "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])
151 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])
154 for env in ["maptoguest", "simpleserver"]:
155 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"])
158 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"])
161 for env in ["nt4_dc"]:
162 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])
164 for env in ["nt4_member", "ad_member"]:
165 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])
167 for env in ["nt4_dc"]:
168 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"])
170 for env in ["nt4_member", "ad_member"]:
171 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"])
173 for env in ["nt4_dc"]:
175 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"])
177 for env in ["fileserver"]:
178 plantestsuite("samba3.blackbox.preserve_case (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_preserve_case.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
179 plantestsuite("samba3.blackbox.dfree_command (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_dfree_command.sh"), '$SERVER', '$DOMAIN', '$USERNAME', '$PASSWORD', '$PREFIX', smbclient3])
180 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])
181 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])
182 plantestsuite("samba3.blackbox.shadow_copy2 (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_shadow_copy.sh"), '$SERVER', '$SERVER_IP', '$DOMAIN', '$USERNAME', '$PASSWORD', '$LOCAL_PATH/shadow', smbclient3])
190 config_h = os.environ["CONFIG_H"]
192 config_h = os.path.join(samba4bindir, "default/include/config.h")
194 # see if libarchive is supported
195 f = open(config_h, 'r')
197 have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
201 # tar command enabled only if built with libarchive
203 # Test smbclient/tarmode
204 plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
205 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
206 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
207 '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
209 # Test suite for new smbclient/tar with libarchive (GSoC 13)
210 plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
211 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
212 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
213 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
214 '-d', '$PREFIX', '-b', smbclient3,
215 '--subunit', '--', configuration])
217 #TODO encrypted against member, with member creds, and with DC creds
218 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
219 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
220 scriptdir, "$SMB_CONF_PATH", net, configuration])
221 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
222 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
223 scriptdir, "$SMB_CONF_PATH", net, configuration])
224 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
225 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
226 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
227 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
228 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
229 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
231 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
232 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
233 scriptdir, "$SMB_CONF_PATH", net, configuration])
234 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
235 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
236 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
238 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
239 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
240 scriptdir, "$SMB_CONF_PATH", net, configuration])
241 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
242 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
243 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
246 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
247 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
251 "samba3.pthreadpool", "nt4_dc",
252 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
254 plantestsuite("samba3.async_req", "nt4_dc",
255 [os.path.join(samba3srcdir, "script/tests/test_async_req.sh")])
259 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
260 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
261 "base.disconnect", "base.fdpass", "base.lock",
262 "base.mangle", "base.negnowait", "base.ntdeny1",
263 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
264 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
265 "base.xcopy", "base.samba3error"]
267 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
268 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
269 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
270 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
271 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
272 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
273 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
274 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
275 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
277 smb2 = smbtorture4_testsuites("smb2.")
279 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
280 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
281 "rpc.samba3.getaliasmembership-0",
282 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
283 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
284 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
285 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
286 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
287 "rpc.spoolss.driver",
288 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
289 "rpc.lsa.privileges", "rpc.lsa.secrets",
290 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
291 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
292 "rpc.samr.priv", "rpc.samr.passwords.validate",
293 "rpc.netlogon.admin",
294 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
296 local = ["local.nss", "local.ndr"]
298 idmap = [ "idmap.rfc2307" ]
300 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
302 unix = ["unix.info2", "unix.whoami"]
306 libsmbclient = ["libsmbclient"]
310 tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
313 if t == "base.delaywrite":
314 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
316 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
317 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
318 elif t == "winbind.pac":
319 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
320 elif t == "unix.whoami":
321 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
322 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
323 for env in ["nt4_dc", "nt4_member"]:
324 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
325 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
326 for env in ["ad_dc", "ad_member"]:
327 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
328 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
329 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
330 elif t == "raw.samba3posixtimedlock":
331 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
332 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
333 elif t == "raw.chkpath":
334 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
335 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
336 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
337 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
338 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
339 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
340 elif t == "raw.session" or t == "smb2.session":
341 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
342 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
343 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
344 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
346 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
347 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
348 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
349 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
350 elif t == "rpc.samr.passwords.validate":
351 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
352 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
353 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
354 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
355 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
356 elif t == "base.rw1":
357 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
358 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
359 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
360 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
361 elif t == "idmap.rfc2307":
362 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'])
363 elif t == "raw.acls":
364 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
365 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
366 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
367 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
368 elif t == "smb2.ioctl":
369 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
370 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
371 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
372 elif t == "smb2.lock":
373 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
374 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
375 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
376 elif t == "raw.read":
377 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
378 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
379 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
380 elif t == "raw.search":
381 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
382 # test the dirsort module.
383 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
384 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
385 elif t == "vfs.fruit":
386 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
387 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/vfs_fruit -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
388 elif t == "rpc.schannel_anon_setpw":
389 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
390 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
391 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
392 elif t == "local.nss":
393 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local", "ad_dc_ntvfs:local"]:
394 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
395 elif t == "smb2.change_notify_disabled":
396 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
397 elif t == "smb2.notify":
398 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
399 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --signing=required')
401 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
402 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
405 test = 'rpc.lsa.lookupsids'
406 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
407 signseal_options = ["", ",connect", ",sign", ",seal"]
408 endianness_options = ["", ",bigendian"]
409 for s in signseal_options:
410 for e in endianness_options:
411 for a in auth_options:
412 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
413 options = binding_string + " -U$USERNAME%$PASSWORD"
414 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
415 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"),
416 "none", options, configuration])
418 # We should try more combinations in future, but this is all
419 # the pre-calculated credentials cache supports at the moment
422 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
423 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
424 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
426 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
427 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
429 auth_options2 = ["krb5", "spnego,krb5"]
430 for a in auth_options2:
431 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
433 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"),
434 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
436 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
437 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
438 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
439 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
440 configuration, os.path.join(bindir(), "sharesec"), "tmp"])
442 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
443 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
444 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
446 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
447 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
448 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
451 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
452 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
453 "$USERNAME", "$PASSWORD", "$SERVER",
454 os.path.join(bindir(), "rpcclient"), "tmp"])
456 options_list = ["", "-e"]
457 for options in options_list:
458 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
459 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
460 "$PREFIX/ktest/krb5_ccache-2",
461 smbclient3, "$SERVER", options, configuration])
463 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
464 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
465 "$PREFIX/ktest/krb5_ccache-2",
466 smbclient3, "$SERVER", options, configuration])
468 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
469 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
470 "$PREFIX/ktest/krb5_ccache-3",
471 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
473 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
474 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
475 "$PREFIX/ktest/krb5_ccache-3",
476 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
478 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "nt4_dc:local",
479 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
481 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
483 for e in endianness_options:
484 for a in auth_options:
485 for s in signseal_options:
486 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
487 options = binding_string + " -U$USERNAME%$PASSWORD"
488 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
490 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
491 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')