| # 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 = { |
| 'gvalue-test' : {'tap' : true}, |
| 'paramspec-test' : {'tap' : true}, |
| 'deftype' : {}, |
| 'defaultiface' : { |
| 'extra_sources' : ['testmodule.c'], |
| }, |
| 'dynamictype' : { |
| 'extra_sources' : ['testmodule.c'], |
| }, |
| 'override' : {}, |
| 'signals' : {}, |
| 'singleton' : {}, |
| 'references' : {}, |
| 'testgobject' : {}, |
| 'accumulator' : { |
| 'extra_sources' : [testmarshal_c, testmarshal_h], |
| }, |
| } |
| |
| if host_system != 'windows' |
| gobject_tests += { |
| 'timeloop-closure' : {}, |
| } |
| endif |
| |
| 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) |
| template = extra_args.get('tap', false) ? installed_tests_template_tap : installed_tests_template |
| |
| if install |
| test_conf = configuration_data() |
| test_conf.set('installed_tests_dir', installed_tests_execdir) |
| test_conf.set('program', test_name) |
| test_conf.set('env', '') |
| configure_file( |
| input: template, |
| output: test_name + '.test', |
| install_dir: installed_tests_metadir, |
| configuration: test_conf |
| ) |
| endif |
| |
| # FIXME? $(GLIB_DEBUG_FLAGS) |
| 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') ? test_timeout_slow : test_timeout |
| # FIXME? TESTS_ENVIRONMENT = LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset |
| 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 : common_c_args, |
| dependencies : common_deps, |
| install : false) |
| |
| executable('performance-threaded', 'performance-threaded.c', |
| c_args : common_c_args, |
| dependencies : common_deps, |
| install : false) |