[glib/fix-module-tests-msvc: 5/5] Fix module tests on Visual Studio builds



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]