r23439 - gnucash/trunk/src/backend/xml/test - Fix sometime crash in test-xml-pricedb
John Ralls
jralls at code.gnucash.org
Mon Nov 25 17:40:48 EST 2013
Author: jralls
Date: 2013-11-25 17:40:47 -0500 (Mon, 25 Nov 2013)
New Revision: 23439
Trac: http://svn.gnucash.org/trac/changeset/23439
Modified:
gnucash/trunk/src/backend/xml/test/test-xml-pricedb.c
Log:
Fix sometime crash in test-xml-pricedb
Modified: gnucash/trunk/src/backend/xml/test/test-xml-pricedb.c
===================================================================
--- gnucash/trunk/src/backend/xml/test/test-xml-pricedb.c 2013-11-25 21:11:08 UTC (rev 23438)
+++ gnucash/trunk/src/backend/xml/test/test-xml-pricedb.c 2013-11-25 22:40:47 UTC (rev 23439)
@@ -41,34 +41,31 @@
#include "test-stuff.h"
#include "test-engine-stuff.h"
#include "test-file-stuff.h"
+#include "io-gncxml-v2.h"
static QofSession *session;
+static int iter;
-struct pricedb_data_struct
-{
- GNCPriceDB *db;
- int value;
-};
-typedef struct pricedb_data_struct pricedb_data;
-
static gboolean
test_add_pricedb (const char *tag, gpointer globaldata, gpointer data)
{
- pricedb_data *gdata = globaldata;
+ sixtp_gdv2 *gdata = globaldata;
+ GNCPriceDB *db = gnc_pricedb_get_db (gdata->book);
- do_test_args (gnc_pricedb_equal(data, gdata->db),
+ do_test_args (gnc_pricedb_equal(data, db),
"gnc_pricedb_sixtp_parser_create",
- __FILE__, __LINE__, "%d", gdata->value);
+ __FILE__, __LINE__, "%d", iter);
return TRUE;
}
static void
-test_db (int i, GNCPriceDB *db)
+test_db (GNCPriceDB *db)
{
xmlNodePtr test_node;
gchar *filename1;
int fd;
+ QofBook *book = qof_instance_get_book (QOF_INSTANCE (db));
test_node = gnc_pricedb_dom_tree_create (db);
@@ -92,11 +89,9 @@
{
sixtp *parser;
- pricedb_data data;
+ load_counter lc;
+ sixtp_gdv2 data = {book, lc, NULL, NULL, FALSE};
- data.db = db;
- data.value = i;
-
parser = sixtp_new ();
if (!sixtp_add_some_sub_parsers
@@ -105,14 +100,14 @@
NULL, NULL))
{
failure_args ("sixtp_add_some_sub_parsers failed",
- __FILE__, __LINE__, "%d", i);
+ __FILE__, __LINE__, "%d", iter);
}
else if (!gnc_xml_parse_file (parser, filename1, test_add_pricedb,
(gpointer)&data,
qof_session_get_book (session)))
{
failure_args ("gnc_xml_parse_file returned FALSE",
- __FILE__, __LINE__, "%d", i);
+ __FILE__, __LINE__, "%d", iter);
}
}
@@ -124,22 +119,20 @@
static void
test_generation (void)
{
- int i;
-
- for (i = 0; i < 20; i++)
+ for (iter = 0; iter < 20; iter++)
{
GNCPriceDB *db;
- g_message("i=%d", i);
+ g_message("iter=%d", iter);
session = qof_session_new();
db = get_random_pricedb (qof_session_get_book (session));
if (!db)
{
failure_args ("gnc_random_price_db returned NULL",
- __FILE__, __LINE__, "%d", i);
+ __FILE__, __LINE__, "%d", iter);
return;
}
if (gnc_pricedb_get_num_prices (db))
- test_db (i, db);
+ test_db (db);
gnc_pricedb_destroy (db);
qof_session_end(session);
More information about the gnucash-changes
mailing list