mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-26 15:36:14 +01:00
16d1a3d28c
Meson has the ability to classify tests according to "suites", a list of tags. This is especially useful when we want to run specific sets of tests — e.g. only GLib's tests — instead of the whole test suite. It also allows us to classify special tests, like "slow" ones, so that we can only run them when needed.
80 lines
2.4 KiB
Meson
80 lines
2.4 KiB
Meson
gobject_tests = [
|
|
['gvalue-test'],
|
|
['paramspec-test'],
|
|
['deftype'],
|
|
['defaultiface', ['defaultiface.c', 'testmodule.c']],
|
|
['dynamictype', ['dynamictype.c', 'testmodule.c']],
|
|
['override'],
|
|
['signals'],
|
|
['singleton'],
|
|
['references'],
|
|
['testgobject'],
|
|
]
|
|
|
|
# We cannot use gnome.genmarshal() here
|
|
testmarshal_h = custom_target('testmarshal_h',
|
|
output : 'testmarshal.h',
|
|
input : 'testmarshal.list',
|
|
command : [
|
|
python, glib_genmarshal,
|
|
'--prefix=test_marshal',
|
|
'--output=@OUTPUT@',
|
|
'--quiet',
|
|
'--header',
|
|
'@INPUT@',
|
|
],
|
|
)
|
|
|
|
testmarshal_c = custom_target('testmarshal_c',
|
|
output : 'testmarshal.c',
|
|
input : 'testmarshal.list',
|
|
command : [
|
|
python, glib_genmarshal,
|
|
'--prefix=test_marshal',
|
|
'--include-header=testmarshal.h',
|
|
'--output=@OUTPUT@',
|
|
'--quiet',
|
|
'--body',
|
|
'@INPUT@',
|
|
],
|
|
)
|
|
|
|
gobject_tests += [
|
|
['accumulator', ['accumulator.c', testmarshal_c, testmarshal_h]],
|
|
]
|
|
|
|
foreach t : gobject_tests
|
|
test_name = t.get(0)
|
|
test_src = t.get(1, test_name + '.c')
|
|
test_extra_cargs = t.get(2, [])
|
|
test_timeout = t.get(3, 30)
|
|
test_suite = test_timeout == 30 ? ['gobject'] : ['gobject', 'slow']
|
|
|
|
# FIXME? $(GLIB_DEBUG_FLAGS)
|
|
exe = executable(test_name + '-gobject', test_src,
|
|
c_args : test_cargs + test_extra_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS'],
|
|
dependencies : [libm, thread_dep, libglib_dep, libgobject_dep],
|
|
install : false,
|
|
)
|
|
# FIXME? TESTS_ENVIRONMENT = LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
|
|
test(test_name, exe, env : test_env, timeout : test_timeout, suite : test_suite)
|
|
endforeach
|
|
|
|
# Don't install these ones, and keep them out of 'make check' because they take too long...
|
|
executable('performance', 'performance.c',
|
|
c_args : test_cargs + test_extra_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS'],
|
|
dependencies : [libm, thread_dep, libglib_dep, libgobject_dep],
|
|
install : false)
|
|
|
|
executable('performance-threaded', 'performance-threaded.c',
|
|
c_args : test_cargs + test_extra_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS'],
|
|
dependencies : [libm, thread_dep, libglib_dep, libgobject_dep],
|
|
install : false)
|
|
|
|
if host_system != 'windows' and host_system != 'minix'
|
|
executable('timeloop-closure', 'timeloop-closure.c',
|
|
c_args : test_cargs + test_extra_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS'],
|
|
dependencies : [libm, thread_dep, libglib_dep, libgobject_dep],
|
|
install : false)
|
|
endif
|