s3-selftest: convert stream_depot vfstest driver into a subunit test
[Samba.git] / source3 / selftest / tests.py
blobd892b16042f8647e8a336751a06397b0d9c72fd9
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 from selftesthelpers import *
24 import subprocess
25 smb4torture = binpath("smbtorture4")
26 samba3srcdir = srcdir() + "/source3"
27 configuration = "--configfile=$SMB_CONF_PATH"
28 scriptdir=os.path.join(samba3srcdir, "../script/tests")
30 smbclient = binpath('smbclient3')
31 wbinfo = binpath('wbinfo')
32 net = binpath('net')
33 smbtorture3 = binpath('smbtorture3')
34 ntlm_auth = binpath('ntlm_auth3')
35 dbwrap_tool = binpath('dbwrap_tool')
36 vfstest = binpath('vfstest')
38 torture_options = [configuration, "--maximum-runtime=$SELFTEST_MAXTIME",
39 "--basedir=$SELFTEST_TMPDIR",
40 '--option="torture:winbindd_netbios_name=$SERVER"',
41 '--option="torture:winbindd_netbios_domain=$DOMAIN"',
42 '--option=torture:sharedelay=100000',
43 '--option=torture:writetimeupdatedelay=500000' ]
45 if not os.getenv("SELFTEST_VERBOSE"):
46 torture_options.append("--option=torture:progress=no")
47 torture_options.append("--format=subunit")
48 if os.getenv("SELFTEST_QUICK"):
49 torture_options.append("--option=torture:quick=yes")
51 smb4torture_testsuite_list = subprocess.Popen([smb4torture, "--list-suites"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate("")[0].splitlines()
53 smb4torture += " " + " ".join(torture_options)
55 sub = subprocess.Popen("%s --version 2> /dev/null" % smb4torture, stdout=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
56 sub.communicate("")
57 smb4torture_possible = (sub.returncode == 0)
60 def smb4torture_testsuites(prefix):
61 return filter(lambda x: x.startswith(prefix), smb4torture_testsuite_list)
63 def plansmbtorturetestsuite(name, env, options, description=''):
64 target = "samba3"
65 if description == '':
66 modname = "%s.%s" % (target, name)
67 else:
68 modname = "%s.%s %s" % (target, name, description)
70 cmdline = "%s $LISTOPT %s --target=%s %s" % (valgrindify(smb4torture), options, target, name)
71 if smb4torture_possible:
72 plantestsuite_loadlist(modname, env, cmdline)
75 plantestsuite("samba3.blackbox.success", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
76 plantestsuite("samba3.blackbox.failure", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
78 plantestsuite("samba3.local_s3", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
80 plantestsuite("samba3.blackbox.registry.upgrade", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
82 tests=[ "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
83 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
84 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
85 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "RW-SIGNING",
86 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
87 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2",
88 "CHAIN3",
89 "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
90 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
91 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT",
92 "CLEANUP1",
93 "CLEANUP2",
94 "BAD-NBT-SESSION"]
96 for t in tests:
97 plantestsuite("samba3.smbtorture_s3.plain(s3dc).%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
98 plantestsuite("samba3.smbtorture_s3.crypt(s3dc).%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
99 plantestsuite("samba3.smbtorture_s3.plain(dc).%s" % t, "dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
101 posix_tests=[ "POSIX", "POSIX-APPEND"]
103 for t in posix_tests:
104 plantestsuite("samba3.smbtorture_s3.plain(s3dc).%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
105 plantestsuite("samba3.smbtorture_s3.crypt(s3dc).%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "-e", "-l $LOCAL_PATH"])
106 plantestsuite("samba3.smbtorture_s3.plain(dc).%s" % t, "dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/posix_share', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
108 env = "s3dc:local"
109 t = "CLEANUP3"
110 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"])
112 local_tests=[
113 "LOCAL-SUBSTITUTE",
114 "LOCAL-GENCACHE",
115 "LOCAL-TALLOC-DICT",
116 "LOCAL-BASE64",
117 "LOCAL-RBTREE",
118 "LOCAL-MEMCACHE",
119 "LOCAL-STREAM-NAME",
120 "LOCAL-WBCLIENT",
121 "LOCAL-string_to_sid",
122 "LOCAL-binary_to_sid",
123 "LOCAL-DBTRANS",
124 "LOCAL-TEVENT-SELECT",
125 "LOCAL-CONVERT-STRING",
126 "LOCAL-CONV-AUTH-INFO",
127 "LOCAL-IDMAP-TDB-COMMON",
128 "LOCAL-hex_encode_buf",
129 "LOCAL-sprintf_append",
130 "LOCAL-remove_duplicate_addrs2"]
132 for t in local_tests:
133 plantestsuite("samba3.smbtorture_s3.%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmp', '$USERNAME', '$PASSWORD', smbtorture3, "-e"])
135 tests=["--ping", "--separator",
136 "--own-domain",
137 "--all-domains",
138 "--trusted-domains",
139 "--domain-info=BUILTIN",
140 "--domain-info=$DOMAIN",
141 "--online-status",
142 "--online-status --domain=BUILTIN",
143 "--online-status --domain=$DOMAIN",
144 "--check-secret --domain=$DOMAIN",
145 "--change-secret --domain=$DOMAIN",
146 "--check-secret --domain=$DOMAIN",
147 "--online-status --domain=$DOMAIN",
148 #Didn't pass yet# "--domain-users",
149 "--domain-groups",
150 "--name-to-sid=$DC_USERNAME",
151 "--name-to-sid=$DOMAIN\\\\$DC_USERNAME",
152 #Didn't pass yet# "--user-info=$USERNAME",
153 "--user-groups=$DOMAIN\\\\$DC_USERNAME",
154 "--authenticate=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD",
155 "--allocate-uid",
156 "--allocate-gid"]
158 plantestsuite("samba.vfstest.stream_depot", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
160 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
161 env = "s3dc"
162 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', smbclient, configuration, options])
164 for env in ["s3dc", "member", "s3member"]:
165 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', smbclient, configuration])
166 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', smbclient, configuration])
168 for t in tests:
169 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
171 plantestsuite(
172 "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
173 [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
175 plantestsuite(
176 "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
177 [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), ntlm_auth, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
179 plantestsuite("samba3.ntlm_auth.(%s:local)" % env, "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_s3.sh"), valgrindify(python), samba3srcdir, ntlm_auth, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
181 env = "s3member"
182 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
183 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
185 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_auth, '$PREFIX/ktest/krb5_ccache-2', '$SERVER', configuration])
187 plantestsuite("samba3.ntlm_auth.krb5(ktest:local)", "ktest:local", [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_krb5.sh"), valgrindify(python), samba3srcdir, ntlm_auth, '$PREFIX/ktest/krb5_ccache-3', '$SERVER', configuration])
190 for env in ["maptoguest", "secshare"]:
191 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', smbclient, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
193 env = "maptoguest"
194 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', smbclient, configuration + " --option=clientntlmv2auth=no --option=clientlanmanauth=yes"])
196 # plain
197 for env in ["s3dc"]:
198 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', smbclient, wbinfo, configuration])
200 for env in ["member", "s3member"]:
201 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', smbclient, wbinfo, configuration])
203 for env in ["s3dc"]:
204 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', smbclient, wbinfo, configuration, "--signing=required"])
206 for env in ["member", "s3member"]:
207 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', smbclient, wbinfo, configuration, "--signing=required"])
209 for env in ["s3dc"]:
210 # encrypted
211 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', smbclient, wbinfo, configuration, "-e"])
213 # Test smbclient/tarmode
214 plantestsuite("samba3.blackbox.smbclient_tarmode (%s)" % env, env, [os.path.join(samba3srcdir, "script/tests/test_smbclient_tarmode.sh"), '$SERVER', '$SERVER_IP', '$USERNAME', '$PASSWORD', '$LOCAL_PATH', '$PREFIX', smbclient, configuration])
216 #TODO encrypted against member, with member creds, and with DC creds
217 plantestsuite("samba3.blackbox.net.misc", "s3dc:local",
218 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
219 scriptdir, "$SMB_CONF_PATH", net, configuration])
220 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local",
221 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
222 scriptdir, "$SMB_CONF_PATH", net, configuration])
223 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local",
224 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
225 scriptdir, "$SMB_CONF_PATH", net, configuration,dbwrap_tool])
226 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc",
227 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
228 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
230 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local",
231 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
232 scriptdir, "$SMB_CONF_PATH", net, configuration])
233 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc",
234 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
235 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
237 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local",
238 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
239 scriptdir, "$SMB_CONF_PATH", net, configuration])
240 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc",
241 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
242 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
245 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
246 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
247 "$LOCAL_PATH"])
249 plantestsuite(
250 "samba3.pthreadpool", "s3dc",
251 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
253 #smbtorture4 tests
255 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
256 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
257 "base.disconnect", "base.fdpass", "base.lock",
258 "base.mangle", "base.negnowait", "base.ntdeny1",
259 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
260 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
261 "base.xcopy", "base.samba3error"]
263 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
264 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock"
265 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
266 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
267 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
268 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
269 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
270 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
271 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff"]
273 smb2 = smb4torture_testsuites("smb2.")
275 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
276 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
277 "rpc.samba3.getaliasmembership-0",
278 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
279 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
280 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
281 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
282 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
283 "rpc.spoolss.driver",
284 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
285 "rpc.lsa.privileges", "rpc.lsa.secrets",
286 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
287 "rpc.samr.passwords.pwdlastset", "rpc.samr.large-dc", "rpc.samr.machine.auth",
288 "rpc.samr.priv",
289 "rpc.netlogon.admin",
290 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
292 local = ["local.nss-wrapper", "local.ndr"]
294 winbind = ["winbind.struct", "winbind.wbclient"]
296 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
298 unix = ["unix.info2", "unix.whoami"]
300 nbt = ["nbt.dgram" ]
302 libsmbclient = ["libsmbclient"]
304 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient
306 for t in tests:
307 if t == "base.delaywrite":
308 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
309 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
310 elif t == "rap.sam":
311 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
312 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
313 elif t == "unix.whoami":
314 plansmbtorturetestsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
315 plansmbtorturetestsuite(t, "s3member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
316 for env in ["s3dc", "member"]:
317 plansmbtorturetestsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
318 plansmbtorturetestsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
319 for env in ["plugin_s4_dc", "s3member"]:
320 plansmbtorturetestsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
321 plansmbtorturetestsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
322 plansmbtorturetestsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
323 elif t == "raw.samba3posixtimedlock":
324 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
325 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
326 elif t == "raw.chkpath":
327 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
328 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
329 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
330 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
331 plansmbtorturetestsuite(t, "secshare", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
332 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
333 elif t == "raw.session" or t == "smb2.session":
334 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
335 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
336 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
337 elif t == "rpc.lsa":
338 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
339 plansmbtorturetestsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
340 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
341 plansmbtorturetestsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
342 else:
343 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
344 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
347 test = 'rpc.lsa.lookupsids'
348 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
349 signseal_options = ["", ",connect", ",sign", ",seal"]
350 endianness_options = ["", ",bigendian"]
351 for s in signseal_options:
352 for e in endianness_options:
353 for a in auth_options:
354 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
355 options = binding_string + " -U$USERNAME%$PASSWORD"
356 plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
357 plantestsuite("samba3.blackbox.rpcclient over ncacn_np with [%s%s%s] " % (a, s, e), "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_rpcclient.sh"),
358 "none", options, configuration])
360 # We should try more combinations in future, but this is all
361 # the pre-calculated credentials cache supports at the moment
362 e = ""
363 a = ""
364 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
365 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
366 plansmbtorturetestsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
368 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
369 plansmbtorturetestsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
371 auth_options2 = ["krb5", "spnego,krb5"]
372 for a in auth_options2:
373 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
375 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"),
376 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
379 options_list = ["", "-e"]
380 for options in options_list:
381 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
382 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
383 "$PREFIX/ktest/krb5_ccache-2",
384 smbclient, "$SERVER", options, configuration])
386 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
387 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
388 "$PREFIX/ktest/krb5_ccache-2",
389 smbclient, "$SERVER", options, configuration])
391 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
392 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
393 "$PREFIX/ktest/krb5_ccache-3",
394 smbclient, "$SERVER", "$PREFIX", options, "-k " + configuration])
396 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
397 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
398 "$PREFIX/ktest/krb5_ccache-3",
399 smbclient, "$SERVER", "$PREFIX", options, "-k " + configuration])
401 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
402 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
403 "none",
404 smbclient, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
406 for e in endianness_options:
407 for a in auth_options:
408 for s in signseal_options:
409 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
410 options = binding_string + " -U$USERNAME%$PASSWORD"
411 plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
413 test = 'rpc.epmapper'
414 env = 's3dc:local'
415 binding_string = 'ncalrpc:'
416 options = binding_string + " -U$USERNAME%$PASSWORD"
418 plansmbtorturetestsuite(test, env, options, 'over ncalrpc')