s3:printing: s/struct fd_event/struct tevent_fd
[Samba/gebeck_regimport.git] / source3 / selftest / tests.py
blob44efe1836f21c79f8253c03ac58d42840b855d9a
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:winbindd_netbios_name=$SERVER"',
27 '--option="torture:winbindd_netbios_domain=$DOMAIN"',
28 '--option=torture:sharedelay=100000',
29 '--option=torture:writetimeupdatedelay=500000',
32 smbtorture4_possible = print_smbtorture4_version()
34 def plansmbtorture4testsuite(name, env, options, description=''):
35 if description == '':
36 modname = "samba3.%s" % (name, )
37 else:
38 modname = "samba3.%s %s" % (name, description)
40 if smbtorture4_possible:
41 selftesthelpers.plansmbtorture4testsuite(
42 name, env, options, target='samba3', modname=modname)
43 else:
44 skiptestsuite(name, "smbtorture4 is not available")
47 plantestsuite("samba3.blackbox.success", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_success.sh")])
48 plantestsuite("samba3.blackbox.failure", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_failure.sh")])
50 plantestsuite("samba3.local_s3", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_local_s3.sh")])
52 plantestsuite("samba3.blackbox.registry.upgrade", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/test_registry_upgrade.sh"), net, dbwrap_tool])
54 tests = ["FDPASS", "LOCK1", "LOCK2", "LOCK3", "LOCK4", "LOCK5", "LOCK6", "LOCK7", "LOCK9",
55 "UNLINK", "BROWSE", "ATTR", "TRANS2", "TORTURE",
56 "OPLOCK1", "OPLOCK2", "OPLOCK4", "STREAMERROR",
57 "DIR", "DIR1", "DIR-CREATETIME", "TCON", "TCONDEV", "RW1", "RW2", "RW3", "RW-SIGNING",
58 "OPEN", "XCOPY", "RENAME", "DELETE", "DELETE-LN", "PROPERTIES", "W2K",
59 "TCON2", "IOCTL", "CHKPATH", "FDSESS", "CHAIN1", "CHAIN2",
60 "CHAIN3",
61 "GETADDRINFO", "UID-REGRESSION-TEST", "SHORTNAME-TEST",
62 "CASE-INSENSITIVE-CREATE", "SMB2-BASIC", "NTTRANS-FSCTL", "SMB2-NEGPROT",
63 "SMB2-SESSION-REAUTH", "SMB2-SESSION-RECONNECT",
64 "CLEANUP1",
65 "CLEANUP2",
66 "BAD-NBT-SESSION"]
68 for t in tests:
69 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"])
70 plantestsuite("samba3.smbtorture_s3.crypt_client(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"])
71 if t == "TORTURE":
72 # this is a negative test to verify that the server rejects
73 # access without encryption
74 plantestsuite("samba3.smbtorture_s3.crypt_server(s3dc).%s" % t, "s3dc", [os.path.join(samba3srcdir, "script/tests/test_smbtorture_s3.sh"), t, '//$SERVER_IP/tmpenc', '$USERNAME', '$PASSWORD', smbtorture3, "", "-l $LOCAL_PATH"])
75 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"])
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(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"])
85 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"])
86 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"])
88 env = "s3dc: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-WBCLIENT",
101 "LOCAL-string_to_sid",
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-hex_encode_buf",
109 "LOCAL-sprintf_append",
110 "LOCAL-remove_duplicate_addrs2"]
112 for t in local_tests:
113 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"])
115 tests = ["--ping", "--separator",
116 "--own-domain",
117 "--all-domains",
118 "--trusted-domains",
119 "--domain-info=BUILTIN",
120 "--domain-info=$DOMAIN",
121 "--online-status",
122 "--online-status --domain=BUILTIN",
123 "--online-status --domain=$DOMAIN",
124 "--check-secret --domain=$DOMAIN",
125 "--change-secret --domain=$DOMAIN",
126 "--check-secret --domain=$DOMAIN",
127 "--online-status --domain=$DOMAIN",
128 #Didn't pass yet# "--domain-users",
129 "--domain-groups",
130 "--name-to-sid=$DC_USERNAME",
131 "--name-to-sid=$DOMAIN\\\\$DC_USERNAME",
132 #Didn't pass yet# "--user-info=$USERNAME",
133 "--user-groups=$DOMAIN\\\\$DC_USERNAME",
134 "--authenticate=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD",
135 "--allocate-uid",
136 "--allocate-gid"]
138 plantestsuite("samba.vfstest.stream_depot", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/stream-depot/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
139 plantestsuite("samba.vfstest.xattr-tdb-1", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/xattr-tdb-1/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
140 plantestsuite("samba.vfstest.acl", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-acl/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
142 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
143 env = "s3dc"
144 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])
146 for env in ["s3dc", "member", "s3member", "dc", "s4member"]:
147 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])
149 for env in ["s3dc", "member", "s3member"]:
150 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])
151 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])
153 for t in tests:
154 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
156 plantestsuite(
157 "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
158 [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
160 plantestsuite(
161 "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
162 [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), ntlm_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
164 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_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
166 env = "s3member"
167 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
168 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
170 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])
172 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])
175 for env in ["maptoguest", "simpleserver"]:
176 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"])
178 env = "maptoguest"
179 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"])
181 # plain
182 for env in ["s3dc"]:
183 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])
185 for env in ["member", "s3member"]:
186 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])
188 for env in ["s3dc"]:
189 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"])
191 for env in ["member", "s3member"]:
192 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"])
194 for env in ["s3dc"]:
195 # encrypted
196 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"])
198 # Test smbclient/tarmode
199 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', smbclient3, configuration])
201 #TODO encrypted against member, with member creds, and with DC creds
202 plantestsuite("samba3.blackbox.net.misc", "s3dc:local",
203 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
204 scriptdir, "$SMB_CONF_PATH", net, configuration])
205 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local",
206 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
207 scriptdir, "$SMB_CONF_PATH", net, configuration])
208 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local",
209 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
210 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
211 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc",
212 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
213 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
215 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local",
216 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
217 scriptdir, "$SMB_CONF_PATH", net, configuration])
218 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc",
219 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
220 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
222 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local",
223 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
224 scriptdir, "$SMB_CONF_PATH", net, configuration])
225 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc",
226 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
227 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
230 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
231 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
232 "$LOCAL_PATH"])
234 plantestsuite(
235 "samba3.pthreadpool", "s3dc",
236 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
238 #smbtorture4 tests
240 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
241 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
242 "base.disconnect", "base.fdpass", "base.lock",
243 "base.mangle", "base.negnowait", "base.ntdeny1",
244 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
245 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
246 "base.xcopy", "base.samba3error"]
248 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
249 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
250 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
251 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
252 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
253 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
254 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
255 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
256 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
258 smb2 = smbtorture4_testsuites("smb2.")
260 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
261 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
262 "rpc.samba3.getaliasmembership-0",
263 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
264 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
265 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
266 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
267 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
268 "rpc.spoolss.driver",
269 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
270 "rpc.lsa.privileges", "rpc.lsa.secrets",
271 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
272 "rpc.samr.passwords.pwdlastset", "rpc.samr.large-dc", "rpc.samr.machine.auth",
273 "rpc.samr.priv", "rpc.samr.passwords.validate",
274 "rpc.netlogon.admin",
275 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
277 local = ["local.nss-wrapper", "local.ndr"]
279 winbind = ["winbind.struct", "winbind.wbclient", "winbind.pac"]
281 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
283 unix = ["unix.info2", "unix.whoami"]
285 nbt = ["nbt.dgram" ]
287 libsmbclient = ["libsmbclient"]
289 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient
291 for t in tests:
292 if t == "base.delaywrite":
293 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
294 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
295 elif t == "rap.sam":
296 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
297 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
298 elif t == "winbind.pac":
299 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
300 elif t == "unix.whoami":
301 plansmbtorture4testsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
302 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
303 for env in ["s3dc", "member"]:
304 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
305 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
306 for env in ["plugin_s4_dc", "s3member"]:
307 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
308 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
309 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
310 elif t == "raw.samba3posixtimedlock":
311 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
312 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
313 elif t == "raw.chkpath":
314 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
315 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
316 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
317 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
318 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
319 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
320 elif t == "raw.session" or t == "smb2.session":
321 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
322 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
323 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
324 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
325 elif t == "rpc.lsa":
326 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
327 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
328 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
329 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
330 elif t == "rpc.samr.passwords.validate":
331 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
332 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
333 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open":
334 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
335 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
336 elif t == "base.rw1":
337 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
338 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
339 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
340 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
341 else:
342 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
343 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
346 test = 'rpc.lsa.lookupsids'
347 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
348 signseal_options = ["", ",connect", ",sign", ",seal"]
349 endianness_options = ["", ",bigendian"]
350 for s in signseal_options:
351 for e in endianness_options:
352 for a in auth_options:
353 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
354 options = binding_string + " -U$USERNAME%$PASSWORD"
355 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
356 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"),
357 "none", options, configuration])
359 # We should try more combinations in future, but this is all
360 # the pre-calculated credentials cache supports at the moment
361 e = ""
362 a = ""
363 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
364 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
365 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
367 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
368 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
370 auth_options2 = ["krb5", "spnego,krb5"]
371 for a in auth_options2:
372 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
374 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"),
375 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
378 options_list = ["", "-e"]
379 for options in options_list:
380 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
381 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
382 "$PREFIX/ktest/krb5_ccache-2",
383 smbclient3, "$SERVER", options, configuration])
385 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
386 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
387 "$PREFIX/ktest/krb5_ccache-2",
388 smbclient3, "$SERVER", options, configuration])
390 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
391 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
392 "$PREFIX/ktest/krb5_ccache-3",
393 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
395 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
396 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
397 "$PREFIX/ktest/krb5_ccache-3",
398 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
400 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
401 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
402 "none",
403 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
405 for e in endianness_options:
406 for a in auth_options:
407 for s in signseal_options:
408 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
409 options = binding_string + " -U$USERNAME%$PASSWORD"
410 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
412 plansmbtorture4testsuite('rpc.epmapper', 's3dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')