pidl/lib: Add recursion detection logic to prevent looping.
[Samba.git] / selftest / tests.py
blob2cafe2faa4e90fbb429c586662c2b4daaf941e5f
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(
99 "none", "wafsamba.tests.test_suite",
100 extra_path=[os.path.join(samba4srcdir, "..", "buildtools"),
101 os.path.join(samba4srcdir, "..", "third_party", "waf")])
102 planpythontestsuite("fileserver", "samba.tests.smbd_fuzztest")
103 planpythontestsuite("nt4_dc_smb1", "samba.tests.dcerpc.binding")
104 planpythontestsuite('ad_dc:local', "samba.tests.dcerpc.samr_change_password")
105 planpythontestsuite('ad_dc_fips:local',
106 "samba.tests.dcerpc.samr_change_password",
107 environ={'GNUTLS_FORCE_FIPS_MODE': '1',
108 'OPENSSL_FORCE_FIPS_MODE': '1'})
110 planpythontestsuite("none", "samba.tests.safe_tarfile")
112 def cmdline(script, *args):
114 Prefix PYTHON env var and append --configurefile option to abs script path.
116 script.sh arg1 arg2
118 PYTHON=python /path/to/bbdir/script.sh arg1 arg2 \
119 --configurefile $SMB_CONF_FILE
121 return [
122 "PYTHON=%s" % python,
123 os.path.join(bbdir, script),
124 ] + list(args) + [configuration]
127 plantestsuite(
128 "samba4.blackbox.demote-saveddb", "none",
129 cmdline('demote-saveddb.sh', '$PREFIX_ABS/demote'))
131 plantestsuite(
132 "samba4.blackbox.dbcheck.alpha13", "none",
133 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
134 'alpha13'))
136 # same test as above but skip member link checks
137 plantestsuite(
138 "samba4.blackbox.dbcheck.alpha13.quick", "none",
139 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
140 'alpha13', '--quick-membership-checks'))
142 plantestsuite(
143 "samba4.blackbox.dbcheck.release-4-0-0", "none",
144 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
145 'release-4-0-0'))
147 # same test as above but skip member link checks
148 plantestsuite(
149 "samba4.blackbox.dbcheck.release-4-0-0.quick", "none",
150 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
151 'release-4-0-0', '--quick-membership-checks'))
153 plantestsuite(
154 "samba4.blackbox.dbcheck.release-4-1-0rc3", "none",
155 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
156 'release-4-1-0rc3'))
158 # same test as above but skip member link checks
159 plantestsuite(
160 "samba4.blackbox.dbcheck.release-4-1-0rc3.quick", "none",
161 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
162 'release-4-1-0rc3', '--quick-membership-checks'))
164 plantestsuite(
165 "samba4.blackbox.dbcheck.release-4-1-6-partial-object", "none",
166 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
167 'release-4-1-6-partial-object'))
169 # same test as above but skip member link checks
170 plantestsuite(
171 "samba4.blackbox.dbcheck.release-4-1-6-partial-object.quick", "none",
172 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
173 'release-4-1-6-partial-object', '--quick-membership-checks'))
175 plantestsuite(
176 "samba4.blackbox.dbcheck.release-4-5-0-pre1", "none",
177 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
178 'release-4-5-0-pre1'))
180 # same test as above but skip member link checks
181 plantestsuite(
182 "samba4.blackbox.dbcheck.release-4-5-0-pre1.quick", "none",
183 cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
184 'release-4-5-0-pre1', '--quick-membership-checks'))
186 plantestsuite(
187 "samba4.blackbox.upgradeprovision.alpha13", "none",
188 cmdline('upgradeprovision-oldrelease.sh', '$PREFIX_ABS/provision',
189 'alpha13'))
191 plantestsuite(
192 "samba4.blackbox.upgradeprovision.release-4-0-0", "none",
193 cmdline('upgradeprovision-oldrelease.sh', '$PREFIX_ABS/provision',
194 'release-4-0-0'))
196 plantestsuite(
197 "samba4.blackbox.tombstones-expunge.release-4-5-0-pre1", "none",
198 cmdline('tombstones-expunge.sh', '$PREFIX_ABS/provision',
199 'release-4-5-0-pre1'))
201 plantestsuite(
202 "samba4.blackbox.dbcheck-links.release-4-5-0-pre1", "none",
203 cmdline('dbcheck-links.sh', '$PREFIX_ABS/provision',
204 'release-4-5-0-pre1'))
206 plantestsuite(
207 "samba4.blackbox.runtime-links.release-4-5-0-pre1", "none",
208 cmdline('runtime-links.sh', '$PREFIX_ABS/provision',
209 'release-4-5-0-pre1'))
211 plantestsuite(
212 "samba4.blackbox.schemaupgrade", "none",
213 cmdline('schemaupgrade.sh', '$PREFIX_ABS/provision'))
215 plantestsuite(
216 "samba4.blackbox.functionalprep", "none",
217 cmdline('functionalprep.sh', '$PREFIX_ABS/provision'))
219 plantestsuite(
220 "samba4.blackbox.test_special_group", "none",
221 cmdline('test_special_group.sh', '$PREFIX_ABS/provision'))
223 planpythontestsuite("none", "samba.tests.upgradeprovision")
224 planpythontestsuite("none", "samba.tests.xattr")
225 planpythontestsuite("none", "samba.tests.ntacls")
226 planpythontestsuite("none", "samba.tests.policy")
227 planpythontestsuite("none", "samba.tests.kcc.graph")
228 planpythontestsuite("none", "samba.tests.kcc.graph_utils")
229 planpythontestsuite("none", "samba.tests.kcc.ldif_import_export")
230 planpythontestsuite("none", "samba.tests.graph")
231 plantestsuite("wafsamba.duplicate_symbols", "none", [os.path.join(srcdir(), "buildtools/wafsamba/test_duplicate_symbol.sh")])
232 planpythontestsuite("none", "samba.tests.glue")
233 planpythontestsuite("none", "samba.tests.tdb_util")
234 planpythontestsuite("none", "samba.tests.samdb")
235 planpythontestsuite("none", "samba.tests.samdb_api")
236 planpythontestsuite("none", "samba.tests.ndr")
238 if with_pam:
239 env = "ad_member"
240 options = [
242 "description": "krb5",
243 "pam_options": "krb5_auth krb5_ccache_type=FILE:%s/krb5cc_pam_test_%%u" % (tempfile.gettempdir()),
246 "description": "default",
247 "pam_options": "",
250 for o in options:
251 description = o["description"]
252 pam_options = "'%s'" % o["pam_options"]
254 plantestsuite("samba.tests.pam_winbind(local+%s)" % description, env,
255 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
256 valgrindify(python), pam_wrapper_so_path,
257 "$SERVER", "$USERNAME", "$PASSWORD",
258 pam_options])
259 plantestsuite("samba.tests.pam_winbind(domain1+%s)" % description, env,
260 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
261 valgrindify(python), pam_wrapper_so_path,
262 "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD",
263 pam_options])
264 plantestsuite("samba.tests.pam_winbind(domain2+%s)" % description, env,
265 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
266 valgrindify(python), pam_wrapper_so_path,
267 "$REALM", "$DC_USERNAME", "$DC_PASSWORD",
268 pam_options])
269 plantestsuite("samba.tests.pam_winbind(domain3+%s)" % description, env,
270 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
271 valgrindify(python), pam_wrapper_so_path,
272 "''", "${DC_USERNAME}@${DOMAIN}", "$DC_PASSWORD",
273 pam_options])
274 plantestsuite("samba.tests.pam_winbind(domain4+%s)" % description, env,
275 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
276 valgrindify(python), pam_wrapper_so_path,
277 "''", "${DC_USERNAME}@${REALM}", "$DC_PASSWORD",
278 pam_options])
279 plantestsuite("samba.tests.pam_winbind(domain5+%s)" % description, env,
280 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
281 valgrindify(python), pam_wrapper_so_path,
282 "$REALM", "${DC_USERNAME}@${DOMAIN}", "$DC_PASSWORD",
283 pam_options])
284 plantestsuite("samba.tests.pam_winbind(domain6+%s)" % description, env,
285 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
286 valgrindify(python), pam_wrapper_so_path,
287 "$DOMAIN", "${DC_USERNAME}@${REALM}", "$DC_PASSWORD",
288 pam_options])
289 plantestsuite("samba.tests.pam_winbind(trust_f_both1+%s)" % description, env,
290 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
291 valgrindify(python), pam_wrapper_so_path,
292 "$TRUST_F_BOTH_DOMAIN",
293 "$TRUST_F_BOTH_USERNAME",
294 "$TRUST_F_BOTH_PASSWORD",
295 pam_options])
296 plantestsuite("samba.tests.pam_winbind(trust_f_both2+%s)" % description, env,
297 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
298 valgrindify(python), pam_wrapper_so_path,
299 "$TRUST_F_BOTH_REALM",
300 "$TRUST_F_BOTH_USERNAME",
301 "$TRUST_F_BOTH_PASSWORD",
302 pam_options])
303 plantestsuite("samba.tests.pam_winbind(trust_f_both3+%s)" % description, env,
304 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
305 valgrindify(python), pam_wrapper_so_path,
306 "''",
307 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_DOMAIN}",
308 "$TRUST_F_BOTH_PASSWORD",
309 pam_options])
310 plantestsuite("samba.tests.pam_winbind(trust_f_both4+%s)" % description, env,
311 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
312 valgrindify(python), pam_wrapper_so_path,
313 "''",
314 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_REALM}",
315 "$TRUST_F_BOTH_PASSWORD",
316 pam_options])
317 plantestsuite("samba.tests.pam_winbind(trust_f_both5+%s)" % description, env,
318 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
319 valgrindify(python), pam_wrapper_so_path,
320 "${TRUST_F_BOTH_REALM}",
321 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_DOMAIN}",
322 "$TRUST_F_BOTH_PASSWORD",
323 pam_options])
324 plantestsuite("samba.tests.pam_winbind(trust_f_both6+%s)" % description, env,
325 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
326 valgrindify(python), pam_wrapper_so_path,
327 "${TRUST_F_BOTH_DOMAIN}",
328 "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_REALM}",
329 "$TRUST_F_BOTH_PASSWORD",
330 pam_options])
331 plantestsuite("samba.tests.pam_winbind(trust_e_both1+%s)" % description, env,
332 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
333 valgrindify(python), pam_wrapper_so_path,
334 "$TRUST_E_BOTH_DOMAIN",
335 "$TRUST_E_BOTH_USERNAME",
336 "$TRUST_E_BOTH_PASSWORD",
337 pam_options])
338 plantestsuite("samba.tests.pam_winbind(trust_e_both2+%s)" % description, env,
339 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
340 valgrindify(python), pam_wrapper_so_path,
341 "$TRUST_E_BOTH_REALM",
342 "$TRUST_E_BOTH_USERNAME",
343 "$TRUST_E_BOTH_PASSWORD",
344 pam_options])
345 plantestsuite("samba.tests.pam_winbind(trust_e_both3+%s)" % description, env,
346 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
347 valgrindify(python), pam_wrapper_so_path,
348 "''",
349 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_DOMAIN}",
350 "$TRUST_E_BOTH_PASSWORD",
351 pam_options])
352 plantestsuite("samba.tests.pam_winbind(trust_e_both4+%s)" % description, env,
353 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
354 valgrindify(python), pam_wrapper_so_path,
355 "''",
356 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_REALM}",
357 "$TRUST_E_BOTH_PASSWORD",
358 pam_options])
359 plantestsuite("samba.tests.pam_winbind(trust_e_both5+%s)" % description, env,
360 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
361 valgrindify(python), pam_wrapper_so_path,
362 "${TRUST_E_BOTH_REALM}",
363 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_DOMAIN}",
364 "$TRUST_E_BOTH_PASSWORD",
365 pam_options])
366 plantestsuite("samba.tests.pam_winbind(trust_e_both6+%s)" % description, env,
367 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
368 valgrindify(python), pam_wrapper_so_path,
369 "${TRUST_E_BOTH_DOMAIN}",
370 "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_REALM}",
371 "$TRUST_E_BOTH_PASSWORD",
372 pam_options])
374 for authtok_options in ["", "use_authtok", "try_authtok"]:
375 _pam_options = "'%s %s'" % (o["pam_options"], authtok_options)
376 _description = "%s %s" % (description, authtok_options)
377 plantestsuite("samba.tests.pam_winbind_chauthtok(domain+%s)" % _description, env,
378 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_chauthtok.sh"),
379 valgrindify(python), pam_wrapper_so_path, pam_set_items_so_path,
380 "$DOMAIN", "TestPamOptionsUser", "oldp@ssword0", "newp@ssword0",
381 _pam_options, 'yes',
382 "$DC_SERVER", "$DC_USERNAME", "$DC_PASSWORD"])
384 plantestsuite("samba.tests.pam_winbind_warn_pwd_expire(domain+%s)" % description, env,
385 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_warn_pwd_expire.sh"),
386 valgrindify(python), pam_wrapper_so_path,
387 "$DOMAIN", "alice", "Secret007",
388 pam_options])
390 description = "krb5"
391 pam_options = "'krb5_auth krb5_ccache_type=FILE:%s/krb5cc_pam_test_setcred_%%u'" % (tempfile.gettempdir())
392 plantestsuite("samba.tests.pam_winbind_setcred(domain+%s)" % description, "ad_dc:local",
393 [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_setcred.sh"),
394 valgrindify(python), pam_wrapper_so_path,
395 "${DOMAIN}", "${DC_USERNAME}", "${DC_PASSWORD}",
396 pam_options])
399 plantestsuite("samba.unittests.krb5samba", "none",
400 [os.path.join(bindir(), "default/testsuite/unittests/test_krb5samba")])
401 plantestsuite("samba.unittests.lib_util_modules", "none",
402 [os.path.join(bindir(), "default/testsuite/unittests/test_lib_util_modules")])
403 plantestsuite("samba.unittests.background_send",
404 "none",
405 [os.path.join(
406 bindir(),
407 "default/testsuite/unittests/test_background_send"),
408 "$SMB_CONF_PATH"])
410 plantestsuite("samba.unittests.smb1cli_session", "none",
411 [os.path.join(bindir(), "default/libcli/smb/test_smb1cli_session")])
412 plantestsuite("samba.unittests.smb_util_translate", "none",
413 [os.path.join(bindir(), "default/libcli/smb/test_util_translate")])
415 plantestsuite("samba.unittests.talloc_keep_secret", "none",
416 [os.path.join(bindir(), "default/lib/util/test_talloc_keep_secret")])
418 plantestsuite("samba.unittests.tldap", "none",
419 [os.path.join(bindir(), "default/source3/test_tldap")])
420 plantestsuite("samba.unittests.rfc1738", "none",
421 [os.path.join(bindir(), "default/lib/util/test_rfc1738")])
422 plantestsuite("samba.unittests.kerberos", "none",
423 [os.path.join(bindir(), "test_kerberos")])
424 plantestsuite("samba.unittests.ms_fnmatch", "none",
425 [os.path.join(bindir(), "default/lib/util/test_ms_fnmatch")])
426 plantestsuite("samba.unittests.byteorder", "none",
427 [os.path.join(bindir(), "default/lib/util/test_byteorder")])
428 plantestsuite("samba.unittests.bytearray", "none",
429 [os.path.join(bindir(), "default/lib/util/test_bytearray")])
430 plantestsuite("samba.unittests.byteorder_verify", "none",
431 [os.path.join(bindir(), "default/lib/util/test_byteorder_verify")])
432 plantestsuite("samba.unittests.util_paths", "none",
433 [os.path.join(bindir(), "default/lib/util/test_util_paths")])
434 plantestsuite("samba.unittests.util", "none",
435 [os.path.join(bindir(), "default/lib/util/test_util")])
436 plantestsuite("samba.unittests.memcache", "none",
437 [os.path.join(bindir(), "default/lib/util/test_memcache")])
438 plantestsuite("samba.unittests.sys_rw", "none",
439 [os.path.join(bindir(), "default/lib/util/test_sys_rw")])
440 plantestsuite("samba.unittests.stable_sort", "none",
441 [os.path.join(bindir(), "default/lib/util/test_stable_sort")])
442 plantestsuite("samba.unittests.ntlm_check", "none",
443 [os.path.join(bindir(), "default/libcli/auth/test_ntlm_check")])
444 plantestsuite("samba.unittests.gnutls", "none",
445 [os.path.join(bindir(), "default/libcli/auth/test_gnutls")])
446 plantestsuite("samba.unittests.rc4_passwd_buffer", "none",
447 [os.path.join(bindir(), "default/libcli/auth/test_rc4_passwd_buffer")])
448 plantestsuite("samba.unittests.schannel", "none",
449 [os.path.join(bindir(), "default/libcli/auth/test_schannel")])
450 plantestsuite("samba.unittests.test_registry_regfio", "none",
451 [os.path.join(bindir(), "default/source3/test_registry_regfio")])
452 plantestsuite("samba.unittests.test_oLschema2ldif", "none",
453 [os.path.join(bindir(), "default/source4/utils/oLschema2ldif/test_oLschema2ldif")])
454 plantestsuite("samba.unittests.auth.sam", "none",
455 [os.path.join(bindir(), "test_auth_sam")])
456 if have_heimdal_support and not using_system_gssapi:
457 plantestsuite("samba.unittests.auth.heimdal_gensec_unwrap_des", "none",
458 [valgrindify(os.path.join(bindir(), "test_heimdal_gensec_unwrap_des"))])
459 if with_elasticsearch_backend:
460 plantestsuite("samba.unittests.mdsparser_es", "none",
461 [os.path.join(bindir(), "default/source3/test_mdsparser_es")] + [configuration])
462 plantestsuite("samba.unittests.mdsparser_es_failures", "none",
463 [os.path.join(bindir(), "default/source3/test_mdsparser_es"),
464 " --option=elasticsearch:testmappingfailures=yes",
465 " --option=elasticsearch:ignoreunknownattribute=yes",
466 " --option=elasticsearch:ignoreunknowntype=yes"] +
467 [configuration])
468 plantestsuite("samba.unittests.credentials", "none",
469 [os.path.join(bindir(), "default/auth/credentials/test_creds")])
470 plantestsuite("samba.unittests.tsocket_bsd_addr", "none",
471 [os.path.join(bindir(), "default/lib/tsocket/test_tsocket_bsd_addr")])
472 if ("HAVE_TCP_USER_TIMEOUT" in config_hash):
473 plantestsuite("samba.unittests.tsocket_tstream", "none",
474 [os.path.join(bindir(), "default/lib/tsocket/test_tstream")],
475 environ={'SOCKET_WRAPPER_DIR': ''})
476 plantestsuite("samba.unittests.adouble", "none",
477 [os.path.join(bindir(), "test_adouble")])
478 plantestsuite("samba.unittests.gnutls_aead_aes_256_cbc_hmac_sha512", "none",
479 [os.path.join(bindir(), "test_gnutls_aead_aes_256_cbc_hmac_sha512")])
480 plantestsuite("samba.unittests.encode_decode", "none",
481 [os.path.join(bindir(), "test_encode_decode")])
483 plantestsuite("samba.unittests.compression.lzxpress_huffman", "none",
484 [os.path.join(bindir(), "default/lib/compression/test_lzx_huffman")])
485 plantestsuite("samba.unittests.compression.lzxpress_plain", "none",
486 [os.path.join(bindir(),
487 "default/lib/compression/test_lzxpress_plain")])