smbd: allow POSIX opens for file_set_dosmode() in rename_internals_fsp()
[Samba.git] / selftest / tests.py
blob0828c1ba5b009e93b2732ddacb34bfdf04a6f839
1 #!/usr/bin/python
2 # This script generates a list of testsuites that should be run as part of
3 # the Samba 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, 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/knownfail. This makes it
12 # very easy to see what functionality is still missing in Samba and makes
13 # it possible to run the testsuite against other servers, such as
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, tempfile
22 from selftesthelpers import bindir, srcdir, python
23 from selftesthelpers import planpythontestsuite, samba4srcdir
24 from selftesthelpers import plantestsuite, bbdir
25 from selftesthelpers import configuration, valgrindify
26 from selftesthelpers import skiptestsuite
28 try:
29 config_h = os.environ["CONFIG_H"]
30 except KeyError:
31 samba4bindir = bindir()
32 config_h = os.path.join(samba4bindir, "default/include/config.h")
34 # check available features
35 config_hash = dict()
36 f = open(config_h, 'r')
37 try:
38 lines = f.readlines()
39 config_hash = dict((x[0], ' '.join(x[1:]))
40 for x in map(lambda line: line.strip().split(' ')[1:],
41 list(filter(lambda line: (line[0:7] == '#define') and (len(line.split(' ')) > 2), lines))))
42 finally:
43 f.close()
45 have_man_pages_support = ("XSLTPROC_MANPAGES" in config_hash)
46 with_pam = ("WITH_PAM" in config_hash)
47 with_elasticsearch_backend = ("HAVE_SPOTLIGHT_BACKEND_ES" in config_hash)
48 pam_wrapper_so_path = config_hash.get("LIBPAM_WRAPPER_SO_PATH")
49 pam_set_items_so_path = config_hash.get("PAM_SET_ITEMS_SO_PATH")
50 have_heimdal_support = "SAMBA4_USES_HEIMDAL" in config_hash
51 using_system_gssapi = "USING_SYSTEM_GSSAPI" in config_hash
53 planpythontestsuite("none", "samba.tests.source")
54 planpythontestsuite("none", "samba.tests.source_chars")
56 if have_man_pages_support:
57 planpythontestsuite("none", "samba.tests.docs")
59 try:
60 import testscenarios
61 except ImportError:
62 skiptestsuite("subunit", "testscenarios not available")
63 else:
64 planpythontestsuite("none", "subunit.tests.test_suite")
65 planpythontestsuite("none", "samba.tests.blackbox.ndrdump")
66 planpythontestsuite("none", "samba.tests.blackbox.check_output")
67 planpythontestsuite("none", "api", name="ldb.python", extra_path=['lib/ldb/tests/python'])
68 planpythontestsuite("none", "samba.tests.credentials")
69 planpythontestsuite("none", "samba.tests.registry")
70 planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.auth")
71 planpythontestsuite("none", "samba.tests.get_opt")
72 planpythontestsuite("none", "samba.tests.cred_opt")
73 planpythontestsuite("none", "samba.tests.security")
74 planpythontestsuite("none", "samba.tests.dcerpc.misc")
75 planpythontestsuite("none", "samba.tests.dcerpc.integer")
76 planpythontestsuite("none", "samba.tests.param")
77 planpythontestsuite("none", "samba.tests.upgrade")
78 planpythontestsuite("none", "samba.tests.core")
79 planpythontestsuite("none", "samba.tests.common")
80 planpythontestsuite("none", "samba.tests.provision")
81 planpythontestsuite("none", "samba.tests.password_quality")
82 planpythontestsuite("none", "samba.tests.strings")
83 planpythontestsuite("none", "samba.tests.netcmd")
84 planpythontestsuite("none", "samba.tests.dcerpc.rpc_talloc")
85 planpythontestsuite("none", "samba.tests.dcerpc.array")
86 planpythontestsuite("none", "samba.tests.dcerpc.string_tests")
87 planpythontestsuite("none", "samba.tests.hostconfig")
88 planpythontestsuite("ad_dc_ntvfs:local", "samba.tests.messaging")
89 planpythontestsuite("none", "samba.tests.s3param")
90 planpythontestsuite("none", "samba.tests.s3passdb")
91 planpythontestsuite("none", "samba.tests.s3registry")
92 planpythontestsuite("none", "samba.tests.s3windb")
93 planpythontestsuite("none", "samba.tests.s3idmapdb")
94 planpythontestsuite("none", "samba.tests.samba3sam")
95 planpythontestsuite("none", "samba.tests.dsdb_api")
96 planpythontestsuite("none", "samba.tests.smbconf")
97 planpythontestsuite("none", "samba.tests.logfiles")
98 planpythontestsuite("none", "samba.tests.conditional_ace_claims")
99 planpythontestsuite(
100 "none", "wafsamba.tests.test_suite",
101 extra_path=[os.path.join(samba4srcdir, "..", "buildtools"),
102 os.path.join(samba4srcdir, "..", "third_party", "waf")])
103 planpythontestsuite("fileserver", "samba.tests.smbd_fuzztest")
104 planpythontestsuite("nt4_dc_smb1", "samba.tests.dcerpc.binding")
105 planpythontestsuite('ad_dc:local', "samba.tests.dcerpc.samr_change_password")
106 planpythontestsuite('ad_dc_fips:local',
107 "samba.tests.dcerpc.samr_change_password",
108 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
109 'OPENSSL_FORCE_FIPS_MODE': '1'})
111 planpythontestsuite("none", "samba.tests.safe_tarfile")
113 def cmdline(script, *args):
115 Prefix PYTHON env var and append --configurefile option to abs script path.
117 script.sh arg1 arg2
119 PYTHON=python /path/to/bbdir/script.sh arg1 arg2 \
120 --configurefile $SMB_CONF_FILE
122 return [
123 "PYTHON=%s" % python,
124 os.path.join(bbdir, script),
125 ] + list(args) + [configuration]
128 plantestsuite(
129 "samba4.blackbox.demote-saveddb", "none",
130 cmdline('demote-saveddb.sh', '$PREFIX_ABS/demote'))
132 plantestsuite(
133 "samba4.blackbox.dbcheck.alpha13", "none",
134 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
135 'alpha13'))
137 # same test as above but skip member link checks
138 plantestsuite(
139 "samba4.blackbox.dbcheck.alpha13.quick", "none",
140 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
141 'alpha13', '--quick-membership-checks'))
143 plantestsuite(
144 "samba4.blackbox.dbcheck.release-4-0-0", "none",
145 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
146 'release-4-0-0'))
148 # same test as above but skip member link checks
149 plantestsuite(
150 "samba4.blackbox.dbcheck.release-4-0-0.quick", "none",
151 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
152 'release-4-0-0', '--quick-membership-checks'))
154 plantestsuite(
155 "samba4.blackbox.dbcheck.release-4-1-0rc3", "none",
156 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
157 'release-4-1-0rc3'))
159 # same test as above but skip member link checks
160 plantestsuite(
161 "samba4.blackbox.dbcheck.release-4-1-0rc3.quick", "none",
162 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
163 'release-4-1-0rc3', '--quick-membership-checks'))
165 plantestsuite(
166 "samba4.blackbox.dbcheck.release-4-1-6-partial-object", "none",
167 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
168 'release-4-1-6-partial-object'))
170 # same test as above but skip member link checks
171 plantestsuite(
172 "samba4.blackbox.dbcheck.release-4-1-6-partial-object.quick", "none",
173 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
174 'release-4-1-6-partial-object', '--quick-membership-checks'))
176 plantestsuite(
177 "samba4.blackbox.dbcheck.release-4-5-0-pre1", "none",
178 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
179 'release-4-5-0-pre1'))
181 # same test as above but skip member link checks
182 plantestsuite(
183 "samba4.blackbox.dbcheck.release-4-5-0-pre1.quick", "none",
184 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
185 'release-4-5-0-pre1', '--quick-membership-checks'))
187 plantestsuite(
188 "samba4.blackbox.upgradeprovision.alpha13", "none",
189 cmdline('upgradeprovision-oldrelease.sh', '$PREFIX_ABS/provision',
190 'alpha13'))
192 plantestsuite(
193 "samba4.blackbox.upgradeprovision.release-4-0-0", "none",
194 cmdline('upgradeprovision-oldrelease.sh', '$PREFIX_ABS/provision',
195 'release-4-0-0'))
197 plantestsuite(
198 "samba4.blackbox.tombstones-expunge.release-4-5-0-pre1", "none",
199 cmdline('tombstones-expunge.sh', '$PREFIX_ABS/provision',
200 'release-4-5-0-pre1'))
202 plantestsuite(
203 "samba4.blackbox.dbcheck-links.release-4-5-0-pre1", "none",
204 cmdline('dbcheck-links.sh', '$PREFIX_ABS/provision',
205 'release-4-5-0-pre1'))
207 plantestsuite(
208 "samba4.blackbox.runtime-links.release-4-5-0-pre1", "none",
209 cmdline('runtime-links.sh', '$PREFIX_ABS/provision',
210 'release-4-5-0-pre1'))
212 plantestsuite(
213 "samba4.blackbox.schemaupgrade", "none",
214 cmdline('schemaupgrade.sh', '$PREFIX_ABS/provision'))
216 plantestsuite(
217 "samba4.blackbox.functionalprep", "none",
218 cmdline('functionalprep.sh', '$PREFIX_ABS/provision'))
220 plantestsuite(
221 "samba4.blackbox.test_special_group", "none",
222 cmdline('test_special_group.sh', '$PREFIX_ABS/provision'))
224 planpythontestsuite("none", "samba.tests.upgradeprovision")
225 planpythontestsuite("none", "samba.tests.xattr")
226 planpythontestsuite("none", "samba.tests.ntacls")
227 planpythontestsuite("none", "samba.tests.policy")
228 planpythontestsuite("none", "samba.tests.kcc.graph")
229 planpythontestsuite("none", "samba.tests.kcc.graph_utils")
230 planpythontestsuite("none", "samba.tests.kcc.ldif_import_export")
231 planpythontestsuite("none", "samba.tests.graph")
232 plantestsuite("wafsamba.duplicate_symbols", "none", [os.path.join(srcdir(), "buildtools/wafsamba/test_duplicate_symbol.sh")])
233 planpythontestsuite("none", "samba.tests.glue")
234 planpythontestsuite("none", "samba.tests.tdb_util")
235 planpythontestsuite("none", "samba.tests.samdb")
236 planpythontestsuite("none", "samba.tests.samdb_api")
237 planpythontestsuite("none", "samba.tests.ndr")
239 if with_pam:
240 env = "ad_member"
241 options = [
243 "description": "krb5",
244 "pam_options": "krb5_auth krb5_ccache_type=FILE:%s/krb5cc_pam_test_%%u" % (tempfile.gettempdir()),
247 "description": "default",
248 "pam_options": "",
251 for o in options:
252 description = o["description"]
253 pam_options = "'%s'" % o["pam_options"]
255 plantestsuite("samba.tests.pam_winbind(local+%s)" % description, env,
256 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
257 valgrindify(python), pam_wrapper_so_path,
258 "$SERVER", "$USERNAME", "$PASSWORD",
259 pam_options])
260 plantestsuite("samba.tests.pam_winbind(domain1+%s)" % description, env,
261 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
262 valgrindify(python), pam_wrapper_so_path,
263 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD",
264 pam_options])
265 plantestsuite("samba.tests.pam_winbind(domain2+%s)" % description, env,
266 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
267 valgrindify(python), pam_wrapper_so_path,
268 "$REALM", "$DC_USERNAME", "$DC_PASSWORD",
269 pam_options])
270 plantestsuite("samba.tests.pam_winbind(domain3+%s)" % description, env,
271 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
272 valgrindify(python), pam_wrapper_so_path,
273 "''", "${DC_USERNAME}@${DOMAIN}", "$DC_PASSWORD",
274 pam_options])
275 plantestsuite("samba.tests.pam_winbind(domain4+%s)" % description, env,
276 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
277 valgrindify(python), pam_wrapper_so_path,
278 "''", "${DC_USERNAME}@${REALM}", "$DC_PASSWORD",
279 pam_options])
280 plantestsuite("samba.tests.pam_winbind(domain5+%s)" % description, env,
281 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
282 valgrindify(python), pam_wrapper_so_path,
283 "$REALM", "${DC_USERNAME}@${DOMAIN}", "$DC_PASSWORD",
284 pam_options])
285 plantestsuite("samba.tests.pam_winbind(domain6+%s)" % description, env,
286 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
287 valgrindify(python), pam_wrapper_so_path,
288 "$DOMAIN", "${DC_USERNAME}@${REALM}", "$DC_PASSWORD",
289 pam_options])
290 plantestsuite("samba.tests.pam_winbind(trust_f_both1+%s)" % description, env,
291 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
292 valgrindify(python), pam_wrapper_so_path,
293 "$TRUST_F_BOTH_DOMAIN",
294 "$TRUST_F_BOTH_USERNAME",
295 "$TRUST_F_BOTH_PASSWORD",
296 pam_options])
297 plantestsuite("samba.tests.pam_winbind(trust_f_both2+%s)" % description, env,
298 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
299 valgrindify(python), pam_wrapper_so_path,
300 "$TRUST_F_BOTH_REALM",
301 "$TRUST_F_BOTH_USERNAME",
302 "$TRUST_F_BOTH_PASSWORD",
303 pam_options])
304 plantestsuite("samba.tests.pam_winbind(trust_f_both3+%s)" % description, env,
305 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
306 valgrindify(python), pam_wrapper_so_path,
307 "''",
308 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_DOMAIN}",
309 "$TRUST_F_BOTH_PASSWORD",
310 pam_options])
311 plantestsuite("samba.tests.pam_winbind(trust_f_both4+%s)" % description, env,
312 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
313 valgrindify(python), pam_wrapper_so_path,
314 "''",
315 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_REALM}",
316 "$TRUST_F_BOTH_PASSWORD",
317 pam_options])
318 plantestsuite("samba.tests.pam_winbind(trust_f_both5+%s)" % description, env,
319 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
320 valgrindify(python), pam_wrapper_so_path,
321 "${TRUST_F_BOTH_REALM}",
322 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_DOMAIN}",
323 "$TRUST_F_BOTH_PASSWORD",
324 pam_options])
325 plantestsuite("samba.tests.pam_winbind(trust_f_both6+%s)" % description, env,
326 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
327 valgrindify(python), pam_wrapper_so_path,
328 "${TRUST_F_BOTH_DOMAIN}",
329 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_REALM}",
330 "$TRUST_F_BOTH_PASSWORD",
331 pam_options])
332 plantestsuite("samba.tests.pam_winbind(trust_e_both1+%s)" % description, env,
333 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
334 valgrindify(python), pam_wrapper_so_path,
335 "$TRUST_E_BOTH_DOMAIN",
336 "$TRUST_E_BOTH_USERNAME",
337 "$TRUST_E_BOTH_PASSWORD",
338 pam_options])
339 plantestsuite("samba.tests.pam_winbind(trust_e_both2+%s)" % description, env,
340 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
341 valgrindify(python), pam_wrapper_so_path,
342 "$TRUST_E_BOTH_REALM",
343 "$TRUST_E_BOTH_USERNAME",
344 "$TRUST_E_BOTH_PASSWORD",
345 pam_options])
346 plantestsuite("samba.tests.pam_winbind(trust_e_both3+%s)" % description, env,
347 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
348 valgrindify(python), pam_wrapper_so_path,
349 "''",
350 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_DOMAIN}",
351 "$TRUST_E_BOTH_PASSWORD",
352 pam_options])
353 plantestsuite("samba.tests.pam_winbind(trust_e_both4+%s)" % description, env,
354 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
355 valgrindify(python), pam_wrapper_so_path,
356 "''",
357 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_REALM}",
358 "$TRUST_E_BOTH_PASSWORD",
359 pam_options])
360 plantestsuite("samba.tests.pam_winbind(trust_e_both5+%s)" % description, env,
361 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
362 valgrindify(python), pam_wrapper_so_path,
363 "${TRUST_E_BOTH_REALM}",
364 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_DOMAIN}",
365 "$TRUST_E_BOTH_PASSWORD",
366 pam_options])
367 plantestsuite("samba.tests.pam_winbind(trust_e_both6+%s)" % description, env,
368 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
369 valgrindify(python), pam_wrapper_so_path,
370 "${TRUST_E_BOTH_DOMAIN}",
371 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_REALM}",
372 "$TRUST_E_BOTH_PASSWORD",
373 pam_options])
375 for authtok_options in ["", "use_authtok", "try_authtok"]:
376 _pam_options = "'%s %s'" % (o["pam_options"], authtok_options)
377 _description = "%s %s" % (description, authtok_options)
378 plantestsuite("samba.tests.pam_winbind_chauthtok(domain+%s)" % _description, env,
379 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_chauthtok.sh"),
380 valgrindify(python), pam_wrapper_so_path, pam_set_items_so_path,
381 "$DOMAIN", "TestPamOptionsUser", "oldp@ssword0", "newp@ssword0",
382 _pam_options, 'yes',
383 "$DC_SERVER", "$DC_USERNAME", "$DC_PASSWORD"])
385 plantestsuite("samba.tests.pam_winbind_warn_pwd_expire(domain+%s)" % description, env,
386 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_warn_pwd_expire.sh"),
387 valgrindify(python), pam_wrapper_so_path,
388 "$DOMAIN", "alice", "Secret007",
389 pam_options])
391 description = "krb5"
392 pam_options = "'krb5_auth krb5_ccache_type=FILE:%s/krb5cc_pam_test_setcred_%%u'" % (tempfile.gettempdir())
393 plantestsuite("samba.tests.pam_winbind_setcred(domain+%s)" % description, "ad_dc:local",
394 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_setcred.sh"),
395 valgrindify(python), pam_wrapper_so_path,
396 "${DOMAIN}", "${DC_USERNAME}", "${DC_PASSWORD}",
397 pam_options])
400 plantestsuite("samba.unittests.krb5samba", "none",
401 [os.path.join(bindir(), "default/testsuite/unittests/test_krb5samba")])
402 plantestsuite("samba.unittests.lib_util_modules", "none",
403 [os.path.join(bindir(), "default/testsuite/unittests/test_lib_util_modules")])
404 plantestsuite("samba.unittests.background_send",
405 "none",
406 [os.path.join(
407 bindir(),
408 "default/testsuite/unittests/test_background_send"),
409 "$SMB_CONF_PATH"])
411 plantestsuite("samba.unittests.smb1cli_session", "none",
412 [os.path.join(bindir(), "default/libcli/smb/test_smb1cli_session")])
413 plantestsuite("samba.unittests.smb_util_translate", "none",
414 [os.path.join(bindir(), "default/libcli/smb/test_util_translate")])
416 plantestsuite("samba.unittests.talloc_keep_secret", "none",
417 [os.path.join(bindir(), "default/lib/util/test_talloc_keep_secret")])
419 plantestsuite("samba.unittests.tldap", "none",
420 [os.path.join(bindir(), "default/source3/test_tldap")])
421 plantestsuite("samba.unittests.rfc1738", "none",
422 [os.path.join(bindir(), "default/lib/util/test_rfc1738")])
423 plantestsuite("samba.unittests.kerberos", "none",
424 [os.path.join(bindir(), "test_kerberos")])
425 plantestsuite("samba.unittests.ms_fnmatch", "none",
426 [os.path.join(bindir(), "default/lib/util/test_ms_fnmatch")])
427 plantestsuite("samba.unittests.byteorder", "none",
428 [os.path.join(bindir(), "default/lib/util/test_byteorder")])
429 plantestsuite("samba.unittests.bytearray", "none",
430 [os.path.join(bindir(), "default/lib/util/test_bytearray")])
431 plantestsuite("samba.unittests.byteorder_verify", "none",
432 [os.path.join(bindir(), "default/lib/util/test_byteorder_verify")])
433 plantestsuite("samba.unittests.util_paths", "none",
434 [os.path.join(bindir(), "default/lib/util/test_util_paths")])
435 plantestsuite("samba.unittests.util", "none",
436 [os.path.join(bindir(), "default/lib/util/test_util")])
437 plantestsuite("samba.unittests.memcache", "none",
438 [os.path.join(bindir(), "default/lib/util/test_memcache")])
439 plantestsuite("samba.unittests.sys_rw", "none",
440 [os.path.join(bindir(), "default/lib/util/test_sys_rw")])
441 plantestsuite("samba.unittests.stable_sort", "none",
442 [os.path.join(bindir(), "default/lib/util/test_stable_sort")])
443 plantestsuite("samba.unittests.ntlm_check", "none",
444 [os.path.join(bindir(), "default/libcli/auth/test_ntlm_check")])
445 plantestsuite("samba.unittests.gnutls", "none",
446 [os.path.join(bindir(), "default/libcli/auth/test_gnutls")])
447 plantestsuite("samba.unittests.rc4_passwd_buffer", "none",
448 [os.path.join(bindir(), "default/libcli/auth/test_rc4_passwd_buffer")])
449 plantestsuite("samba.unittests.schannel", "none",
450 [os.path.join(bindir(), "default/libcli/auth/test_schannel")])
451 plantestsuite("samba.unittests.test_registry_regfio", "none",
452 [os.path.join(bindir(), "default/source3/test_registry_regfio")])
453 plantestsuite("samba.unittests.test_oLschema2ldif", "none",
454 [os.path.join(bindir(), "default/source4/utils/oLschema2ldif/test_oLschema2ldif")])
455 plantestsuite("samba.unittests.auth.sam", "none",
456 [os.path.join(bindir(), "test_auth_sam")])
457 if have_heimdal_support and not using_system_gssapi:
458 plantestsuite("samba.unittests.auth.heimdal_gensec_unwrap_des", "none",
459 [valgrindify(os.path.join(bindir(), "test_heimdal_gensec_unwrap_des"))])
460 plantestsuite("samba.unittests.test_wsp_parser", "none",
461 [os.path.join(bindir(), "default/libcli/wsp/test_wsp_parser")] + [configuration])
462 if with_elasticsearch_backend:
463 plantestsuite("samba.unittests.mdsparser_es", "none",
464 [os.path.join(bindir(), "default/source3/test_mdsparser_es")] + [configuration])
465 plantestsuite("samba.unittests.mdsparser_es_failures", "none",
466 [os.path.join(bindir(), "default/source3/test_mdsparser_es"),
467 " --option=elasticsearch:testmappingfailures=yes",
468 " --option=elasticsearch:ignoreunknownattribute=yes",
469 " --option=elasticsearch:ignoreunknowntype=yes"] +
470 [configuration])
471 plantestsuite("samba.unittests.credentials", "none",
472 [os.path.join(bindir(), "default/auth/credentials/test_creds")])
473 plantestsuite("samba.unittests.tsocket_bsd_addr", "none",
474 [os.path.join(bindir(), "default/lib/tsocket/test_tsocket_bsd_addr")])
475 if ("HAVE_TCP_USER_TIMEOUT" in config_hash):
476 plantestsuite("samba.unittests.tsocket_tstream", "none",
477 [os.path.join(bindir(), "default/lib/tsocket/test_tstream")],
478 environ={'SOCKET_WRAPPER_DIR': ''})
479 plantestsuite("samba.unittests.adouble", "none",
480 [os.path.join(bindir(), "test_adouble")])
481 plantestsuite("samba.unittests.gnutls_aead_aes_256_cbc_hmac_sha512", "none",
482 [os.path.join(bindir(), "test_gnutls_aead_aes_256_cbc_hmac_sha512")])
483 plantestsuite("samba.unittests.encode_decode", "none",
484 [os.path.join(bindir(), "test_encode_decode")])
486 plantestsuite("samba.unittests.compression.lzxpress_huffman", "none",
487 [os.path.join(bindir(), "default/lib/compression/test_lzx_huffman")])
488 plantestsuite("samba.unittests.compression.lzxpress_plain", "none",
489 [os.path.join(bindir(),
490 "default/lib/compression/test_lzxpress_plain")])
492 plantestsuite("samba.unittests.sddl_conditional_ace", "none",
493 [os.path.join(bindir(), "test_sddl_conditional_ace")])
494 plantestsuite("samba.unittests.run_conditional_ace", "none",
495 [os.path.join(bindir(), "test_run_conditional_ace")])