mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-27 07:56:14 +01:00
065a8a488a
We need to build them out of the project version, and then propagate them.
70 lines
1.9 KiB
Meson
70 lines
1.9 KiB
Meson
gobject_tests = [
|
|
'qdata',
|
|
'boxed',
|
|
'enums',
|
|
'param',
|
|
'threadtests',
|
|
'dynamictests',
|
|
'binding',
|
|
'properties',
|
|
'reference',
|
|
'value',
|
|
'type',
|
|
'private',
|
|
'closure',
|
|
'object',
|
|
'signal-handler',
|
|
'ifaceproperties',
|
|
]
|
|
|
|
# FIXME: use new environment() object
|
|
# FIXME: put common bits of test environment() in one location
|
|
# Not entirely random of course, but at least it changes over time
|
|
random_number = minor_version + meson.version().split('.').get(1).to_int()
|
|
|
|
test_env = [
|
|
'G_TEST_SRCDIR=' + meson.current_source_dir(),
|
|
'G_TEST_BUILDDIR=' + meson.current_build_dir(),
|
|
'G_DEBUG=gc-friendly',
|
|
'MALLOC_CHECK_=2',
|
|
'MALLOC_PERTURB_=@0@'.format(random_number % 256),
|
|
]
|
|
|
|
foreach test_name : gobject_tests
|
|
deps = [libm, thread_dep, libglib_dep, libgobject_dep]
|
|
test_src = '@0@.c'.format(test_name)
|
|
# private is an existing or reserved target it seems
|
|
if test_name == 'private'
|
|
test_name = 'gobject-private'
|
|
endif
|
|
exe = executable(test_name, test_src,
|
|
c_args : ['-DHAVE_CONFIG_H=1', '-DG_LOG_DOMAIN="GLib-GObject"'],
|
|
dependencies : deps,
|
|
)
|
|
test(test_name, exe, env : test_env)
|
|
endforeach
|
|
|
|
# The marshalers test requires running a binary, so we cannot build it when
|
|
# cross-compiling
|
|
if not meson.has_exe_wrapper()
|
|
genmarshal = find_program('gobject_test_marshal.py')
|
|
|
|
marshalers_h = custom_target('marshalers_h',
|
|
output : 'marshalers.h',
|
|
input : 'marshalers.list',
|
|
command : [genmarshal, glib_genmarshal, '@INPUT@', '@OUTPUT@'],
|
|
)
|
|
marshalers_c = custom_target('marshalers_c',
|
|
output : 'marshalers.c',
|
|
input : 'marshalers.list',
|
|
command : [genmarshal, glib_genmarshal, '@INPUT@', '@OUTPUT@'],
|
|
)
|
|
|
|
exe = executable('signals',
|
|
'signals.c', marshalers_h, marshalers_c,
|
|
c_args : ['-DHAVE_CONFIG_H=1', '-DG_LOG_DOMAIN="GLib-GObject"'],
|
|
dependencies : deps,
|
|
)
|
|
test('signals', exe, env : test_env)
|
|
endif
|