diff options
Diffstat (limited to 'gobject/tests/performance/meson.build')
-rw-r--r-- | gobject/tests/performance/meson.build | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/gobject/tests/performance/meson.build b/gobject/tests/performance/meson.build new file mode 100644 index 000000000..2984a6c28 --- /dev/null +++ b/gobject/tests/performance/meson.build @@ -0,0 +1,53 @@ +gobject_tests = { + 'performance' : { 'args' : [ '--seconds', '0' ] }, + 'performance-threaded' : { 'args' : [ '--seconds', '0' ] }, +} + +test_env = environment() +test_env.set('G_TEST_SRCDIR', meson.current_source_dir()) +test_env.set('G_TEST_BUILDDIR', meson.current_build_dir()) + +test_deps = [libm, thread_dep, libglib_dep, libgobject_dep] +test_cargs = ['-DG_LOG_DOMAIN="GLib-GObject"', '-UG_DISABLE_ASSERT'] + +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', '@0@ --seconds 1'.format(test_name)) + test_conf.set('env', '') + configure_file( + input: installed_tests_template, + output: test_name + '.test', + install_dir: installed_tests_metadir, + install_tag: 'tests', + 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_tag: 'tests', + install: install, + ) + + suite = ['gobject', 'performance', 'no-valgrind'] + extra_args.get('suite', []) + timeout = suite.contains('slow') ? test_timeout_slow : test_timeout + args = extra_args.get('args', []) + + if extra_args.get('can_fail', false) + suite += 'failing' + endif + + test(test_name, exe, + env : test_env, + timeout : timeout, + suite : suite, + args : args, + ) +endforeach |