summaryrefslogtreecommitdiff
path: root/tests/libtracker-sparql
diff options
context:
space:
mode:
authorJürg Billeter <j@bitron.ch>2011-05-19 10:10:44 +0200
committerJürg Billeter <j@bitron.ch>2011-05-19 10:17:08 +0200
commitedaa973b41c2b3524df3275253d1a24b05e8a54d (patch)
tree9964662ab41a610e2dd18cc42505cfc9cf23e28e /tests/libtracker-sparql
parent75dc6627a0443f5c0294b555795e593889587806 (diff)
downloadtracker-edaa973b41c2b3524df3275253d1a24b05e8a54d.tar.gz
tests/libtracker-sparql: Add interleaved connection test
Based on test by James Thomas.
Diffstat (limited to 'tests/libtracker-sparql')
-rw-r--r--tests/libtracker-sparql/tracker-test.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/libtracker-sparql/tracker-test.c b/tests/libtracker-sparql/tracker-test.c
index 9f5d902b6..9b88a140d 100644
--- a/tests/libtracker-sparql/tracker-test.c
+++ b/tests/libtracker-sparql/tracker-test.c
@@ -320,6 +320,38 @@ test_tracker_sparql_nb237150 (void)
g_test_trap_assert_stdout ("*Calling both finished*");
}
+static void
+test_tracker_sparql_connection_interleaved (void)
+{
+ GError *error = NULL;
+
+ TrackerSparqlCursor *cursor1;
+ TrackerSparqlCursor *cursor2;
+ TrackerSparqlConnection *connection;
+
+ const gchar* query = "select ?u {?u a rdfs:Resource .}";
+
+ connection = tracker_sparql_connection_get (NULL, &error);
+ g_assert_no_error (error);
+
+ cursor1 = tracker_sparql_connection_query (connection, query, 0, &error);
+ g_assert_no_error (error);
+
+ /* intentionally not freeing cursor1 here */
+ g_object_unref(connection);
+
+ connection = tracker_sparql_connection_get (NULL, &error);
+ g_assert_no_error (error);
+
+ cursor2 = tracker_sparql_connection_query (connection, query, 0, &error);
+ g_assert_no_error (error);
+
+ g_object_unref(connection);
+
+ g_object_unref(cursor2);
+ g_object_unref(cursor1);
+}
+
gint
main (gint argc, gchar **argv)
{
@@ -343,6 +375,8 @@ main (gint argc, gchar **argv)
test_tracker_sparql_escape_string);
g_test_add_func ("/libtracker-sparql/tracker/tracker_sparql_escape_uri_vprintf",
test_tracker_sparql_escape_uri_vprintf);
+ g_test_add_func ("/libtracker-sparql/tracker/tracker_sparql_connection_interleaved",
+ test_tracker_sparql_connection_interleaved);
g_test_add_func ("/libtracker-sparql/tracker/tracker_sparql_connection_locking_sync",
test_tracker_sparql_connection_locking_sync);
g_test_add_func ("/libtracker-sparql/tracker/tracker_sparql_connection_locking_async",