selftest: rename env s3dc_schannel to nt4_dc_schannel
[Samba.git] / source3 / selftest / tests.py
blob1b28a151ab3e6699caebb9bfb6710095d9b06f7c
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.
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
19 # comments.
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',
30 def plansmbtorture4testsuite(name, env, options, description=''):
31 if description == '':
32 modname = "samba3.%s" % (name, )
33 else:
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", "PROPERTIES", "W2K",
52 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2",
53 "CHAIN3",
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"]
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"])
71 # non-crypt only
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"])
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"])
81 posix_tests = ["POSIX", "POSIX-APPEND"]
83 for t in posix_tests:
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"])
88 env = "nt4_dc:local"
89 t = "CLEANUP3"
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"])
92 local_tests = [
93 "LOCAL-SUBSTITUTE",
94 "LOCAL-GENCACHE",
95 "LOCAL-TALLOC-DICT",
96 "LOCAL-BASE64",
97 "LOCAL-RBTREE",
98 "LOCAL-MEMCACHE",
99 "LOCAL-STREAM-NAME",
100 "LOCAL-string_to_sid",
101 "LOCAL-sid_to_string",
102 "LOCAL-binary_to_sid",
103 "LOCAL-DBTRANS",
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-hex_encode_buf",
115 "LOCAL-sprintf_append",
116 "LOCAL-remove_duplicate_addrs2"]
118 for t in local_tests:
119 plantestsuite("samba3.smbtorture_s3.%s" % t, "none", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
121 plantestsuite("samba.vfstest.stream_depot", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
122 plantestsuite("samba.vfstest.xattr-tdb-1", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
123 plantestsuite("samba.vfstest.acl", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
124 plantestsuite("samba.vfstest.catia", "nt4_dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
126 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
127 env = "nt4_dc"
128 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])
130 for env in ["nt4_dc", "member", "ad_member", "ad_dc_ntvfs", "s4member"]:
131 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])
133 for env in ["nt4_dc", "member", "ad_member"]:
134 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])
135 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])
137 for env in ["member", "ad_member"]:
138 plantestsuite("samba3.blackbox.net_cred_change.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_net_cred_change.sh"), configuration])
140 env = "ad_member"
141 t = "--krb5auth=$DOMAIN/$DC_USERNAME%$DC_PASSWORD"
142 plantestsuite("samba3.wbinfo_simple.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(srcdir(), "nsswitch/tests/test_wbinfo_simple.sh"), t])
143 t = "WBCLIENT-MULTI-PING"
144 plantestsuite("samba3.smbtorture_s3.%s" % t, env, [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//foo/bar', '""', '""', smbtorture3, ""])
147 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])
149 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])
152 for env in ["maptoguest", "simpleserver"]:
153 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"])
155 env = "maptoguest"
156 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"])
158 # plain
159 for env in ["nt4_dc"]:
160 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])
162 for env in ["member", "ad_member"]:
163 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])
165 for env in ["nt4_dc"]:
166 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"])
168 for env in ["member", "ad_member"]:
169 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"])
171 for env in ["nt4_dc"]:
172 # encrypted
173 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 # tar command tests
180 # find config.h
181 try:
182 config_h = os.environ["CONFIG_H"]
183 except KeyError:
184 config_h = os.path.join(samba4bindir, "default/include/config.h")
186 # see if libarchive is supported
187 f = open(config_h, 'r')
188 try:
189 have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
190 finally:
191 f.close()
193 # tar command enabled only if built with libarchive
194 if have_libarchive:
195 # Test smbclient/tarmode
196 plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
197 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
198 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
199 '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
201 # Test suite for new smbclient/tar with libarchive (GSoC 13)
202 plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
203 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
204 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
205 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
206 '-d', '$PREFIX', '-b', smbclient3,
207 '--subunit', '--', configuration])
209 #TODO encrypted against member, with member creds, and with DC creds
210 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
211 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
212 scriptdir, "$SMB_CONF_PATH", net, configuration])
213 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
214 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
215 scriptdir, "$SMB_CONF_PATH", net, configuration])
216 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
217 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
218 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
219 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
220 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
221 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
223 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
224 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
225 scriptdir, "$SMB_CONF_PATH", net, configuration])
226 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
227 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
228 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
230 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
231 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
232 scriptdir, "$SMB_CONF_PATH", net, configuration])
233 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
234 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
235 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
238 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
239 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
240 "$LOCAL_PATH"])
242 plantestsuite(
243 "samba3.pthreadpool", "nt4_dc",
244 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
246 #smbtorture4 tests
248 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
249 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
250 "base.disconnect", "base.fdpass", "base.lock",
251 "base.mangle", "base.negnowait", "base.ntdeny1",
252 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
253 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
254 "base.xcopy", "base.samba3error"]
256 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
257 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
258 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
259 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
260 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
261 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
262 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
263 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
264 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
266 smb2 = smbtorture4_testsuites("smb2.")
268 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
269 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
270 "rpc.samba3.getaliasmembership-0",
271 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
272 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
273 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
274 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
275 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
276 "rpc.spoolss.driver",
277 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
278 "rpc.lsa.privileges", "rpc.lsa.secrets",
279 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
280 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
281 "rpc.samr.priv", "rpc.samr.passwords.validate",
282 "rpc.netlogon.admin",
283 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
285 local = ["local.nss", "local.ndr"]
287 idmap = [ "idmap.rfc2307" ]
289 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
291 unix = ["unix.info2", "unix.whoami"]
293 nbt = ["nbt.dgram" ]
295 libsmbclient = ["libsmbclient"]
297 vfs = ["vfs.fruit"]
299 tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
301 for t in tests:
302 if t == "base.delaywrite":
303 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
304 elif t == "rap.sam":
305 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
306 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
307 elif t == "winbind.pac":
308 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
309 elif t == "unix.whoami":
310 plansmbtorture4testsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
311 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
312 for env in ["nt4_dc", "member"]:
313 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
314 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
315 for env in ["ad_dc", "ad_member"]:
316 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
317 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
318 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
319 elif t == "raw.samba3posixtimedlock":
320 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
321 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
322 elif t == "raw.chkpath":
323 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
324 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
325 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
326 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
327 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
328 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
329 elif t == "raw.session" or t == "smb2.session":
330 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
331 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
332 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
333 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
334 elif t == "rpc.lsa":
335 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
336 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
337 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
338 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
339 elif t == "rpc.samr.passwords.validate":
340 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
341 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
342 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
343 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
344 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
345 elif t == "base.rw1":
346 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
347 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
348 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
349 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
350 elif t == "idmap.rfc2307":
351 plantestsuite(t, "ad_member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rfc2307.sh"), '$DOMAIN', 'Administrator', '2000000', '"Domain Users"', '2000001', 'ou=idmap,dc=samba,dc=example,dc=com', '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
352 elif t == "raw.acls":
353 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
354 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
355 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
356 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
357 elif t == "smb2.ioctl":
358 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
359 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
360 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
361 elif t == "smb2.lock":
362 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
363 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
364 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
365 elif t == "raw.read":
366 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
367 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
368 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
369 elif t == "raw.search":
370 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
371 # test the dirsort module.
372 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
373 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
374 elif t == "vfs.fruit":
375 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:share1=vfs_fruit --option=torture:share2=tmp --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
376 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=torture:share1=vfs_fruit --option=torture:share2=tmp --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
377 elif t == "rpc.schannel_anon_setpw":
378 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
379 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
380 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
381 elif t == "local.nss":
382 for env in ["nt4_dc:local", "ad_member:local", "member:local", "ad_dc:local", "ad_dc_ntvfs:local"]:
383 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
384 else:
385 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
386 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
389 test = 'rpc.lsa.lookupsids'
390 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
391 signseal_options = ["", ",connect", ",sign", ",seal"]
392 endianness_options = ["", ",bigendian"]
393 for s in signseal_options:
394 for e in endianness_options:
395 for a in auth_options:
396 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
397 options = binding_string + " -U$USERNAME%$PASSWORD"
398 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
399 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"),
400 "none", options, configuration])
402 # We should try more combinations in future, but this is all
403 # the pre-calculated credentials cache supports at the moment
404 e = ""
405 a = ""
406 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
407 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
408 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
410 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
411 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
413 auth_options2 = ["krb5", "spnego,krb5"]
414 for a in auth_options2:
415 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
417 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"),
418 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
420 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
421 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
423 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
424 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
425 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
426 configuration])
427 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
428 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
429 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
430 configuration])
432 options_list = ["", "-e"]
433 for options in options_list:
434 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
435 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
436 "$PREFIX/ktest/krb5_ccache-2",
437 smbclient3, "$SERVER", options, configuration])
439 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
440 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
441 "$PREFIX/ktest/krb5_ccache-2",
442 smbclient3, "$SERVER", options, configuration])
444 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
445 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
446 "$PREFIX/ktest/krb5_ccache-3",
447 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
449 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
450 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
451 "$PREFIX/ktest/krb5_ccache-3",
452 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
454 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "nt4_dc:local",
455 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
456 "none",
457 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
459 for e in endianness_options:
460 for a in auth_options:
461 for s in signseal_options:
462 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
463 options = binding_string + " -U$USERNAME%$PASSWORD"
464 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
466 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')