Meson: Remove hack that got fixed a while ago
[glib.git] / glib / tests / meson.build
blobebce3c6b15ec3efc25e1ec6b7be9506d0bae37d1
1 glib_tests = [
2   'array-test',
3   'asyncqueue',
4   'base64',
5   'bitlock',
6   'bookmarkfile',
7   'bytes',
8   'cache',
9   'charset',
10   'checksum',
11   'collate',
12   'cond',
13   'convert',
14   'dataset',
15   'date',
16   'dir',
17   'environment',
18   'error',
19   'fileutils',
20   'gdatetime',
21   'guuid',
22   'gvariant',
23   'hash',
24   'hmac',
25   'hook',
26   'hostutils',
27   'keyfile',
28   'list',
29   'logging',
30   'mainloop',
31   'mappedfile',
32   'markup',
33   'markup-parse',
34   'markup-collect',
35   'markup-escape',
36   'markup-subparser',
37   'mem-overflow',
38   'mutex',
39   'node',
40   'once',
41   'option-context',
42   'option-argv0',
43   'overflow',
44   # overflow-fallback handled separately below
45   'pattern',
46   'private',
47   'protocol',
48   'queue',
49   'rand',
50   'rcbox',
51   'rec-mutex',
52   'refcount',
53   'refcount-macro',
54   'refstring',
55   'regex',
56   'rwlock',
57   'scannerapi',
58   'search-utils',
59   'sequence',
60   'shell',
61   'slice',
62   'slist',
63   'sort',
64   'spawn-multithreaded',
65   'spawn-singlethread',
66   'strfuncs',
67   'string',
68   'testing',
69   'test-printf',
70   'thread',
71   'timeout',
72   'timer',
73   'tree',
74   'utf8-performance',
75   'utf8-pointer',
76   'utf8-validate',
77   'utf8-misc',
78   'utils',
79   'unicode',
80   'uri',
81   '1bit-mutex',
82   '642026',
85 if host_machine.system() != 'windows'
86   glib_tests += [ 'unix', 'include' ]
87 endif
89 if cc.get_id() != 'msvc'
90   glib_tests += [ 'autoptr' ]
91 endif
93 # Not entirely random of course, but at least it changes over time
94 random_number = minor_version + meson.version().split('.').get(1).to_int()
96 test_env = environment()
97 test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
98 test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
99 test_env.set('G_DEBUG', 'gc-friendly')
100 test_env.set('MALLOC_CHECK_', '2')
101 test_env.set('MALLOC_PERTURB_', '@0@'.format(random_number % 256))
103 test_cargs = ['-DG_LOG_DOMAIN="GLib"']
105 # Tests that consistently time out on the CI infrastructure
106 slow_tests = [
107   'gvariant',
108   'sequence',
109   '642026',
112 foreach test_name : glib_tests
113   deps = [libm, thread_dep, libglib_dep]
114   source = test_name + '.c'
115   c_args = test_cargs + ['-DPCRE_STATIC']
116   if test_name == 'regex'
117     deps += [pcre]
118   endif
119   if test_name == 'gdatetime'
120     deps += [libintl]
121   endif
122   # We build the refcount test twice: one to test the function-based API,
123   # and the other to test the macro-based API that is used when disabling
124   # checks
125   if test_name == 'refcount-macro'
126     source = 'refcount.c'
127     c_args += ['-DG_DISABLE_CHECKS']
128   endif
129   exe = executable(test_name, source,
130     c_args : c_args,
131     dependencies : deps,
132     install : false,
133   )
134   # These tests may take more than 30 seconds to run on the CI infrastructure
135   if slow_tests.contains(test_name)
136     test(test_name, exe, env : test_env, timeout : 120, suite : ['glib', 'slow'])
137   else
138     test(test_name, exe, env : test_env, suite : ['glib'])
139   endif
140 endforeach
142 c_args_atomic = []
143 if cc.get_id() == 'gcc'
144   c_args_atomic += ['-Wstrict-aliasing=2']
145 endif
147 deps = [libm, thread_dep, libglib_dep]
149 exe = executable('atomic', 'atomic.c',
150   c_args : test_cargs + c_args_atomic,
151   dependencies : deps,
153 test('atomic', exe, env : test_env, suite : ['glib'])
155 # FIXME: consolidate all of these into the array
156 exe = executable('overflow-fallback', 'overflow.c',
157   c_args : test_cargs + ['-D_GLIB_TEST_OVERFLOW_FALLBACK'],
158   dependencies : deps,
159   install : false,
161 test('overflow-fallback', exe, env : test_env, suite : ['glib'])
163 exe = executable('642026-ec', '642026.c',
164   c_args : test_cargs + ['-DG_ERRORCHECK_MUTEXES'],
165   dependencies : deps,
166   install : false,
168 test('642026-ec', exe, env : test_env, timeout : 90, suite : ['glib', 'slow'])
170 exe = executable('1bit-emufutex', '1bit-mutex.c',
171   c_args : test_cargs + ['-DTEST_EMULATED_FUTEX'],
172   dependencies : deps,
173   install : false,
175 test('1bit-emufutex', exe, env : test_env, suite : ['glib'])
177 exe = executable('gwakeup', 'gwakeuptest.c', '../gwakeup.c',
178   c_args : test_cargs,
179   dependencies : deps,
180   install : false)
181 test('gwakeup', exe, env : test_env, suite : ['glib'])
183 if glib_conf.has('HAVE_EVENTFD')
184   exe = executable('gwakeup-fallback', 'gwakeuptest.c', '../gwakeup.c',
185     c_args : test_cargs + ['-DTEST_EVENTFD_FALLBACK'],
186     dependencies : deps,
187     install : false,
188   )
189   test('gwakeup-fallback', exe, env : test_env, suite : ['glib'])
190 endif
192 # test-spawn-echo helper binary required by the spawn tests above
193 executable('test-spawn-echo', 'test-spawn-echo.c',
194   c_args : test_cargs,
195   dependencies : deps,
196   install : false,
199 # some testing of gtester functionality
200 if not meson.is_cross_build() and host_system != 'windows'
201   xmllint = find_program('xmllint', required: false)
202   if xmllint.found()
203     tmpsample_xml = custom_target('tmpsample.xml',
204       output : 'tmpsample.xml',
205       command : [ gtester, '-k', '--quiet', '-o', '@OUTPUT@',
206                   '--test-arg=--gtester-selftest', gtester])
208     test('gtester-xmllint-check', xmllint,
209       args : ['--noout', tmpsample_xml],
210       env : test_env,
211       suite : ['glib'],
212     )
213   endif
214 endif