mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-09-05 15:38:44 +02:00
Meson: build and install remaining tests
This commit is contained in:
@@ -1,16 +1,3 @@
|
||||
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',
|
||||
@@ -39,41 +26,74 @@ testmarshal_c = custom_target('testmarshal_c',
|
||||
],
|
||||
)
|
||||
|
||||
gobject_tests += [
|
||||
['accumulator', ['accumulator.c', testmarshal_c, testmarshal_h]],
|
||||
]
|
||||
gobject_tests = {
|
||||
'gvalue-test' : {},
|
||||
'paramspec-test' : {},
|
||||
'deftype' : {},
|
||||
'defaultiface' : {
|
||||
'extra_sources' : ['testmodule.c'],
|
||||
},
|
||||
'dynamictype' : {
|
||||
'extra_sources' : ['testmodule.c'],
|
||||
},
|
||||
'override' : {},
|
||||
'signals' : {},
|
||||
'singleton' : {},
|
||||
'references' : {},
|
||||
'testgobject' : {},
|
||||
'accumulator' : {
|
||||
'extra_sources' : [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']
|
||||
common_c_args = test_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS']
|
||||
common_deps = [libm, thread_dep, libglib_dep, libgobject_dep]
|
||||
|
||||
foreach test_name, extra_args : gobject_tests
|
||||
source = extra_args.get('source', test_name + '.c')
|
||||
extra_sources = extra_args.get('extra_sources', [])
|
||||
install = installed_tests_enabled and extra_args.get('install', true)
|
||||
|
||||
if install
|
||||
test_conf = configuration_data()
|
||||
test_conf.set('installed_tests_dir', installed_tests_execdir)
|
||||
test_conf.set('program', test_name)
|
||||
configure_file(
|
||||
input: installed_tests_template,
|
||||
output: test_name + '.test',
|
||||
install_dir: installed_tests_metadir,
|
||||
configuration: test_conf
|
||||
)
|
||||
endif
|
||||
|
||||
# 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,
|
||||
exe = executable(test_name, [source, extra_sources],
|
||||
c_args : common_c_args + extra_args.get('c_args', []),
|
||||
dependencies : common_deps + extra_args.get('dependencies', []),
|
||||
install_dir: installed_tests_execdir,
|
||||
install: install,
|
||||
)
|
||||
|
||||
suite = ['gobject'] + extra_args.get('suite', [])
|
||||
timeout = suite.contains('slow') ? 120 : 30
|
||||
# FIXME? TESTS_ENVIRONMENT = LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset
|
||||
test(test_name, exe, env : test_env, timeout : test_timeout, suite : test_suite)
|
||||
test(test_name, exe, env : test_env, timeout : timeout, suite : 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],
|
||||
c_args : common_c_args,
|
||||
dependencies : common_deps,
|
||||
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],
|
||||
c_args : common_c_args,
|
||||
dependencies : common_deps,
|
||||
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],
|
||||
c_args : common_c_args,
|
||||
dependencies : common_deps,
|
||||
install : false)
|
||||
endif
|
||||
|
Reference in New Issue
Block a user