[glib: 1/3] Meson: install gobject tests
- From: Xavier Claessens <xclaesse src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 1/3] Meson: install gobject tests
- Date: Thu, 16 Aug 2018 20:04:17 +0000 (UTC)
commit 44228dbc3c804863a1c23da9ccc26462a5da26b6
Author: Xavier Claessens <xavier claessens collabora com>
Date: Wed Aug 15 09:45:06 2018 -0400
Meson: install gobject tests
gobject/tests/meson.build | 115 ++++++++++++++++++++++++++--------------------
1 file changed, 65 insertions(+), 50 deletions(-)
---
diff --git a/gobject/tests/meson.build b/gobject/tests/meson.build
index 88515006c..cc83c5f46 100644
--- a/gobject/tests/meson.build
+++ b/gobject/tests/meson.build
@@ -1,47 +1,3 @@
-gobject_tests = [
- 'qdata',
- 'boxed',
- 'enums',
- 'param',
- 'threadtests',
- 'dynamictests',
- 'binding',
- 'properties',
- 'reference',
- 'value',
- 'type',
- 'private',
- 'closure',
- 'object',
- 'signal-handler',
- 'ifaceproperties',
-]
-
-# 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 = environment()
-test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
-test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
-test_env.set('G_DEBUG', 'gc-friendly')
-test_env.set('MALLOC_CHECK_', '2')
-test_env.set('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 : ['-DG_LOG_DOMAIN="GLib-GObject"'],
- dependencies : deps,
- )
- test(test_name, exe, env : test_env, suite : ['gobject'])
-endforeach
-
marshalers_h = custom_target('marshalers_h',
output : 'marshalers.h',
input : 'marshalers.list',
@@ -70,12 +26,71 @@ marshalers_c = custom_target('marshalers_c',
],
)
-exe = executable('signals',
- 'signals.c', marshalers_h, marshalers_c,
- c_args : ['-DG_LOG_DOMAIN="GLib-GObject"'],
- dependencies : deps,
-)
-test('signals', exe, env : test_env, suite : ['gobject'])
+gobject_tests = {
+ 'qdata' : {},
+ 'boxed' : {},
+ 'enums' : {},
+ 'param' : {},
+ 'threadtests' : {},
+ 'dynamictests' : {},
+ 'binding' : {},
+ 'properties' : {},
+ 'reference' : {},
+ 'value' : {},
+ 'type' : {},
+ 'gobject-private' : {
+ 'source' : 'private.c',
+ },
+ 'closure' : {},
+ 'object' : {},
+ 'signal-handler' : {},
+ 'ifaceproperties' : {},
+ 'signals' : {
+ 'source' : ['signals.c', marshalers_h, marshalers_c],
+ },
+}
+
+# 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 = environment()
+test_env.set('G_TEST_SRCDIR', meson.current_source_dir())
+test_env.set('G_TEST_BUILDDIR', meson.current_build_dir())
+test_env.set('G_DEBUG', 'gc-friendly')
+test_env.set('MALLOC_CHECK_', '2')
+test_env.set('MALLOC_PERTURB_', '@0@'.format(random_number % 256))
+
+test_deps = [libm, thread_dep, libglib_dep, libgobject_dep]
+test_cargs = ['-DG_LOG_DOMAIN="GLib-GObject"']
+
+foreach test_name, extra_args : gobject_tests
+ source = extra_args.get('source', test_name + '.c')
+ 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
+
+ exe = executable(test_name, source,
+ c_args : test_cargs + extra_args.get('c_args', []),
+ dependencies : test_deps + extra_args.get('dependencies', []),
+ install_dir: installed_tests_execdir,
+ install: install,
+ )
+
+ suite = ['gobject'] + extra_args.get('suite', [])
+ timeout = suite.contains('slow') ? 120 : 30
+ test(test_name, exe, env : test_env, timeout : timeout, suite : suite)
+endforeach
test(
'mkenums.py',
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]