waf: Build with RELRO if supported by the compiler.
[Samba.git] / source3 / selftest / tests.py
blob3fc66846653dd471cdb9b5ebda0ce1f70b58c784
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", "LARGE_READX", "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])
141 plantestsuite("samba.vfstest.catia", "s3dc:local", [os.path.join(samba3srcdir, "script/tests/vfstest-catia/run.sh"), binpath("vfstest"), "$PREFIX", configuration])
143 for options in ["--option=clientusespnego=no", " --option=clientntlmv2auth=no --option=clientlanmanauth=yes --max-protocol=LANMAN2", ""]:
144 env = "s3dc"
145 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])
147 for env in ["s3dc", "member", "s3member", "dc", "s4member"]:
148 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])
150 for env in ["s3dc", "member", "s3member"]:
151 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])
152 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])
154 for t in tests:
155 plantestsuite("samba3.wbinfo_s3.(%s:local).%s" % (env, t), "%s:local" % env, [os.path.join(samba3srcdir, "script/tests/test_wbinfo_s3.sh"), t])
157 plantestsuite(
158 "samba3.wbinfo_sids2xids.(%s:local)" % env, "%s:local" % env,
159 [os.path.join(samba3srcdir, "script/tests/test_wbinfo_sids2xids.sh")])
161 plantestsuite(
162 "samba3.ntlm_auth.diagnostics(%s:local)" % env, "%s:local" % env,
163 [os.path.join(samba3srcdir, "script/tests/test_ntlm_auth_diagnostics.sh"), ntlm_auth3, '$DOMAIN', '$DC_USERNAME', '$DC_PASSWORD', configuration])
165 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])
167 env = "s3member"
168 t = "--krb5auth=$DOMAIN\\\\$DC_USERNAME%$DC_PASSWORD"
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("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])
173 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])
176 for env in ["maptoguest", "simpleserver"]:
177 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"])
179 env = "maptoguest"
180 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"])
182 # plain
183 for env in ["s3dc"]:
184 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])
186 for env in ["member", "s3member"]:
187 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])
189 for env in ["s3dc"]:
190 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"])
192 for env in ["member", "s3member"]:
193 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"])
195 for env in ["s3dc"]:
196 # encrypted
197 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"])
199 # Test smbclient/tarmode
200 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])
202 #TODO encrypted against member, with member creds, and with DC creds
203 plantestsuite("samba3.blackbox.net.misc", "s3dc:local",
204 [os.path.join(samba3srcdir, "script/tests/test_net_misc.sh"),
205 scriptdir, "$SMB_CONF_PATH", net, configuration])
206 plantestsuite("samba3.blackbox.net.local.registry", "s3dc:local",
207 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
208 scriptdir, "$SMB_CONF_PATH", net, configuration])
209 plantestsuite("samba3.blackbox.net.registry.check", "s3dc:local",
210 [os.path.join(samba3srcdir, "script/tests/test_net_registry_check.sh"),
211 scriptdir, "$SMB_CONF_PATH", net, configuration, dbwrap_tool])
212 plantestsuite("samba3.blackbox.net.rpc.registry", "s3dc",
213 [os.path.join(samba3srcdir, "script/tests/test_net_registry.sh"),
214 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
216 plantestsuite("samba3.blackbox.net.local.registry.roundtrip", "s3dc:local",
217 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
218 scriptdir, "$SMB_CONF_PATH", net, configuration])
219 plantestsuite("samba3.blackbox.net.rpc.registry.roundtrip", "s3dc",
220 [os.path.join(samba3srcdir, "script/tests/test_net_registry_roundtrip.sh"),
221 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
223 plantestsuite("samba3.blackbox.net.local.conf", "s3dc:local",
224 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
225 scriptdir, "$SMB_CONF_PATH", net, configuration])
226 plantestsuite("samba3.blackbox.net.rpc.conf", "s3dc",
227 [os.path.join(samba3srcdir, "script/tests/test_net_conf.sh"),
228 scriptdir, "$SMB_CONF_PATH", net, configuration, 'rpc'])
231 plantestsuite("samba3.blackbox.testparm", "s3dc:local",
232 [os.path.join(samba3srcdir, "script/tests/test_testparm_s3.sh"),
233 "$LOCAL_PATH"])
235 plantestsuite(
236 "samba3.pthreadpool", "s3dc",
237 [os.path.join(samba3srcdir, "script/tests/test_pthreadpool.sh")])
239 #smbtorture4 tests
241 base = ["base.attr", "base.charset", "base.chkpath", "base.defer_open", "base.delaywrite", "base.delete",
242 "base.deny1", "base.deny2", "base.deny3", "base.denydos", "base.dir1", "base.dir2",
243 "base.disconnect", "base.fdpass", "base.lock",
244 "base.mangle", "base.negnowait", "base.ntdeny1",
245 "base.ntdeny2", "base.open", "base.openattr", "base.properties", "base.rename", "base.rw1",
246 "base.secleak", "base.tcon", "base.tcondev", "base.trans2", "base.unlink", "base.vuid",
247 "base.xcopy", "base.samba3error"]
249 raw = ["raw.acls", "raw.chkpath", "raw.close", "raw.composite", "raw.context", "raw.eas",
250 "raw.ioctl", "raw.lock", "raw.mkdir", "raw.mux", "raw.notify", "raw.open", "raw.oplock",
251 "raw.qfileinfo", "raw.qfsinfo", "raw.read", "raw.rename", "raw.search", "raw.seek",
252 "raw.sfileinfo.base", "raw.sfileinfo.bug", "raw.streams", "raw.unlink", "raw.write",
253 "raw.samba3hide", "raw.samba3badpath", "raw.sfileinfo.rename", "raw.session",
254 "raw.samba3caseinsensitive", "raw.samba3posixtimedlock",
255 "raw.samba3rootdirfid", "raw.sfileinfo.end-of-file",
256 "raw.bench-oplock", "raw.bench-lock", "raw.bench-open", "raw.bench-tcon",
257 "raw.samba3checkfsp", "raw.samba3closeerr", "raw.samba3oplocklogoff", "raw.samba3badnameblob"]
259 smb2 = smbtorture4_testsuites("smb2.")
261 rpc = ["rpc.authcontext", "rpc.samba3.bind", "rpc.samba3.srvsvc", "rpc.samba3.sharesec",
262 "rpc.samba3.spoolss", "rpc.samba3.wkssvc", "rpc.samba3.winreg",
263 "rpc.samba3.getaliasmembership-0",
264 "rpc.samba3.netlogon", "rpc.samba3.sessionkey", "rpc.samba3.getusername",
265 "rpc.samba3.smb1-pipe-name", "rpc.samba3.smb2-pipe-name",
266 "rpc.samba3.smb-reauth1", "rpc.samba3.smb-reauth2",
267 "rpc.svcctl", "rpc.ntsvcs", "rpc.winreg", "rpc.eventlog",
268 "rpc.spoolss.printserver", "rpc.spoolss.win", "rpc.spoolss.notify", "rpc.spoolss.printer",
269 "rpc.spoolss.driver",
270 "rpc.lsa", "rpc.lsa-getuser", "rpc.lsa.lookupsids", "rpc.lsa.lookupnames",
271 "rpc.lsa.privileges", "rpc.lsa.secrets",
272 "rpc.samr", "rpc.samr.users", "rpc.samr.users.privileges", "rpc.samr.passwords",
273 "rpc.samr.passwords.pwdlastset", "rpc.samr.large-dc", "rpc.samr.machine.auth",
274 "rpc.samr.priv", "rpc.samr.passwords.validate",
275 "rpc.netlogon.admin",
276 "rpc.schannel", "rpc.schannel2", "rpc.bench-schannel1", "rpc.join", "rpc.bind"]
278 local = ["local.nss-wrapper", "local.ndr"]
280 winbind = ["winbind.struct", "winbind.wbclient", "winbind.pac"]
282 idmap = [ "idmap.rfc2307" ]
284 rap = ["rap.basic", "rap.rpc", "rap.printing", "rap.sam"]
286 unix = ["unix.info2", "unix.whoami"]
288 nbt = ["nbt.dgram" ]
290 libsmbclient = ["libsmbclient"]
292 tests= base + raw + smb2 + rpc + unix + local + winbind + rap + nbt + libsmbclient + idmap
294 for t in tests:
295 if t == "base.delaywrite":
296 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
297 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --maximum-runtime=900')
298 elif t == "rap.sam":
299 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
300 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD --option=doscharset=ISO-8859-1')
301 elif t == "winbind.pac":
302 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --realm=$REALM --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
303 elif t == "unix.whoami":
304 plansmbtorture4testsuite(t, "member:local", '//$SERVER/tmp --machine-pass', description="machine account")
305 plansmbtorture4testsuite(t, "s3member:local", '//$SERVER/tmp --machine-pass --option=torture:addc=$DC_SERVER', description="machine account")
306 for env in ["s3dc", "member"]:
307 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME%$DC_PASSWORD')
308 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U%', description='anonymous connection')
309 for env in ["plugin_s4_dc", "s3member"]:
310 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER')
311 plansmbtorture4testsuite(t, env, '//$SERVER/tmp -k yes -U$DC_USERNAME@$REALM%$DC_PASSWORD --option=torture:addc=$DC_SERVER', description='kerberos connection')
312 plansmbtorture4testsuite(t, env, '//$SERVER/tmpguest -U% --option=torture:addc=$DC_SERVER', description='anonymous connection')
313 elif t == "raw.samba3posixtimedlock":
314 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/s3dc/share')
315 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpguest -U$USERNAME%$PASSWORD --option=torture:localdir=$SELFTEST_PREFIX/plugin_s4_dc/share')
316 elif t == "raw.chkpath":
317 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
318 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
319 elif t == "raw.samba3hide" or t == "raw.samba3checkfsp" or t == "raw.samba3closeerr":
320 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
321 plansmbtorture4testsuite(t, "simpleserver", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
322 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
323 elif t == "raw.session" or t == "smb2.session":
324 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'plain')
325 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmpenc -U$USERNAME%$PASSWORD', 'enc')
326 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k no -U$USERNAME%$PASSWORD', 'ntlm')
327 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -k yes -U$USERNAME%$PASSWORD', 'krb5')
328 elif t == "rpc.lsa":
329 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
330 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
331 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD', 'over ncacn_np ')
332 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
333 elif t == "rpc.samr.passwords.validate":
334 plansmbtorture4testsuite(t, "s3dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
335 plansmbtorture4testsuite(t, "plugin_s4_dc", 'ncacn_ip_tcp:$SERVER_IP -U$USERNAME%$PASSWORD', 'over ncacn_ip_tcp ')
336 elif t == "smb2.durable-open" or t == "smb2.durable-v2-open":
337 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
338 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/durable -U$USERNAME%$PASSWORD')
339 elif t == "base.rw1":
340 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
341 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/valid-users-tmp -U$USERNAME%$PASSWORD')
342 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/write-list-tmp -U$USERNAME%$PASSWORD')
343 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
344 elif t == "idmap.rfc2307":
345 plantestsuite(t, "s3member_rfc2307", [os.path.join(samba3srcdir, "../nsswitch/tests/test_idmap_rfc2307.sh"), '$DOMAIN', 'Administrator', '2000000', '"Domain Users"', '2000001', 'ou=idmap,dc=samba,dc=example,dc=com', '$DC_SERVER', '$DC_USERNAME', '$DC_PASSWORD'])
346 elif t == "raw.acls":
347 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
348 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/nfs4acl_simple -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-simple')
349 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/nfs4acl_special -U$USERNAME%$PASSWORD', description='nfs4acl_xattr-special')
350 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER_IP/tmpcase -U$USERNAME%$PASSWORD')
351 else:
352 plansmbtorture4testsuite(t, "s3dc", '//$SERVER_IP/tmp -U$USERNAME%$PASSWORD')
353 plansmbtorture4testsuite(t, "plugin_s4_dc", '//$SERVER/tmp -U$USERNAME%$PASSWORD')
356 test = 'rpc.lsa.lookupsids'
357 auth_options = ["", "ntlm", "spnego", "spnego,ntlm" ]
358 signseal_options = ["", ",connect", ",sign", ",seal"]
359 endianness_options = ["", ",bigendian"]
360 for s in signseal_options:
361 for e in endianness_options:
362 for a in auth_options:
363 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
364 options = binding_string + " -U$USERNAME%$PASSWORD"
365 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_np with [%s%s%s] ' % (a, s, e))
366 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"),
367 "none", options, configuration])
369 # We should try more combinations in future, but this is all
370 # the pre-calculated credentials cache supports at the moment
371 e = ""
372 a = ""
373 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
374 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-2"
375 plansmbtorture4testsuite(test, "ktest", options, 'krb5 with old ccache ncacn_np with [%s%s%s] ' % (a, s, e))
377 options = binding_string + " -k yes --krb5-ccache=$PREFIX/ktest/krb5_ccache-3"
378 plansmbtorture4testsuite(test, "ktest", options, 'krb5 ncacn_np with [%s%s%s] ' % (a, s, e))
380 auth_options2 = ["krb5", "spnego,krb5"]
381 for a in auth_options2:
382 binding_string = "ncacn_np:$SERVER[%s%s%s]" % (a, s, e)
384 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"),
385 "$PREFIX/ktest/krb5_ccache-3", binding_string, "-k", configuration])
388 options_list = ["", "-e"]
389 for options in options_list:
390 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
391 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
392 "$PREFIX/ktest/krb5_ccache-2",
393 smbclient3, "$SERVER", options, configuration])
395 plantestsuite("samba3.blackbox.smbclient_krb5 old ccache %s" % options, "ktest:local",
396 [os.path.join(samba3srcdir, "script/tests/test_smbclient_krb5.sh"),
397 "$PREFIX/ktest/krb5_ccache-2",
398 smbclient3, "$SERVER", options, configuration])
400 plantestsuite("samba3.blackbox.smbclient_large_file %s" % options, "ktest:local",
401 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
402 "$PREFIX/ktest/krb5_ccache-3",
403 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
405 plantestsuite("samba3.blackbox.smbclient_posix_large %s krb5" % options, "ktest:local",
406 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
407 "$PREFIX/ktest/krb5_ccache-3",
408 smbclient3, "$SERVER", "$PREFIX", options, "-k " + configuration])
410 plantestsuite("samba3.blackbox.smbclient_posix_large %s NTLM" % options, "s3dc:local",
411 [os.path.join(samba3srcdir, "script/tests/test_smbclient_posix_large.sh"),
412 "none",
413 smbclient3, "$SERVER", "$PREFIX", options, "-U$USERNAME%$PASSWORD " + configuration])
415 for e in endianness_options:
416 for a in auth_options:
417 for s in signseal_options:
418 binding_string = "ncacn_ip_tcp:$SERVER_IP[%s%s%s]" % (a, s, e)
419 options = binding_string + " -U$USERNAME%$PASSWORD"
420 plansmbtorture4testsuite(test, "s3dc", options, 'over ncacn_ip_tcp with [%s%s%s] ' % (a, s, e))
422 plansmbtorture4testsuite('rpc.epmapper', 's3dc:local', 'ncalrpc: -U$USERNAME%$PASSWORD', 'over ncalrpc')