s3-selftest: Add smbclient tarmode test
[Samba/gebeck_regimport.git] / source3 / selftest / tests.py
blob945d26a6736cd3ce3b7c16790debf42e36d51536
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')
37 torture_options = [configuration, "--maximum-runtime=$SELFTEST_MAXTIME",
38 "--basedir=$SELFTEST_TMPDIR",
39 '--option="torture:winbindd_netbios_name=$SERVER"',
40 '--option="torture:winbindd_netbios_domain=$DOMAIN"',
41 '--option=torture:sharedelay=100000',
42 '--option=torture:writetimeupdatedelay=500000' ]
44 if not os.getenv("SELFTEST_VERBOSE"):
45 torture_options.append("--option=torture:progress=no")
46 torture_options.append("--format=subunit")
47 if os.getenv("SELFTEST_QUICK"):
48 torture_options.append("--option=torture:quick=yes")
50 smb4torture_testsuite_list = subprocess.Popen([smb4torture, "--list-suites"], stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate("")[0].splitlines()
52 smb4torture += " " + " ".join(torture_options)
54 sub = subprocess.Popen("%s --version 2> /dev/null" % smb4torture, stdout=subprocess.PIPE, stdin=subprocess.PIPE, shell=True)
55 sub.communicate("")
56 smb4torture_possible = (sub.returncode == 0)
59 def smb4torture_testsuites(prefix):
60 return filter(lambda x: x.startswith(prefix), smb4torture_testsuite_list)
62 def plansmbtorturetestsuite(name, env, options, description=''):
63 target = "samba3"
64 if description == '':
65 modname = "%s.%s" % (target, name)
66 else:
67 modname = "%s.%s %s" % (target, name, description)
69 cmdline = "%s $LISTOPT %s --target=%s %s" % (valgrindify(smb4torture), options, target, name)
70 if smb4torture_possible:
71 plantestsuite_loadlist(modname, env, cmdline)
74 plantestsuite("samba3.blackbox.success", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
75 plantestsuite("samba3.blackbox.failure", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
77 plantestsuite("samba3.local_s3", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
79 plantestsuite("samba3.blackbox.registry.upgrade", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
81 tests=[ "FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
82 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
83 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
84 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "RW-SIGNING",
85 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
86 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2",
87 "CHAIN3",
88 "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
89 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
90 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT",
91 "CLEANUP1",
92 "CLEANUP2",
93 "BAD-NBT-SESSION"]
95 for t in tests:
96 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"])
97 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"])
98 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"])
100 posix_tests=[ "POSIX", "POSIX-APPEND"]
102 for t in posix_tests:
103 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"])
104 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"])
105 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"])
107 env = "s3dc:local"
108 t = "CLEANUP3"
109 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"])
111 local_tests=[
112 "LOCAL-SUBSTITUTE",
113 "LOCAL-GENCACHE",
114 "LOCAL-TALLOC-DICT",
115 "LOCAL-BASE64",
116 "LOCAL-RBTREE",
117 "LOCAL-MEMCACHE",
118 "LOCAL-STREAM-NAME",
119 "LOCAL-WBCLIENT",
120 "LOCAL-string_to_sid",
121 "LOCAL-binary_to_sid",
122 "LOCAL-DBTRANS",
123 "LOCAL-TEVENT-SELECT",
124 "LOCAL-CONVERT-STRING",
125 "LOCAL-CONV-AUTH-INFO",
126 "LOCAL-IDMAP-TDB-COMMON",
127 "LOCAL-hex_encode_buf",
128 "LOCAL-sprintf_append",
129 "LOCAL-remove_duplicate_addrs2"]
131 for t in local_tests:
132 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"])
134 tests=["--ping", "--separator",
135 "--own-domain",
136 "--all-domains",
137 "--trusted-domains",
138 "--domain-info=BUILTIN",
139 "--domain-info=$DOMAIN",
140 "--online-status",
141 "--online-status --domain=BUILTIN",
142 "--online-status --domain=$DOMAIN",
143 "--check-secret --domain=$DOMAIN",
144 "--change-secret --domain=$DOMAIN",
145 "--check-secret --domain=$DOMAIN",
146 "--online-status --domain=$DOMAIN",
147 #Didn't pass yet# "--domain-users",
148 "--domain-groups",
149 "--name-to-sid=$DC_USERNAME",
150 "--name-to-sid=$DOMAIN\\\\$DC_USERNAME",
151 #Didn't pass yet# "--user-info=$USERNAME",
152 "--user-groups=$DOMAIN\\\\$DC_USERNAME",
153 "--authenticate=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD",
154 "--allocate-uid",
155 "--allocate-gid"]
157 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
158 env = "s3dc"
159 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])
161 for env in ["s3dc", "member", "s3member"]:
162 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])
163 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])
165 for t in tests:
166 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
168 plantestsuite(
169 "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
170 [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
172 plantestsuite(
173 "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
174 [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), ntlm_auth, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
176 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])
178 env = "s3member"
179 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
180 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
182 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])
184 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])
187 for env in ["maptoguest", "secshare"]:
188 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"])
190 env = "maptoguest"
191 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"])
193 # plain
194 for env in ["s3dc"]:
195 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])
197 for env in ["member", "s3member"]:
198 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])
200 for env in ["s3dc"]:
201 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"])
203 for env in ["member", "s3member"]:
204 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"])
206 for env in ["s3dc"]:
207 # encrypted
208 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"])
210 # Test smbclient/tarmode
211 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])
213 #TODO encrypted against member, with member creds, and with DC creds
214 plantestsuite("samba3.blackbox.net.misc", "s3dc: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", "s3dc: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", "s3dc: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", "s3dc",
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", "s3dc: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", "s3dc",
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", "s3dc: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", "s3dc",
238 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
239 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
242 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
243 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
244 "$LOCAL_PATH"])
246 plantestsuite(
247 "samba3.pthreadpool", "s3dc",
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"]
270 smb2 = smb4torture_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.large-dc", "rpc.samr.machine.auth",
285 "rpc.samr.priv",
286 "rpc.netlogon.admin",
287 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
289 local = ["local.nss-wrapper", "local.ndr"]
291 winbind = ["winbind.struct", "winbind.wbclient"]
293 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
295 unix = ["unix.info2", "unix.whoami"]
297 nbt = ["nbt.dgram" ]
299 libsmbclient = ["libsmbclient"]
301 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient
303 for t in tests:
304 if t == "base.delaywrite":
305 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
306 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
307 elif t == "rap.sam":
308 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
309 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
310 elif t == "unix.whoami":
311 plansmbtorturetestsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
312 plansmbtorturetestsuite(t, "s3member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
313 for env in ["s3dc", "member"]:
314 plansmbtorturetestsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
315 plansmbtorturetestsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
316 for env in ["plugin_s4_dc", "s3member"]:
317 plansmbtorturetestsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
318 plansmbtorturetestsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
319 plansmbtorturetestsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
320 elif t == "raw.samba3posixtimedlock":
321 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
322 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
323 elif t == "raw.chkpath":
324 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
325 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
326 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
327 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
328 plansmbtorturetestsuite(t, "secshare", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
329 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
330 elif t == "raw.session" or t == "smb2.session":
331 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
332 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
333 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
334 elif t == "rpc.lsa":
335 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
336 plansmbtorturetestsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
337 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
338 plansmbtorturetestsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
339 else:
340 plansmbtorturetestsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
341 plansmbtorturetestsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
344 test = 'rpc.lsa.lookupsids'
345 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
346 signseal_options = ["", ",connect", ",sign", ",seal"]
347 endianness_options = ["", ",bigendian"]
348 for s in signseal_options:
349 for e in endianness_options:
350 for a in auth_options:
351 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
352 options = binding_string + " -U$USERNAME%$PASSWORD"
353 plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
354 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"),
355 "none", options, configuration])
357 # We should try more combinations in future, but this is all
358 # the pre-calculated credentials cache supports at the moment
359 e = ""
360 a = ""
361 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
362 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
363 plansmbtorturetestsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
365 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
366 plansmbtorturetestsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
368 auth_options2 = ["krb5", "spnego,krb5"]
369 for a in auth_options2:
370 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
372 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"),
373 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
376 options_list = ["", "-e"]
377 for options in options_list:
378 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
379 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
380 "$PREFIX/ktest/krb5_ccache-2",
381 smbclient, "$SERVER", options, configuration])
383 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
384 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
385 "$PREFIX/ktest/krb5_ccache-2",
386 smbclient, "$SERVER", options, configuration])
388 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
389 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
390 "$PREFIX/ktest/krb5_ccache-3",
391 smbclient, "$SERVER", "$PREFIX", options, "-k " + configuration])
393 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
394 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
395 "$PREFIX/ktest/krb5_ccache-3",
396 smbclient, "$SERVER", "$PREFIX", options, "-k " + configuration])
398 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
399 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
400 "none",
401 smbclient, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
403 for e in endianness_options:
404 for a in auth_options:
405 for s in signseal_options:
406 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
407 options = binding_string + " -U$USERNAME%$PASSWORD"
408 plansmbtorturetestsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
410 test = 'rpc.epmapper'
411 env = 's3dc:local'
412 binding_string = 'ncalrpc:'
413 options = binding_string + " -U$USERNAME%$PASSWORD"
415 plansmbtorturetestsuite(test, env, options, 'over ncalrpc')