Increase the timeout for some GLib tests
[glib.git] / glib / tests / meson.build
blob5ff8851702ca98a5170dd24c9055e9b64a3759d9
1 glib_tests = [
2   'array-test',
3   'asyncqueue',
4   'base64',
5   'bitlock',
6   'bookmarkfile',
7   'bytes',
8   'cache',
9   'checksum',
10   'collate',
11   'cond',
12   'convert',
13   'dataset',
14   'date',
15   'dir',
16   'environment',
17   'error',
18   'fileutils',
19   'gdatetime',
20   'gvariant',
21   'hash',
22   'hmac',
23   'hook',
24   'hostutils',
25   'keyfile',
26   'list',
27   'logging',
28   'mainloop',
29   'mappedfile',
30   'markup',
31   'markup-parse',
32   'markup-collect',
33   'markup-escape',
34   'markup-subparser',
35   'mem-overflow',
36   'mutex',
37   'node',
38   'once',
39   'option-context',
40   'option-argv0',
41   'overflow',
42   # overflow-fallback handled separately below
43   'pattern',
44   'private',
45   'protocol',
46   'queue',
47   'rand',
48   'rec-mutex',
49   'regex',
50   'rwlock',
51   'scannerapi',
52   'search-utils',
53   'sequence',
54   'shell',
55   'slice',
56   'slist',
57   'sort',
58   'spawn-multithreaded',
59   'spawn-singlethread',
60   'strfuncs',
61   'string',
62   'testing',
63   'test-printf',
64   'thread',
65   'timeout',
66   'timer',
67   'tree',
68   'utf8-performance',
69   'utf8-pointer',
70   'utf8-validate',
71   'utf8-misc',
72   'utils',
73   'unicode',
74   'uri',
75   '1bit-mutex',
76   '642026',
79 if host_machine.system() != 'windows'
80   glib_tests += [ 'unix', 'include' ]
81 endif
83 if cc.get_id() != 'msvc'
84   glib_tests += [ 'autoptr' ]
85 endif
87 # FIXME: use new environment() object
88 # Not entirely random of course, but at least it changes over time
89 random_number = minor_version + meson.version().split('.').get(1).to_int()
91 test_env = [
92   'G_TEST_SRCDIR=' + meson.current_source_dir(),
93   'G_TEST_BUILDDIR=' + meson.current_build_dir(),
94   'G_DEBUG=gc-friendly',
95   'MALLOC_CHECK_=2',
96   'MALLOC_PERTURB_=@0@'.format(random_number % 256),
99 test_cargs = ['-DHAVE_CONFIG_H=1', '-DG_LOG_DOMAIN="GLib"']
101 # Tests that consistently time out on the CI infrastructure
102 slow_tests = [
103   'gvariant',
104   'sequence',
105   '642026',
108 foreach test_name : glib_tests
109   deps = [libm, thread_dep, libglib_dep]
110   if test_name == 'regex'
111     deps += [pcre]
112   endif
113   exe = executable(test_name, '@0@.c'.format(test_name),
114     c_args : ['-DPCRE_STATIC'] + test_cargs,
115     dependencies : deps,
116     install : false,
117   )
118   # These tests may take more than 30 seconds to run on the CI infrastructure
119   if slow_tests.contains(test_name)
120     test(test_name, exe, env : test_env, timeout : 90)
121   else
122     test(test_name, exe, env : test_env)
123   endif
124 endforeach
126 c_args_atomic = []
127 if cc.get_id() == 'gcc'
128   c_args_atomic += ['-Wstrict-aliasing=2']
129 endif
131 deps = [libm, thread_dep, libglib_dep]
133 exe = executable('atomic', 'atomic.c',
134   c_args : test_cargs + c_args_atomic,
135   dependencies : deps,
137 test('atomic', exe, env : test_env)
139 # FIXME: consolidate all of these into the array
140 exe = executable('overflow-fallback', 'overflow.c',
141   c_args : test_cargs + ['-D_GLIB_TEST_OVERFLOW_FALLBACK'],
142   dependencies : deps,
143   install : false,
145 test('overflow-fallback', exe, env : test_env)
147 exe = executable('642026-ec', '642026.c',
148   c_args : test_cargs + ['-DG_ERRORCHECK_MUTEXES'],
149   dependencies : deps,
150   install : false,
152 test('642026-ec', exe, env : test_env, timeout : 45)
154 exe = executable('1bit-emufutex', '1bit-mutex.c',
155   c_args : test_cargs + ['-DTEST_EMULATED_FUTEX'],
156   dependencies : deps,
157   install : false,
159 test('1bit-emufutex', exe, env : test_env)
161 exe = executable('gwakeup', 'gwakeuptest.c', '../gwakeup.c',
162   c_args : test_cargs,
163   dependencies : deps,
164   install : false)
165 test('gwakeup', exe, env : test_env)
167 if glib_conf.has('HAVE_EVENTFD')
168   exe = executable('gwakeup-fallback', 'gwakeuptest.c', '../gwakeup.c',
169     c_args : test_cargs + ['-DTEST_EVENTFD_FALLBACK'],
170     dependencies : deps,
171     install : false,
172   )
173   test('gwakeup-fallback', exe, env : test_env)
174 endif
176 # test-spawn-echo helper binary required by the spawn tests above
177 executable('test-spawn-echo', 'test-spawn-echo.c',
178   c_args : test_cargs,
179   dependencies : deps,
180   install : false,
183 # some testing of gtester functionality
184 if not meson.is_cross_build() and host_system != 'windows'
185   xmllint = find_program('xmllint', required: false)
186   if xmllint.found()
187     tmpsample_xml = custom_target('tmpsample.xml',
188       output : 'tmpsample.xml',
189       build_by_default : true, # hack around meson bug, see PR #1335
190       command : [ gtester, '-k', '--quiet', '-o', '@OUTPUT@',
191                   '--test-arg=--gtester-selftest', gtester])
193     test('gtester-xmllint-check', xmllint,
194       args : ['--noout', tmpsample_xml],
195       env : test_env)
196   endif
197 endif