GnuCash  2.6.99
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
test-load-c.c
1 #include "config.h"
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <libguile.h>
5 #include <unittest-support.h>
6 
7 #include "gnc-module.h"
8 
9 static void
10 guile_main(void *closure, int argc, char ** argv)
11 {
12  GNCModule foo;
13  gchar *msg = "Module '../../../src/gnc-module/test/misc-mods/.libs/libgncmod_futuremodsys.so' requires newer module system\n";
14  gchar *logdomain = "gnc.module";
15  guint loglevel = G_LOG_LEVEL_WARNING;
16  TestErrorStruct check = { loglevel, logdomain, msg };
17  g_log_set_handler (logdomain, loglevel,
18  (GLogFunc)test_checked_handler, &check);
19 
20  g_test_message(" test-load-c.c: testing module load/unload from C ... ");
21 
22  gnc_module_system_init();
23 
24  foo = gnc_module_load("gnucash/foo", 0);
25 
26  if (!foo)
27  {
28  g_test_message(" Failed to load foo\n");
29  exit(-1);
30  }
31 
32  if (!gnc_module_unload(foo))
33  {
34  g_test_message(" Failed to unload foo\n");
35  exit(-1);
36  }
37  g_test_message(" successful.\n");
38 
39  exit(0);
40 }
41 
42 int
43 main(int argc, char ** argv)
44 {
45  scm_boot_guile(argc, argv, guile_main, NULL);
46  return 0;
47 }