lib:crypto: Add tests for GKDI key derivation
[samba.git] / selftest / tests.py
1 #!/usr/bin/python
2 # This script generates a list of testsuites that should be run as part of
3 # the Samba test suite.
4
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".
8
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.
15
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.
20
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
27
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")
33
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()
44
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
52
53 planpythontestsuite("none", "samba.tests.source")
54 planpythontestsuite("none", "samba.tests.source_chars")
55
56 if have_man_pages_support:
57     planpythontestsuite("none", "samba.tests.docs")
58
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'})
110
111 planpythontestsuite("none", "samba.tests.safe_tarfile")
112
113 def cmdline(script, *args):
114     """
115     Prefix PYTHON env var and append --configurefile option to abs script path.
116
117     script.sh arg1 arg2
118     -->
119     PYTHON=python /path/to/bbdir/script.sh arg1 arg2 \
120     --configurefile $SMB_CONF_FILE
121     """
122     return [
123         "PYTHON=%s" % python,
124         os.path.join(bbdir, script),
125     ] + list(args) + [configuration]
126
127
128 plantestsuite(
129     "samba4.blackbox.demote-saveddb", "none",
130     cmdline('demote-saveddb.sh', '$PREFIX_ABS/demote'))
131
132 plantestsuite(
133     "samba4.blackbox.dbcheck.alpha13", "none",
134     cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
135             'alpha13'))
136
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'))
142
143 plantestsuite(
144     "samba4.blackbox.dbcheck.release-4-0-0", "none",
145     cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
146             'release-4-0-0'))
147
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'))
153
154 plantestsuite(
155     "samba4.blackbox.dbcheck.release-4-1-0rc3", "none",
156     cmdline('dbcheck-oldrelease.sh', '$PREFIX_ABS/provision',
157             'release-4-1-0rc3'))
158
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'))
164
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'))
169
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'))
175
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'))
180
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'))
186
187 plantestsuite(
188     "samba4.blackbox.upgradeprovision.alpha13", "none",
189     cmdline('upgradeprovision-oldrelease.sh', '$PREFIX_ABS/provision',
190             'alpha13'))
191
192 plantestsuite(
193     "samba4.blackbox.upgradeprovision.release-4-0-0", "none",
194     cmdline('upgradeprovision-oldrelease.sh', '$PREFIX_ABS/provision',
195             'release-4-0-0'))
196
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'))
201
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'))
206
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'))
211
212 plantestsuite(
213     "samba4.blackbox.schemaupgrade", "none",
214     cmdline('schemaupgrade.sh', '$PREFIX_ABS/provision'))
215
216 plantestsuite(
217     "samba4.blackbox.functionalprep", "none",
218     cmdline('functionalprep.sh', '$PREFIX_ABS/provision'))
219
220 plantestsuite(
221     "samba4.blackbox.test_special_group", "none",
222     cmdline('test_special_group.sh', '$PREFIX_ABS/provision'))
223
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.gkdi")
238 planpythontestsuite("none", "samba.tests.ndr.gmsa")
239 planpythontestsuite("none", "samba.tests.ndr.wbint")
240
241 if with_pam:
242     env = "ad_member"
243     options = [
244         {
245             "description": "krb5",
246             "pam_options": "krb5_auth krb5_ccache_type=FILE:%s/krb5cc_pam_test_%%u" % (tempfile.gettempdir()),
247         },
248         {
249             "description": "default",
250             "pam_options": "",
251         },
252     ]
253     for o in options:
254         description = o["description"]
255         pam_options = "'%s'" % o["pam_options"]
256
257         plantestsuite("samba.tests.pam_winbind(local+%s)" % description, env,
258                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
259                        valgrindify(python), pam_wrapper_so_path,
260                        "$SERVER", "$USERNAME", "$PASSWORD",
261                        pam_options])
262         plantestsuite("samba.tests.pam_winbind(domain1+%s)" % description, env,
263                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
264                        valgrindify(python), pam_wrapper_so_path,
265                        "$DOMAIN", "$DC_USERNAME", "$DC_PASSWORD",
266                        pam_options])
267         plantestsuite("samba.tests.pam_winbind(domain2+%s)" % description, env,
268                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
269                        valgrindify(python), pam_wrapper_so_path,
270                        "$REALM", "$DC_USERNAME", "$DC_PASSWORD",
271                        pam_options])
272         plantestsuite("samba.tests.pam_winbind(domain3+%s)" % description, env,
273                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
274                        valgrindify(python), pam_wrapper_so_path,
275                        "''", "${DC_USERNAME}@${DOMAIN}", "$DC_PASSWORD",
276                        pam_options])
277         plantestsuite("samba.tests.pam_winbind(domain4+%s)" % description, env,
278                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
279                        valgrindify(python), pam_wrapper_so_path,
280                        "''", "${DC_USERNAME}@${REALM}", "$DC_PASSWORD",
281                        pam_options])
282         plantestsuite("samba.tests.pam_winbind(domain5+%s)" % description, env,
283                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
284                        valgrindify(python), pam_wrapper_so_path,
285                        "$REALM", "${DC_USERNAME}@${DOMAIN}", "$DC_PASSWORD",
286                        pam_options])
287         plantestsuite("samba.tests.pam_winbind(domain6+%s)" % description, env,
288                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
289                        valgrindify(python), pam_wrapper_so_path,
290                        "$DOMAIN", "${DC_USERNAME}@${REALM}", "$DC_PASSWORD",
291                        pam_options])
292         plantestsuite("samba.tests.pam_winbind(trust_f_both1+%s)" % description, env,
293                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
294                        valgrindify(python), pam_wrapper_so_path,
295                        "$TRUST_F_BOTH_DOMAIN",
296                        "$TRUST_F_BOTH_USERNAME",
297                        "$TRUST_F_BOTH_PASSWORD",
298                        pam_options])
299         plantestsuite("samba.tests.pam_winbind(trust_f_both2+%s)" % description, env,
300                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
301                        valgrindify(python), pam_wrapper_so_path,
302                        "$TRUST_F_BOTH_REALM",
303                        "$TRUST_F_BOTH_USERNAME",
304                        "$TRUST_F_BOTH_PASSWORD",
305                        pam_options])
306         plantestsuite("samba.tests.pam_winbind(trust_f_both3+%s)" % description, env,
307                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
308                        valgrindify(python), pam_wrapper_so_path,
309                        "''",
310                        "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_DOMAIN}",
311                        "$TRUST_F_BOTH_PASSWORD",
312                        pam_options])
313         plantestsuite("samba.tests.pam_winbind(trust_f_both4+%s)" % description, env,
314                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
315                        valgrindify(python), pam_wrapper_so_path,
316                        "''",
317                        "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_REALM}",
318                        "$TRUST_F_BOTH_PASSWORD",
319                        pam_options])
320         plantestsuite("samba.tests.pam_winbind(trust_f_both5+%s)" % description, env,
321                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
322                        valgrindify(python), pam_wrapper_so_path,
323                        "${TRUST_F_BOTH_REALM}",
324                        "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_DOMAIN}",
325                        "$TRUST_F_BOTH_PASSWORD",
326                        pam_options])
327         plantestsuite("samba.tests.pam_winbind(trust_f_both6+%s)" % description, env,
328                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
329                        valgrindify(python), pam_wrapper_so_path,
330                        "${TRUST_F_BOTH_DOMAIN}",
331                        "${TRUST_F_BOTH_USERNAME}@${TRUST_F_BOTH_REALM}",
332                        "$TRUST_F_BOTH_PASSWORD",
333                        pam_options])
334         plantestsuite("samba.tests.pam_winbind(trust_e_both1+%s)" % description, env,
335                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
336                        valgrindify(python), pam_wrapper_so_path,
337                        "$TRUST_E_BOTH_DOMAIN",
338                        "$TRUST_E_BOTH_USERNAME",
339                        "$TRUST_E_BOTH_PASSWORD",
340                        pam_options])
341         plantestsuite("samba.tests.pam_winbind(trust_e_both2+%s)" % description, env,
342                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
343                        valgrindify(python), pam_wrapper_so_path,
344                        "$TRUST_E_BOTH_REALM",
345                        "$TRUST_E_BOTH_USERNAME",
346                        "$TRUST_E_BOTH_PASSWORD",
347                        pam_options])
348         plantestsuite("samba.tests.pam_winbind(trust_e_both3+%s)" % description, env,
349                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
350                        valgrindify(python), pam_wrapper_so_path,
351                        "''",
352                        "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_DOMAIN}",
353                        "$TRUST_E_BOTH_PASSWORD",
354                        pam_options])
355         plantestsuite("samba.tests.pam_winbind(trust_e_both4+%s)" % description, env,
356                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
357                        valgrindify(python), pam_wrapper_so_path,
358                        "''",
359                        "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_REALM}",
360                        "$TRUST_E_BOTH_PASSWORD",
361                        pam_options])
362         plantestsuite("samba.tests.pam_winbind(trust_e_both5+%s)" % description, env,
363                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
364                        valgrindify(python), pam_wrapper_so_path,
365                        "${TRUST_E_BOTH_REALM}",
366                        "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_DOMAIN}",
367                        "$TRUST_E_BOTH_PASSWORD",
368                        pam_options])
369         plantestsuite("samba.tests.pam_winbind(trust_e_both6+%s)" % description, env,
370                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind.sh"),
371                        valgrindify(python), pam_wrapper_so_path,
372                        "${TRUST_E_BOTH_DOMAIN}",
373                        "${TRUST_E_BOTH_USERNAME}@${TRUST_E_BOTH_REALM}",
374                        "$TRUST_E_BOTH_PASSWORD",
375                        pam_options])
376
377         for authtok_options in ["", "use_authtok", "try_authtok"]:
378             _pam_options = "'%s %s'" % (o["pam_options"], authtok_options)
379             _description = "%s %s" % (description, authtok_options)
380             plantestsuite("samba.tests.pam_winbind_chauthtok(domain+%s)" % _description, env,
381                           [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_chauthtok.sh"),
382                            valgrindify(python), pam_wrapper_so_path, pam_set_items_so_path,
383                            "$DOMAIN", "TestPamOptionsUser", "oldp@ssword0", "newp@ssword0",
384                            _pam_options, 'yes',
385                            "$DC_SERVER", "$DC_USERNAME", "$DC_PASSWORD"])
386
387         plantestsuite("samba.tests.pam_winbind_warn_pwd_expire(domain+%s)" % description, env,
388                       [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_warn_pwd_expire.sh"),
389                        valgrindify(python), pam_wrapper_so_path,
390                        "$DOMAIN", "alice", "Secret007",
391                        pam_options])
392
393     description = "krb5"
394     pam_options = "'krb5_auth krb5_ccache_type=FILE:%s/krb5cc_pam_test_setcred_%%u'" % (tempfile.gettempdir())
395     plantestsuite("samba.tests.pam_winbind_setcred(domain+%s)" % description, "ad_dc:local",
396                   [os.path.join(srcdir(), "python/samba/tests/test_pam_winbind_setcred.sh"),
397                    valgrindify(python), pam_wrapper_so_path,
398                    "${DOMAIN}", "${DC_USERNAME}", "${DC_PASSWORD}",
399                    pam_options])
400
401
402 plantestsuite("samba.unittests.krb5samba", "none",
403               [os.path.join(bindir(), "default/testsuite/unittests/test_krb5samba")])
404 plantestsuite("samba.unittests.lib_util_modules", "none",
405               [os.path.join(bindir(), "default/testsuite/unittests/test_lib_util_modules")])
406 plantestsuite("samba.unittests.background_send",
407               "none",
408               [os.path.join(
409                   bindir(),
410                   "default/testsuite/unittests/test_background_send"),
411                "$SMB_CONF_PATH"])
412
413 plantestsuite("samba.unittests.smb1cli_session", "none",
414               [os.path.join(bindir(), "default/libcli/smb/test_smb1cli_session")])
415 plantestsuite("samba.unittests.smb_util_translate", "none",
416               [os.path.join(bindir(), "default/libcli/smb/test_util_translate")])
417
418 plantestsuite("samba.unittests.talloc_keep_secret", "none",
419               [os.path.join(bindir(), "default/lib/util/test_talloc_keep_secret")])
420
421 plantestsuite("samba.unittests.tldap", "none",
422               [os.path.join(bindir(), "default/source3/test_tldap")])
423 plantestsuite("samba.unittests.rfc1738", "none",
424               [os.path.join(bindir(), "default/lib/util/test_rfc1738")])
425 plantestsuite("samba.unittests.kerberos", "none",
426               [os.path.join(bindir(), "test_kerberos")])
427 plantestsuite("samba.unittests.ms_fnmatch", "none",
428               [os.path.join(bindir(), "default/lib/util/test_ms_fnmatch")])
429 plantestsuite("samba.unittests.byteorder", "none",
430               [os.path.join(bindir(), "default/lib/util/test_byteorder")])
431 plantestsuite("samba.unittests.bytearray", "none",
432               [os.path.join(bindir(), "default/lib/util/test_bytearray")])
433 plantestsuite("samba.unittests.byteorder_verify", "none",
434               [os.path.join(bindir(), "default/lib/util/test_byteorder_verify")])
435 plantestsuite("samba.unittests.util_paths", "none",
436               [os.path.join(bindir(), "default/lib/util/test_util_paths")])
437 plantestsuite("samba.unittests.util", "none",
438               [os.path.join(bindir(), "default/lib/util/test_util")])
439 plantestsuite("samba.unittests.memcache", "none",
440               [os.path.join(bindir(), "default/lib/util/test_memcache")])
441 plantestsuite("samba.unittests.sys_rw", "none",
442               [os.path.join(bindir(), "default/lib/util/test_sys_rw")])
443 plantestsuite("samba.unittests.stable_sort", "none",
444               [os.path.join(bindir(), "default/lib/util/test_stable_sort")])
445 plantestsuite("samba.unittests.ntlm_check", "none",
446               [os.path.join(bindir(), "default/libcli/auth/test_ntlm_check")])
447 plantestsuite("samba.unittests.gnutls", "none",
448               [os.path.join(bindir(), "default/libcli/auth/test_gnutls")])
449 plantestsuite("samba.unittests.rc4_passwd_buffer", "none",
450               [os.path.join(bindir(), "default/libcli/auth/test_rc4_passwd_buffer")])
451 plantestsuite("samba.unittests.schannel", "none",
452               [os.path.join(bindir(), "default/libcli/auth/test_schannel")])
453 plantestsuite("samba.unittests.test_registry_regfio", "none",
454               [os.path.join(bindir(), "default/source3/test_registry_regfio")])
455 plantestsuite("samba.unittests.test_oLschema2ldif", "none",
456               [os.path.join(bindir(), "default/source4/utils/oLschema2ldif/test_oLschema2ldif")])
457 plantestsuite("samba.unittests.auth.sam", "none",
458               [os.path.join(bindir(), "test_auth_sam")])
459 if have_heimdal_support and not using_system_gssapi:
460     plantestsuite("samba.unittests.auth.heimdal_gensec_unwrap_des", "none",
461                   [valgrindify(os.path.join(bindir(), "test_heimdal_gensec_unwrap_des"))])
462 plantestsuite("samba.unittests.test_wsp_parser", "none",
463               [os.path.join(bindir(), "default/libcli/wsp/test_wsp_parser")] + [configuration])
464 if with_elasticsearch_backend:
465     plantestsuite("samba.unittests.mdsparser_es", "none",
466                   [os.path.join(bindir(), "default/source3/test_mdsparser_es")] + [configuration])
467     plantestsuite("samba.unittests.mdsparser_es_failures", "none",
468                   [os.path.join(bindir(), "default/source3/test_mdsparser_es"),
469                   " --option=elasticsearch:testmappingfailures=yes",
470                   " --option=elasticsearch:ignoreunknownattribute=yes",
471                   " --option=elasticsearch:ignoreunknowntype=yes"] +
472                   [configuration])
473 plantestsuite("samba.unittests.credentials", "none",
474               [os.path.join(bindir(), "default/auth/credentials/test_creds")])
475 plantestsuite("samba.unittests.tsocket_bsd_addr", "none",
476               [os.path.join(bindir(), "default/lib/tsocket/test_tsocket_bsd_addr")])
477 if ("HAVE_TCP_USER_TIMEOUT" in config_hash):
478     plantestsuite("samba.unittests.tsocket_tstream", "none",
479                   [os.path.join(bindir(), "default/lib/tsocket/test_tstream")],
480                   environ={'SOCKET_WRAPPER_DIR': ''})
481 plantestsuite("samba.unittests.adouble", "none",
482               [os.path.join(bindir(), "test_adouble")])
483 plantestsuite("samba.unittests.gnutls_aead_aes_256_cbc_hmac_sha512", "none",
484               [os.path.join(bindir(), "test_gnutls_aead_aes_256_cbc_hmac_sha512")])
485 plantestsuite("samba.unittests.gnutls_sp800_108", "none",
486               [os.path.join(bindir(), "test_gnutls_sp800_108")])
487 plantestsuite("samba.unittests.gkdi_key_derivation", "none",
488               [os.path.join(bindir(), "test_gkdi_key_derivation")])
489 plantestsuite("samba.unittests.encode_decode", "none",
490               [os.path.join(bindir(), "test_encode_decode")])
491
492 plantestsuite("samba.unittests.compression.lzxpress_huffman", "none",
493               [os.path.join(bindir(), "default/lib/compression/test_lzx_huffman")])
494 plantestsuite("samba.unittests.compression.lzxpress_plain", "none",
495               [os.path.join(bindir(),
496                             "default/lib/compression/test_lzxpress_plain")])
497
498 plantestsuite("samba.unittests.sddl_conditional_ace", "none",
499               [os.path.join(bindir(), "test_sddl_conditional_ace")])
500 plantestsuite("samba.unittests.run_conditional_ace", "none",
501               [os.path.join(bindir(), "test_run_conditional_ace")])
502 plantestsuite("samba.unittests.claim_conversion", "none",
503               [os.path.join(bindir(), "test_claim_conversion")])