[glib/fix-module-tests-msvc: 5/5] Fix module tests on Visual Studio builds
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib/fix-module-tests-msvc: 5/5] Fix module tests on Visual Studio builds
- Date: Fri, 21 Jun 2019 05:18:33 +0000 (UTC)
commit fac40b7e42ddd80cb99210f7c33cd14594ba7b5c
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Fri Jun 21 13:04:34 2019 +0800
Fix module tests on Visual Studio builds
On Visual Studio, Meson builds modules as xxxx.dll, not libxxxx.dll when
xxxx is specified as the name for the shared_module() build directive.
This means that in the test programs if we expect for libxxxx for the
module name, the test will fail as there is no libxxxx.dll but there is
xxxx.dll. This makes the test program look for the module files
correctly.
gio/tests/giomodule.c | 8 +++++++-
tests/module-test.c | 10 ++++++++--
2 files changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/gio/tests/giomodule.c b/gio/tests/giomodule.c
index e832e95d3..cceabb8c4 100644
--- a/gio/tests/giomodule.c
+++ b/gio/tests/giomodule.c
@@ -22,6 +22,12 @@
#include <gio/gio.h>
+#ifdef _MSC_VER
+# define MODULE_FILENAME_PREFIX ""
+#else
+# define MODULE_FILENAME_PREFIX "lib"
+#endif
+
static void
test_extension_point (void)
{
@@ -108,7 +114,7 @@ test_module_scan_all_with_scope (void)
ep = g_io_extension_point_register ("test-extension-point");
scope = g_io_module_scope_new (G_IO_MODULE_SCOPE_BLOCK_DUPLICATES);
- g_io_module_scope_block (scope, "libtestmoduleb." G_MODULE_SUFFIX);
+ g_io_module_scope_block (scope, MODULE_FILENAME_PREFIX "testmoduleb." G_MODULE_SUFFIX);
g_io_modules_scan_all_in_directory_with_scope (g_test_get_filename (G_TEST_BUILT, "modules", NULL),
scope);
list = g_io_extension_point_get_extensions (ep);
g_io_modules_scan_all_in_directory_with_scope (g_test_get_filename (G_TEST_BUILT, "modules/.libs",
NULL), scope);
diff --git a/tests/module-test.c b/tests/module-test.c
index fbf23169f..8047b74ec 100644
--- a/tests/module-test.c
+++ b/tests/module-test.c
@@ -28,6 +28,12 @@
#include <gmodule.h>
#include <string.h>
+#ifdef _MSC_VER
+# define MODULE_FILENAME_PREFIX ""
+#else
+# define MODULE_FILENAME_PREFIX "lib"
+#endif
+
gchar* global_state;
G_MODULE_EXPORT void g_clash_func (void);
@@ -84,8 +90,8 @@ main (int argc,
if (!g_module_supported ())
g_error ("dynamic modules not supported");
- plugin_a = g_test_build_filename (G_TEST_BUILT, "libmoduletestplugin_a", NULL);
- plugin_b = g_test_build_filename (G_TEST_BUILT, "libmoduletestplugin_b", NULL);
+ plugin_a = g_test_build_filename (G_TEST_BUILT, MODULE_FILENAME_PREFIX "moduletestplugin_a", NULL);
+ plugin_b = g_test_build_filename (G_TEST_BUILT, MODULE_FILENAME_PREFIX "moduletestplugin_b", NULL);
/* module handles */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]