libcli/wsp: Test AQS parser
[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")
238
239 if with_pam:
240     env = "ad_member"
241     options = [
242         {
243             "description": "krb5",
244             "pam_options": "krb5_auth krb5_ccache_type=FILE:%s/krb5cc_pam_test_%%u" % (tempfile.gettempdir()),
245         },
246         {
247             "description": "default",
248             "pam_options": "",
249         },
250     ]
251     for o in options:
252         description = o["description"]
253         pam_options = "'%s'" % o["pam_options"]
254
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])
374
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"])
384
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])
390
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])
398
399
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"])
410
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")])
415
416 plantestsuite("samba.unittests.talloc_keep_secret", "none",
417               [os.path.join(bindir(), "default/lib/util/test_talloc_keep_secret")])
418
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")])
485
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")])
491
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")])