GnuCash 2.4.99
test-load-c.c
00001 #include "config.h"
00002 #include <stdio.h>
00003 #include <stdlib.h>
00004 #include <libguile.h>
00005 #include <unittest-support.h>
00006 
00007 #include "gnc-module.h"
00008 
00009 static void
00010 guile_main(void *closure, int argc, char ** argv)
00011 {
00012     GNCModule foo;
00013     gchar *msg = "Module '../../../src/gnc-module/test/misc-mods/.libs/libgncmod_futuremodsys.so' requires newer module system\n";
00014     gchar *logdomain = "gnc.module";
00015     guint loglevel = G_LOG_LEVEL_WARNING;
00016     TestErrorStruct check = { loglevel, logdomain, msg };
00017     g_log_set_handler (logdomain, loglevel,
00018                        (GLogFunc)test_checked_handler, &check);
00019 
00020     g_test_message("  test-load-c.c: testing module load/unload from C ... ");
00021 
00022     gnc_module_system_init();
00023 
00024     foo = gnc_module_load("gnucash/foo", 0);
00025 
00026     if (!foo)
00027     {
00028         g_test_message("  Failed to load foo\n");
00029         exit(-1);
00030     }
00031 
00032     if (!gnc_module_unload(foo))
00033     {
00034         g_test_message("  Failed to unload foo\n");
00035         exit(-1);
00036     }
00037     g_test_message(" successful.\n");
00038 
00039     exit(0);
00040 }
00041 
00042 int
00043 main(int argc, char ** argv)
00044 {
00045     scm_boot_guile(argc, argv, guile_main, NULL);
00046     return 0;
00047 }
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines