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