From c71d0c53b5e5f10501e03a16e1db347e46cad09a Mon Sep 17 00:00:00 2001 From: Emmanuel Fleury Date: Mon, 16 May 2022 19:03:29 +0200 Subject: [PATCH] Move tests/module-test.c to gmodules/tests/ Helps issue #1434 --- .../tests}/libmoduletestplugin_a.c | 6 +-- .../tests}/libmoduletestplugin_b.c | 5 +-- gmodule/tests/meson.build | 33 +++++++++++++++++ {tests => gmodule/tests}/module-test.c | 2 +- tests/meson.build | 37 +------------------ 5 files changed, 37 insertions(+), 46 deletions(-) rename {tests => gmodule/tests}/libmoduletestplugin_a.c (94%) rename {tests => gmodule/tests}/libmoduletestplugin_b.c (95%) rename {tests => gmodule/tests}/module-test.c (99%) diff --git a/tests/libmoduletestplugin_a.c b/gmodule/tests/libmoduletestplugin_a.c similarity index 94% rename from tests/libmoduletestplugin_a.c rename to gmodule/tests/libmoduletestplugin_a.c index 56bd52904..cb65f1ce1 100644 --- a/tests/libmoduletestplugin_a.c +++ b/gmodule/tests/libmoduletestplugin_a.c @@ -19,14 +19,10 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -#undef G_DISABLE_ASSERT -#undef G_LOG_DOMAIN - #include -#include G_MODULE_EXPORT void gplugin_a_func (void); G_MODULE_EXPORT void gplugin_clash_func (void); diff --git a/tests/libmoduletestplugin_b.c b/gmodule/tests/libmoduletestplugin_b.c similarity index 95% rename from tests/libmoduletestplugin_b.c rename to gmodule/tests/libmoduletestplugin_b.c index e147dd24e..aee241bcf 100644 --- a/tests/libmoduletestplugin_b.c +++ b/gmodule/tests/libmoduletestplugin_b.c @@ -19,12 +19,9 @@ * Modified by the GLib Team and others 1997-2000. See the AUTHORS * file for a list of people on the GLib Team. See the ChangeLog * files for a list of changes. These files are distributed with - * GLib at ftp://ftp.gtk.org/pub/gtk/. + * GLib at ftp://ftp.gtk.org/pub/gtk/. */ -#undef G_DISABLE_ASSERT -#undef G_LOG_DOMAIN - #include G_MODULE_EXPORT gchar* gplugin_b_state; diff --git a/gmodule/tests/meson.build b/gmodule/tests/meson.build index 9b475a88e..1650fe5e0 100644 --- a/gmodule/tests/meson.build +++ b/gmodule/tests/meson.build @@ -2,8 +2,40 @@ gmodule_tests = { 'cxx' : { 'source' : ['cxx.cpp'], }, + 'module-test-library' : { + 'export_dynamic' : true, + 'source': 'module-test.c', + 'c_args': ['-DMODULE_TYPE="library"'], + }, + 'module-test-plugin' : { + 'export_dynamic' : true, + 'source': 'module-test.c', + 'c_args': ['-DMODULE_TYPE="plugin"'], + }, } +module_suffix = [] +# Keep the autotools convention for shared module suffix because GModule +# depends on it: https://gitlab.gnome.org/GNOME/glib/issues/520 +if ['darwin', 'ios'].contains(host_machine.system()) + module_suffix = 'so' +endif + +foreach module : ['moduletestplugin_a', 'moduletestplugin_b'] + shared_module(module + '_plugin', 'lib@0@.c'.format(module), + dependencies : [libglib_dep, libgmodule_dep], + install_dir : installed_tests_execdir, + install : installed_tests_enabled, + name_suffix : module_suffix + ) + shared_library(module + '_library', 'lib@0@.c'.format(module), + dependencies : [libglib_dep, libgmodule_dep], + install_dir : installed_tests_execdir, + install : installed_tests_enabled, + name_suffix : module_suffix + ) +endforeach + test_env = environment() test_env.set('G_TEST_SRCDIR', meson.current_source_dir()) test_env.set('G_TEST_BUILDDIR', meson.current_build_dir()) @@ -35,6 +67,7 @@ foreach test_name, extra_args : gmodule_tests c_args : test_cargs + extra_args.get('c_args', []), link_args : extra_args.get('link_args', []), dependencies : test_deps + extra_args.get('dependencies', []), + export_dynamic : extra_args.get('export_dynamic', false), install_dir: installed_tests_execdir, install: install, ) diff --git a/tests/module-test.c b/gmodule/tests/module-test.c similarity index 99% rename from tests/module-test.c rename to gmodule/tests/module-test.c index ab863e9fe..e6cd69ac1 100644 --- a/tests/module-test.c +++ b/gmodule/tests/module-test.c @@ -30,7 +30,7 @@ # define MODULE_FILENAME_PREFIX "lib" #endif -gchar* global_state; +gchar *global_state = NULL; G_MODULE_EXPORT void g_clash_func (void); diff --git a/tests/meson.build b/tests/meson.build index 777ba428c..2b9ce5b1f 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -15,20 +15,7 @@ test_cargs = ['-DG_LOG_DOMAIN="GLib"', '-UG_DISABLE_ASSERT'] subdir('gobject') subdir('refcount') -tests = { - 'module-test-library' : { - 'dependencies' : [libgmodule_dep], - 'export_dynamic' : true, - 'source': 'module-test.c', - 'c_args': ['-DMODULE_TYPE="library"'], - }, - 'module-test-plugin' : { - 'dependencies' : [libgmodule_dep], - 'export_dynamic' : true, - 'source': 'module-test.c', - 'c_args': ['-DMODULE_TYPE="plugin"'], - }, -} +tests = {} test_extra_programs = { 'slice-test' : { @@ -37,28 +24,6 @@ test_extra_programs = { 'assert-msg-test' : {}, } -module_suffix = [] -# Keep the autotools convention for shared module suffix because GModule -# depends on it: https://gitlab.gnome.org/GNOME/glib/issues/520 -if ['darwin', 'ios'].contains(host_machine.system()) - module_suffix = 'so' -endif - -foreach module : ['moduletestplugin_a', 'moduletestplugin_b'] - shared_module(module + '_plugin', 'lib@0@.c'.format(module), - dependencies : [libglib_dep, libgmodule_dep], - install_dir : installed_tests_execdir, - install : installed_tests_enabled, - name_suffix : module_suffix - ) - shared_library(module + '_library', 'lib@0@.c'.format(module), - dependencies : [libglib_dep, libgmodule_dep], - install_dir : installed_tests_execdir, - install : installed_tests_enabled, - name_suffix : module_suffix - ) -endforeach - common_c_args = test_cargs + ['-DGLIB_DISABLE_DEPRECATION_WARNINGS'] common_deps = [libm, thread_dep, libglib_dep]