ctdb: Accept the key in hex format for the pstore command
[Samba.git] / source3 / selftest / tests.py
blob1f6174c19128c7e07b7d9db7b010d343bc52fc11
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-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", ""]:
129 env = "nt4_dc"
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])
142 env = "ad_member"
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"])
157 env = "maptoguest"
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"])
160 # plain
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"]:
174 # encrypted
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])
181 # tar command tests
184 # find config.h
185 try:
186 config_h = os.environ["CONFIG_H"]
187 except KeyError:
188 config_h = os.path.join(samba4bindir, "default/include/config.h")
190 # see if libarchive is supported
191 f = open(config_h, 'r')
192 try:
193 have_libarchive = ("HAVE_LIBARCHIVE 1" in f.read())
194 finally:
195 f.close()
197 # tar command enabled only if built with libarchive
198 if have_libarchive:
199 # Test smbclient/tarmode
200 plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env,
201 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"),
202 '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD',
203 '$LOCAL_PATH', '$PREFIX', smbclient3, configuration])
205 # Test suite for new smbclient/tar with libarchive (GSoC 13)
206 plantestsuite("samba3.blackbox.smbclient_tar (%s)" % env, env,
207 [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.pl"),
208 '-n', '$SERVER', '-i', '$SERVER_IP', '-s', 'tmp',
209 '-u', '$USERNAME', '-p', '$PASSWORD', '-l', '$LOCAL_PATH',
210 '-d', '$PREFIX', '-b', smbclient3,
211 '--subunit', '--', configuration])
213 #TODO encrypted against member, with member creds, and with DC creds
214 plantestsuite("samba3.blackbox.net.misc", "nt4_dc:local",
215 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
216 scriptdir, "$SMB_CONF_PATH", net, configuration])
217 plantestsuite("samba3.blackbox.net.local.registry", "nt4_dc:local",
218 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
219 scriptdir, "$SMB_CONF_PATH", net, configuration])
220 plantestsuite("samba3.blackbox.net.registry.check", "nt4_dc:local",
221 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
222 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
223 plantestsuite("samba3.blackbox.net.rpc.registry", "nt4_dc",
224 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
225 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
227 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "nt4_dc:local",
228 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
229 scriptdir, "$SMB_CONF_PATH", net, configuration])
230 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "nt4_dc",
231 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
232 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
234 plantestsuite("samba3.blackbox.net.local.conf", "nt4_dc:local",
235 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
236 scriptdir, "$SMB_CONF_PATH", net, configuration])
237 plantestsuite("samba3.blackbox.net.rpc.conf", "nt4_dc",
238 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
239 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
242 plantestsuite("samba3.blackbox.testparm", "nt4_dc:local",
243 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
244 "$LOCAL_PATH"])
246 plantestsuite(
247 "samba3.pthreadpool", "nt4_dc",
248 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
250 #smbtorture4 tests
252 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
253 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
254 "base.disconnect", "base.fdpass", "base.lock",
255 "base.mangle", "base.negnowait", "base.ntdeny1",
256 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
257 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
258 "base.xcopy", "base.samba3error"]
260 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
261 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
262 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
263 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
264 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
265 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
266 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
267 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
268 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
270 smb2 = smbtorture4_testsuites("smb2.")
272 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
273 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
274 "rpc.samba3.getaliasmembership-0",
275 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
276 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
277 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
278 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
279 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
280 "rpc.spoolss.driver",
281 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
282 "rpc.lsa.privileges", "rpc.lsa.secrets",
283 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
284 "rpc.samr.passwords.pwdlastset", "rpc.samr.passwords.lockout", "rpc.samr.passwords.badpwdcount", "rpc.samr.large-dc", "rpc.samr.machine.auth",
285 "rpc.samr.priv", "rpc.samr.passwords.validate",
286 "rpc.netlogon.admin",
287 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.schannel_anon_setpw", "rpc.join", "rpc.bind"]
289 local = ["local.nss", "local.ndr"]
291 idmap = [ "idmap.rfc2307" ]
293 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
295 unix = ["unix.info2", "unix.whoami"]
297 nbt = ["nbt.dgram" ]
299 libsmbclient = ["libsmbclient"]
301 vfs = ["vfs.fruit"]
303 tests= base + raw + smb2 + rpc + unix + local + rap + nbt + libsmbclient + idmap + vfs
305 for t in tests:
306 if t == "base.delaywrite":
307 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD -k yes --maximum-runtime=900')
308 elif t == "rap.sam":
309 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
310 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
311 elif t == "winbind.pac":
312 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
313 elif t == "unix.whoami":
314 plansmbtorture4testsuite(t, "nt4_member:local", '//$SERVER/tmp --machine-pass', description="machine account")
315 plansmbtorture4testsuite(t, "ad_member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
316 for env in ["nt4_dc", "nt4_member"]:
317 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
318 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
319 for env in ["ad_dc", "ad_member"]:
320 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
321 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
322 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
323 elif t == "raw.samba3posixtimedlock":
324 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/nt4_dc/share')
325 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/ad_dc/share')
326 elif t == "raw.chkpath":
327 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
328 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
329 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
330 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
331 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
332 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
333 elif t == "raw.session" or t == "smb2.session":
334 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
335 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
336 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
337 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
338 elif t == "rpc.lsa":
339 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
340 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
341 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
342 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
343 elif t == "rpc.samr.passwords.validate":
344 plansmbtorture4testsuite(t, "nt4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
345 plansmbtorture4testsuite(t, "ad_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
346 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open" or t == "smb2.replay":
347 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
348 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
349 elif t == "base.rw1":
350 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
351 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
352 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
353 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
354 elif t == "idmap.rfc2307":
355 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'])
356 elif t == "raw.acls":
357 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
358 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
359 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
360 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
361 elif t == "smb2.ioctl":
362 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/fs_specific -U$USERNAME%$PASSWORD', 'fs_specific')
363 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
364 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
365 elif t == "smb2.lock":
366 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
367 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
368 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
369 elif t == "raw.read":
370 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
371 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/aio -U$USERNAME%$PASSWORD', 'aio')
372 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
373 elif t == "raw.search":
374 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
375 # test the dirsort module.
376 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmpsort -U$USERNAME%$PASSWORD')
377 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
378 elif t == "vfs.fruit":
379 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')
380 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')
381 elif t == "rpc.schannel_anon_setpw":
382 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$%', description="anonymous password set")
383 plansmbtorture4testsuite(t, "nt4_dc_schannel", '//$SERVER_IP/tmp -U$%', description="anonymous password set (schannel enforced server-side)")
384 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$%', description="anonymous password set")
385 elif t == "local.nss":
386 for env in ["nt4_dc:local", "ad_member:local", "nt4_member:local", "ad_dc:local", "ad_dc_ntvfs:local"]:
387 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$USERNAME%$PASSWORD')
388 elif t == "smb2.notify":
389 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --signing=required')
390 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD --signing=required')
391 else:
392 plansmbtorture4testsuite(t, "nt4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
393 plansmbtorture4testsuite(t, "ad_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
396 test = 'rpc.lsa.lookupsids'
397 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
398 signseal_options = ["", ",connect", ",sign", ",seal"]
399 endianness_options = ["", ",bigendian"]
400 for s in signseal_options:
401 for e in endianness_options:
402 for a in auth_options:
403 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
404 options = binding_string + " -U$USERNAME%$PASSWORD"
405 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
406 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"),
407 "none", options, configuration])
409 # We should try more combinations in future, but this is all
410 # the pre-calculated credentials cache supports at the moment
411 e = ""
412 a = ""
413 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
414 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
415 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
417 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
418 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
420 auth_options2 = ["krb5", "spnego,krb5"]
421 for a in auth_options2:
422 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
424 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"),
425 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
427 plantestsuite("samba3.blackbox.rpcclient_samlogon", "ad_member:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient_samlogon.sh"),
428 "$DC_USERNAME", "$DC_PASSWORD", "ncacn_np:$DC_SERVER", configuration])
429 plantestsuite("samba3.blackbox.sharesec", "simpleserver:local",
430 [os.path.join(samba3srcdir, "script/tests/test_sharesec.sh"),
431 configuration, os.path.join(bindir(), "sharesec"), "tmp"])
433 plantestsuite("samba3.blackbox.net_dom_join_fail_dc", "nt4_dc",
434 [os.path.join(samba3srcdir, "script/tests/test_net_dom_join_fail_dc.sh"),
435 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_dom_join_fail_dc",
436 configuration])
437 plantestsuite("samba3.blackbox.net_rpc_join", "nt4_dc",
438 [os.path.join(samba3srcdir, "script/tests/test_net_rpc_join.sh"),
439 "$USERNAME", "$PASSWORD", "$SERVER", "$PREFIX/net_rpc_join",
440 configuration])
442 plantestsuite("samba3.blackbox.rpcclient_srvsvc", "simpleserver",
443 [os.path.join(samba3srcdir, "script/tests/test_rpcclientsrvsvc.sh"),
444 "$USERNAME", "$PASSWORD", "$SERVER",
445 os.path.join(bindir(), "rpcclient"), "tmp"])
447 options_list = ["", "-e"]
448 for options in options_list:
449 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
450 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
451 "$PREFIX/ktest/krb5_ccache-2",
452 smbclient3, "$SERVER", options, configuration])
454 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
455 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
456 "$PREFIX/ktest/krb5_ccache-2",
457 smbclient3, "$SERVER", options, configuration])
459 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
460 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
461 "$PREFIX/ktest/krb5_ccache-3",
462 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
464 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
465 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
466 "$PREFIX/ktest/krb5_ccache-3",
467 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
469 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "nt4_dc:local",
470 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
471 "none",
472 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
474 for e in endianness_options:
475 for a in auth_options:
476 for s in signseal_options:
477 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
478 options = binding_string + " -U$USERNAME%$PASSWORD"
479 plansmbtorture4testsuite(test, "nt4_dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
481 plansmbtorture4testsuite('rpc.epmapper', 'nt4_dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')
482 plansmbtorture4testsuite('rpc.fsrvp', 'nt4_dc:local', 'ncacn_np:$SERVER_IP[/pipe/FssagentRpc] -U$USERNAME%$PASSWORD', 'over ncacn_np')