r22451 - gnucash/trunk/src/backend/dbi/test - Add sql drop index test to cover bug #677488
Geert Janssens
gjanssens at code.gnucash.org
Fri Oct 26 04:50:04 EDT 2012
Author: gjanssens
Date: 2012-10-26 04:50:04 -0400 (Fri, 26 Oct 2012)
New Revision: 22451
Trac: http://svn.gnucash.org/trac/changeset/22451
Modified:
gnucash/trunk/src/backend/dbi/test/test-dbi-stuff.c
Log:
Add sql drop index test to cover bug #677488
Modified: gnucash/trunk/src/backend/dbi/test/test-dbi-stuff.c
===================================================================
--- gnucash/trunk/src/backend/dbi/test/test-dbi-stuff.c 2012-10-26 08:49:54 UTC (rev 22450)
+++ gnucash/trunk/src/backend/dbi/test/test-dbi-stuff.c 2012-10-26 08:50:04 UTC (rev 22451)
@@ -136,10 +136,13 @@
}
static void
-test_conn_get_index_list( QofBackend *qbe )
+test_conn_index_functions( QofBackend *qbe )
{
GncDbiBackend *be = (GncDbiBackend*)qbe;
- GSList *index_list = ((GncDbiSqlConnection*)(be->sql_be.conn))->provider->get_index_list( be->conn );
+ GncDbiSqlConnection *conn = (GncDbiSqlConnection*)(be->sql_be.conn);
+ GSList *index_list, *iter;
+
+ index_list = conn->provider->get_index_list( be->conn );
g_test_message ( "Returned from index list\n");
if ( index_list == NULL )
{
@@ -147,7 +150,17 @@
return;
}
do_test( g_slist_length( index_list ) == 4, "Index List Test" );
+
+ for ( iter = index_list; iter != NULL; iter = g_slist_next( iter) )
+ {
+ const char *errmsg;
+ conn->provider->drop_index (be->conn, iter->data);
+ if ( DBI_ERROR_NONE != dbi_conn_error( conn->conn, &errmsg ) )
+ do_test( FALSE, "Drop Index Test");
+ }
g_slist_free( index_list );
+
+
}
static void
@@ -159,7 +172,6 @@
compare_txs( book_1, book_2 );
compare_sxs( book_1, book_2 );
compare_lots( book_1, book_2 );
- test_conn_get_index_list( be );
}
/* Given a synthetic session, use the same logic as
@@ -170,6 +182,7 @@
{
QofSession* session_2;
QofSession* session_3;
+ QofBackend *be;
gchar *msg = "[gnc_dbi_unlock()] There was no lock entry in the Lock table";
gchar *log_domain = "gnc.backend.dbi";
@@ -216,6 +229,8 @@
}
// Compare with the original data
compare_books( qof_session_get_book( session_2 ), qof_session_get_book( session_3 ) );
+ be = qof_book_get_backend( qof_session_get_book( session_3 ) );
+ test_conn_index_functions( be );
qof_session_end( session_1 );
qof_session_destroy( session_1 );
qof_session_end( session_2 );
@@ -236,6 +251,7 @@
test_dbi_safe_save( const gchar* driver, const gchar* url )
{
QofSession *session_1 = NULL, *session_2 = NULL;
+ QofBackend *be;
gchar *msg = "[gnc_dbi_unlock()] There was no lock entry in the Lock table";
gchar *log_domain = "gnc.backend.dbi";
@@ -277,6 +293,8 @@
qof_session_load( session_2, NULL );
compare_books( qof_session_get_book( session_1 ),
qof_session_get_book( session_2 ) );
+ be = qof_book_get_backend( qof_session_get_book( session_2 ) );
+ test_conn_index_functions( be );
cleanup:
hdlr = g_log_set_handler (log_domain, loglevel,
More information about the gnucash-changes
mailing list