r21670 - gnucash/trunk/src - [Testing] Ensure that qof_log_init() has been called for all tests

John Ralls jralls at code.gnucash.org
Sun Dec 4 19:06:53 EST 2011


Author: jralls
Date: 2011-12-04 19:06:52 -0500 (Sun, 04 Dec 2011)
New Revision: 21670
Trac: http://svn.gnucash.org/trac/changeset/21670

Modified:
   gnucash/trunk/src/bin/gnucash-bin.c
   gnucash/trunk/src/engine/test/test-scm-query.c
   gnucash/trunk/src/gnc-module/gnc-module.c
   gnucash/trunk/src/import-export/test/test-import-parse.c
Log:
[Testing] Ensure that qof_log_init() has been called for all tests


Prevents error messages about g_hash being NULL.

Invokes qof_log_init_file_special ("stderr") in gnc_module_system_init(), so gnc_log_init() had to be moved to after that call in main() so that the command-line log setting doesn't get replaced with the default setting in module_system_init.

Note that gnc_module_load_common() has one of the offending "ENTER" macros that cause the error, and it's before the safety call of module_system_init, so test programs need to explicitly call module_system_init before loading any modules.

Modified: gnucash/trunk/src/bin/gnucash-bin.c
===================================================================
--- gnucash/trunk/src/bin/gnucash-bin.c	2011-12-05 00:06:37 UTC (rev 21669)
+++ gnucash/trunk/src/bin/gnucash-bin.c	2011-12-05 00:06:52 UTC (rev 21670)
@@ -852,10 +852,11 @@
     setlocale(LC_ALL, "");
     gnucash_command_line(&argc, argv);
     gnc_print_unstable_message();
-    gnc_log_init();
 
     gnc_module_system_init();
+    gnc_log_init();
 
+
     if (add_quotes_file)
     {
         gchar *prefix = gnc_path_get_prefix ();

Modified: gnucash/trunk/src/engine/test/test-scm-query.c
===================================================================
--- gnucash/trunk/src/engine/test/test-scm-query.c	2011-12-05 00:06:37 UTC (rev 21669)
+++ gnucash/trunk/src/engine/test/test-scm-query.c	2011-12-05 00:06:52 UTC (rev 21670)
@@ -62,6 +62,7 @@
 static void
 main_helper (void *closure, int argc, char **argv)
 {
+    gnc_module_system_init ();
     gnc_module_load("gnucash/engine", 0);
 
     xaccLogDisable ();

Modified: gnucash/trunk/src/gnc-module/gnc-module.c
===================================================================
--- gnucash/trunk/src/gnc-module/gnc-module.c	2011-12-05 00:06:37 UTC (rev 21669)
+++ gnucash/trunk/src/gnc-module/gnc-module.c	2011-12-05 00:06:52 UTC (rev 21670)
@@ -131,6 +131,7 @@
     if (loaded_modules)
         return;
 
+    qof_log_init_filename_special ("stderr");
     loaded_modules = g_hash_table_new(g_direct_hash, g_direct_equal);
 
     /* now crawl the GNC_MODULE_PATH to find likely libraries */

Modified: gnucash/trunk/src/import-export/test/test-import-parse.c
===================================================================
--- gnucash/trunk/src/import-export/test/test-import-parse.c	2011-12-05 00:06:37 UTC (rev 21669)
+++ gnucash/trunk/src/import-export/test/test-import-parse.c	2011-12-05 00:06:52 UTC (rev 21670)
@@ -176,6 +176,7 @@
 static void
 main_helper(void *closure, int argc, char **argv)
 {
+    gnc_module_system_init ();
     gnc_module_load("gnucash/import-export", 0);
     test_import_parse();
     print_test_results();



More information about the gnucash-changes mailing list