[tracker] More make distcheck fixes



commit bc8261fdd388271852a069a73764651d66ef21e6
Author: Martyn Russell <martyn imendio com>
Date:   Thu Jul 30 17:41:31 2009 +0100

    More make distcheck fixes
    
    Added tests/libtracker-data/ data which was not included in
    distributions, subdirectories algebra, bnode-coreference, bound,
    expr-ops, nie, nmo, regex and sort.
    
    Added new environment variables to get test cases to work, these
    include TRACKER_DB_MODULES_DIR for the tracker-fts.so module,
    TRACKER_DB_SQL_DIR for the *.sql files we load in libtracker-db and
    TRACKER_DB_ONTOLOGIES_DIR for the *.ontology files we load in
    libtracker-data.
    
    Updated tracker-store documentation with new environment variables we
    now use for testing purposes.

 configure.ac                                       |    8 +++
 docs/manpages/tracker-store.1                      |   21 +++++++
 src/libtracker-data/tracker-data-manager.c         |   28 +++++-----
 src/libtracker-db/Makefile.am                      |    4 +-
 src/libtracker-db/tracker-db-interface-sqlite.c    |    2 +-
 src/libtracker-db/tracker-db-manager.c             |   35 ++++++-------
 src/libtracker-db/tracker-db-manager.h             |    3 +-
 tests/libtracker-data/Makefile.am                  |   14 +++++-
 tests/libtracker-data/algebra/Makefile.am          |    8 +++
 .../libtracker-data/bnode-coreference/Makefile.am  |    7 +++
 tests/libtracker-data/bound/Makefile.am            |    7 +++
 tests/libtracker-data/expr-ops/Makefile.am         |   19 +++++++
 tests/libtracker-data/nie/Makefile.am              |   30 ++++++++++
 tests/libtracker-data/nmo/Makefile.am              |   36 ++++++++++++
 tests/libtracker-data/regex/Makefile.am            |    9 +++
 tests/libtracker-data/sort/Makefile.am             |   19 +++++++
 tests/libtracker-data/tracker-ontology-test.c      |   28 ++++++++--
 tests/libtracker-data/tracker-sparql-test.c        |   57 +++++++++++++------
 18 files changed, 274 insertions(+), 61 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index a8551cf..2d70959 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1452,6 +1452,14 @@ AC_CONFIG_FILES([
 	tests/common/Makefile
 	tests/libtracker-common/Makefile
 	tests/libtracker-data/Makefile
+	tests/libtracker-data/algebra/Makefile
+	tests/libtracker-data/bnode-coreference/Makefile
+	tests/libtracker-data/bound/Makefile
+	tests/libtracker-data/expr-ops/Makefile
+	tests/libtracker-data/nie/Makefile
+	tests/libtracker-data/nmo/Makefile
+	tests/libtracker-data/regex/Makefile
+	tests/libtracker-data/sort/Makefile
 	tests/libtracker-db/Makefile
 	tests/Makefile
 	tests/tracker-miner-fs/Makefile
diff --git a/docs/manpages/tracker-store.1 b/docs/manpages/tracker-store.1
index abdbfd7..1f3d0b3 100644
--- a/docs/manpages/tracker-store.1
+++ b/docs/manpages/tracker-store.1
@@ -81,6 +81,27 @@ Makes any errors fatal, i.e. forces abortion of
 .B tracker-store.
 This switch is only useful for debugging.
 
+.SH ENVIRONMENT
+.TP
+.B TRACKER_DB_MODULES_DIR
+This is the directory which the SQLite modules will be loaded from. At
+the moment this is only the tracker-fts module. If unset it will
+default to the correct place. This is used mainly for testing
+purposes.
+
+.TP
+.B TRACKER_DB_SQL_DIR
+This is the directory which tracker uses to load the .sql files from.
+These are needed on each invocation of tracker-store. If unset it will
+default to the correct place. This is used mainly for testing
+purposes.
+
+.TP
+.B TRACKER_DB_ONTOLOGIES_DIR
+This is the directory which tracker uses to load the .ontology files
+from. If unset it will default to the correct place. This is used
+mainly for testing purposes.
+
 .SH FILES
 .I $HOME/.config/tracker/tracker.cfg
 .RS
diff --git a/src/libtracker-data/tracker-data-manager.c b/src/libtracker-data/tracker-data-manager.c
index bb1848f..7595243 100644
--- a/src/libtracker-data/tracker-data-manager.c
+++ b/src/libtracker-data/tracker-data-manager.c
@@ -768,21 +768,20 @@ tracker_data_manager_init (TrackerDBManagerFlags       flags,
 	if (is_first_time_index) {
 		TrackerClass **classes;
 		TrackerClass **cl;
-		gint           max_id = 0;
+		gint max_id = 0;
 		GList *sorted = NULL, *l;
 		gchar *test_schema_path;
+		const gchar *env_path;
 
-
-		if (flags & TRACKER_DB_MANAGER_TEST_MODE) {
-			ontologies_dir = g_build_filename ("..", "..",
-							 "data",
-							 "ontologies",
-							 NULL);
-		} else {
+		env_path = g_getenv ("TRACKER_DB_ONTOLOGIES_DIR");
+		
+		if (G_LIKELY (!env_path)) {
 			ontologies_dir = g_build_filename (SHAREDIR,
-							 "tracker",
-							 "ontologies",
-							 NULL);
+							   "tracker",
+							   "ontologies",
+							   NULL);
+		} else {
+			ontologies_dir = g_strdup (env_path);
 		}
 
 		if (test_schema) {
@@ -804,8 +803,8 @@ tracker_data_manager_init (TrackerDBManagerFlags       flags,
 			while (conf_file) {
 				if (g_str_has_suffix (conf_file, ".ontology")) {
 					sorted = g_list_insert_sorted (sorted,
-					                                   g_strdup (conf_file), 
-					                                   (GCompareFunc) strcmp);
+								       g_strdup (conf_file), 
+								       (GCompareFunc) strcmp);
 				}
 				conf_file = g_dir_read_name (ontologies);
 			}
@@ -818,7 +817,10 @@ tracker_data_manager_init (TrackerDBManagerFlags       flags,
 			g_debug ("Loading ontology %s", (char *) l->data);
 			load_ontology_file (l->data);
 		}
+
 		if (test_schema) {
+			g_debug ("Loading ontology:'%s' (TEST ONTOLOGY)", test_schema_path);
+
 			load_ontology_file_from_path (test_schema_path);
 		}
 
diff --git a/src/libtracker-db/Makefile.am b/src/libtracker-db/Makefile.am
index d3de40c..01cc131 100644
--- a/src/libtracker-db/Makefile.am
+++ b/src/libtracker-db/Makefile.am
@@ -1,10 +1,10 @@
 include $(top_srcdir)/Makefile.decl
 
 INCLUDES =								\
-	-DSHAREDIR=\""$(datadir)"\"					\
 	-DG_LOG_DOMAIN=\"Tracker\"					\
-	-DPKGLIBDIR=\""$(libdir)/tracker-$(TRACKER_API_VERSION)"\"	\
 	-DTRACKER_COMPILATION						\
+	-DSHAREDIR=\""$(datadir)"\"					\
+	-DPKGLIBDIR=\""$(libdir)/tracker-$(TRACKER_API_VERSION)"\"	\
 	-I$(top_srcdir)/src						\
 	$(WARN_CFLAGS)							\
 	$(GLIB2_CFLAGS)							\
diff --git a/src/libtracker-db/tracker-db-interface-sqlite.c b/src/libtracker-db/tracker-db-interface-sqlite.c
index bc526d8..1c54761 100644
--- a/src/libtracker-db/tracker-db-interface-sqlite.c
+++ b/src/libtracker-db/tracker-db-interface-sqlite.c
@@ -138,7 +138,7 @@ tracker_db_interface_sqlite_constructor (GType			type,
 		gchar *filename;
 
 		filename = g_build_filename (env_path, "tracker-fts.so", NULL);
-		sqlite3_load_extension (priv->db, PKGLIBDIR "/tracker-fts.so", NULL, &err_msg);
+		sqlite3_load_extension (priv->db, filename, NULL, &err_msg);
 		g_free (filename);
 	}
 
diff --git a/src/libtracker-db/tracker-db-manager.c b/src/libtracker-db/tracker-db-manager.c
index edda959..0e709c8 100644
--- a/src/libtracker-db/tracker-db-manager.c
+++ b/src/libtracker-db/tracker-db-manager.c
@@ -193,7 +193,7 @@ load_sql_file (TrackerDBInterface *iface,
 
 	if (!g_file_get_contents (path, &content, NULL, NULL)) {
 		g_critical ("Cannot read SQL file:'%s', please reinstall tracker"
-			    " or check read permissions on the file if it exists", file);
+			    " or check read permissions on the file if it exists", path);
 		g_assert_not_reached ();
 	}
 
@@ -1025,6 +1025,7 @@ tracker_db_manager_init (TrackerDBManagerFlags	flags,
 	TrackerDBVersion    version;
 	gchar		   *filename;
 	const gchar	   *dir;
+	const gchar        *env_path;
 	gboolean	    need_reindex;
 	guint		    i;
 
@@ -1057,28 +1058,24 @@ tracker_db_manager_init (TrackerDBManagerFlags	flags,
 	sys_tmp_dir = g_build_filename (g_get_tmp_dir (), filename, NULL);
 	g_free (filename);
 
-	if (flags & TRACKER_DB_MANAGER_TEST_MODE) {
-		sql_dir = g_build_filename ("..", "..",
-					    "data",
-					    "db",
-					    NULL);
-
-		user_data_dir = g_strdup (sys_tmp_dir);
-		data_dir = g_strdup (sys_tmp_dir);
-	} else {
+	env_path = g_getenv ("TRACKER_DB_SQL_DIR");
+	
+	if (G_UNLIKELY (!env_path)) {
 		sql_dir = g_build_filename (SHAREDIR,
 					    "tracker",
 					    NULL);
-
-		user_data_dir = g_build_filename (g_get_user_data_dir (),
-						  "tracker",
-						  "data",
-						  NULL);
-
-		data_dir = g_build_filename (g_get_user_cache_dir (),
-					     "tracker",
-					     NULL);
+	} else {
+		sql_dir = g_strdup (env_path);
 	}
+	
+	user_data_dir = g_build_filename (g_get_user_data_dir (),
+					  "tracker",
+					  "data",
+					  NULL);
+	
+	data_dir = g_build_filename (g_get_user_cache_dir (),
+				     "tracker",
+				     NULL);
 
 	/* Make sure the directories exist */
 	g_message ("Checking database directories exist");
diff --git a/src/libtracker-db/tracker-db-manager.h b/src/libtracker-db/tracker-db-manager.h
index 2b639ae..d7701ba 100644
--- a/src/libtracker-db/tracker-db-manager.h
+++ b/src/libtracker-db/tracker-db-manager.h
@@ -42,8 +42,7 @@ typedef enum {
 	TRACKER_DB_MANAGER_REMOVE_CACHE     = 1 << 2,
 	TRACKER_DB_MANAGER_LOW_MEMORY_MODE  = 1 << 3,
 	TRACKER_DB_MANAGER_REMOVE_ALL       = 1 << 4,
-	TRACKER_DB_MANAGER_READONLY        = 1 << 5,
-	TRACKER_DB_MANAGER_TEST_MODE        = 1 << 6
+	TRACKER_DB_MANAGER_READONLY         = 1 << 5
 } TrackerDBManagerFlags;
 
 GType	     tracker_db_get_type			    (void) G_GNUC_CONST;
diff --git a/tests/libtracker-data/Makefile.am b/tests/libtracker-data/Makefile.am
index b831203..5c16de2 100644
--- a/tests/libtracker-data/Makefile.am
+++ b/tests/libtracker-data/Makefile.am
@@ -1,5 +1,15 @@
 include $(top_srcdir)/Makefile.decl
 
+SUBDIRS = 			\
+	algebra			\
+	bnode-coreference	\
+	bound 			\
+	expr-ops		\
+	nie			\
+	nmo			\
+	regex			\
+	sort
+
 noinst_PROGRAMS = $(TEST_PROGS)
 
 TEST_PROGS += 								\
@@ -7,8 +17,10 @@ TEST_PROGS += 								\
 	tracker-ontology
 
 INCLUDES = 								\
-	-DG_LOG_DOMAIN=\"Tracker\"					\
 	-DTRACKER_COMPILATION						\
+	-DTOP_SRCDIR=\"$(top_srcdir)\"					\
+	-DTOP_BUILDDIR=\"$(top_builddir)\"				\
+	-DG_LOG_DOMAIN=\"Tracker\"					\
 	-I$(top_srcdir)/src						\
 	-I$(top_srcdir)/tests/common					\
 	$(WARN_CFLAGS)							\
diff --git a/tests/libtracker-data/algebra/Makefile.am b/tests/libtracker-data/algebra/Makefile.am
new file mode 100644
index 0000000..e35c536
--- /dev/null
+++ b/tests/libtracker-data/algebra/Makefile.am
@@ -0,0 +1,8 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 			\
+	data-1.ontology		\
+	data-1.ttl		\
+	filter-nested-1.out	\
+	filter-nested-1.rq
+	
diff --git a/tests/libtracker-data/bnode-coreference/Makefile.am b/tests/libtracker-data/bnode-coreference/Makefile.am
new file mode 100644
index 0000000..3f91c58
--- /dev/null
+++ b/tests/libtracker-data/bnode-coreference/Makefile.am
@@ -0,0 +1,7 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 	 	\
+	data.ontology	\
+	data.ttl	\
+	query.out	\
+	query.rq
diff --git a/tests/libtracker-data/bound/Makefile.am b/tests/libtracker-data/bound/Makefile.am
new file mode 100644
index 0000000..7d75af3
--- /dev/null
+++ b/tests/libtracker-data/bound/Makefile.am
@@ -0,0 +1,7 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 		\
+	bound1.out	\
+	bound1.rq	\
+	data.ontology	\
+	data.ttl
diff --git a/tests/libtracker-data/expr-ops/Makefile.am b/tests/libtracker-data/expr-ops/Makefile.am
new file mode 100644
index 0000000..0f88b55
--- /dev/null
+++ b/tests/libtracker-data/expr-ops/Makefile.am
@@ -0,0 +1,19 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 			\
+	data.ontology		\
+	data.ttl		\
+	query-ge-1.out		\
+	query-ge-1.rq		\
+	query-le-1.out		\
+	query-le-1.rq		\
+	query-minus-1.out	\
+	query-minus-1.rq	\
+	query-mul-1.out		\
+	query-mul-1.rq		\
+	query-plus-1.out	\
+	query-plus-1.rq		\
+	query-unminus-1.out	\
+	query-unminus-1.rq	\
+	query-unplus-1.out	\
+	query-unplus-1.rq
diff --git a/tests/libtracker-data/nie/Makefile.am b/tests/libtracker-data/nie/Makefile.am
new file mode 100644
index 0000000..8881500
--- /dev/null
+++ b/tests/libtracker-data/nie/Makefile.am
@@ -0,0 +1,30 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 				\
+	data-1.ttl			\
+	filter-characterset-1.out	\
+	filter-characterset-1.rq	\
+	filter-comment-1.out		\
+	filter-comment-1.rq		\
+	filter-description-1.out	\
+	filter-description-1.rq		\
+	filter-generator-1.out		\
+	filter-generator-1.rq		\
+	filter-identifier-1.out		\
+	filter-identifier-1.rq		\
+	filter-keyword-1.out		\
+	filter-keyword-1.rq		\
+	filter-language-1.out		\
+	filter-language-1.rq		\
+	filter-legal-1.out		\
+	filter-legal-1.rq		\
+	filter-mimetype-1.out		\
+	filter-mimetype-1.rq		\
+	filter-plaintextcontent-1.out	\
+	filter-plaintextcontent-1.rq	\
+	filter-subject-1.out		\
+	filter-subject-1.rq		\
+	filter-title-1.out		\
+	filter-title-1.rq		\
+	filter-version-1.out		\
+	filter-version-1.rq
diff --git a/tests/libtracker-data/nmo/Makefile.am b/tests/libtracker-data/nmo/Makefile.am
new file mode 100644
index 0000000..99ac8f1
--- /dev/null
+++ b/tests/libtracker-data/nmo/Makefile.am
@@ -0,0 +1,36 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 					\
+	data-1.ttl				\
+	filter-boundary-1.out			\
+	filter-boundary-1.rq			\
+	filter-charset-1.out			\
+	filter-charset-1.rq			\
+	filter-contentdescription-1.out		\
+	filter-contentdescription-1.rq		\
+	filter-contentid-1.out			\
+	filter-contentid-1.rq			\
+	filter-contenttransferencoding-1.out	\
+	filter-contenttransferencoding-1.rq	\
+	filter-headername-1.out			\
+	filter-headername-1.rq			\
+	filter-headervalue-1.out		\
+	filter-headervalue-1.rq			\
+	filter-isanswered-1.out			\
+	filter-isanswered-1.rq			\
+	filter-isdeleted-1.out			\
+	filter-isdeleted-1.rq			\
+	filter-isdraft-1.out			\
+	filter-isdraft-1.rq			\
+	filter-isflagged-1.out			\
+	filter-isflagged-1.rq			\
+	filter-isread-1.out			\
+	filter-isread-1.rq			\
+	filter-isrecent-1.out			\
+	filter-isrecent-1.rq			\
+	filter-messageid-1.out			\
+	filter-messageid-1.rq			\
+	filter-messagesubject-1.out		\
+	filter-messagesubject-1.rq		\
+	filter-plaintextmessagecontent-1.out	\
+	filter-plaintextmessagecontent-1.rq
diff --git a/tests/libtracker-data/regex/Makefile.am b/tests/libtracker-data/regex/Makefile.am
new file mode 100644
index 0000000..dc3f8e7
--- /dev/null
+++ b/tests/libtracker-data/regex/Makefile.am
@@ -0,0 +1,9 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 			\
+	regex-data-01.ontology	\
+	regex-data-01.ttl	\
+	regex-query-001.out	\
+	regex-query-001.rq	\
+	regex-query-002.out	\
+	regex-query-002.rq
diff --git a/tests/libtracker-data/sort/Makefile.am b/tests/libtracker-data/sort/Makefile.am
new file mode 100644
index 0000000..11afc93
--- /dev/null
+++ b/tests/libtracker-data/sort/Makefile.am
@@ -0,0 +1,19 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = 			\
+	data-sort-1.ontology	\
+	data-sort-1.ttl		\
+	data-sort-3.ontology	\
+	data-sort-3.ttl		\
+	data-sort-4.ontology	\
+	data-sort-4.ttl		\
+	query-sort-1.out	\
+	query-sort-1.rq		\
+	query-sort-2.out	\
+	query-sort-2.rq		\
+	query-sort-3.out	\
+	query-sort-3.rq		\
+	query-sort-4.out	\
+	query-sort-4.rq		\
+	query-sort-5.out	\
+	query-sort-5.rq
diff --git a/tests/libtracker-data/tracker-ontology-test.c b/tests/libtracker-data/tracker-ontology-test.c
index a01afef..0df7293 100644
--- a/tests/libtracker-data/tracker-ontology-test.c
+++ b/tests/libtracker-data/tracker-ontology-test.c
@@ -103,7 +103,7 @@ test_query (gconstpointer test_data)
 		error = NULL;
 
 		/* initialization */
-		tracker_data_manager_init (TRACKER_DB_MANAGER_FORCE_REINDEX | TRACKER_DB_MANAGER_TEST_MODE,
+		tracker_data_manager_init (TRACKER_DB_MANAGER_FORCE_REINDEX,
 			                   NULL, NULL);
 
 		/* load data set */
@@ -216,20 +216,33 @@ test_query (gconstpointer test_data)
 int
 main (int argc, char **argv)
 {
-
-	int              result;
-	int              i;
+	gint result;
+	gint i;
+	gchar *current_dir;
 
 	g_type_init ();
-	g_thread_init (NULL);
+
+	if (!g_thread_supported ()) {
+		g_thread_init (NULL);
+	}
+	
 	g_test_init (&argc, &argv, NULL);
 
+	current_dir = g_get_current_dir ();
+	
+	g_setenv ("XDG_DATA_HOME", current_dir, TRUE);
+	g_setenv ("XDG_CACHE_HOME", current_dir, TRUE);
+	g_setenv ("TRACKER_DB_MODULES_DIR", TOP_BUILDDIR "/src/tracker-fts/.libs/", TRUE);
+	g_setenv ("TRACKER_DB_SQL_DIR", TOP_SRCDIR "/data/db/", TRUE);
+	g_setenv ("TRACKER_DB_ONTOLOGIES_DIR", TOP_SRCDIR "/data/ontologies/", TRUE);
+
 	tracker_turtle_init ();
 
 	/* add test cases */
 
 	for (i = 0; nie_tests[i].test_name; i++) {
 		gchar *testpath;
+
 		g_message ("%d", i);
 		
 		testpath = g_strconcat ("/libtracker-data/nie/", nie_tests[i].test_name, NULL);
@@ -239,6 +252,7 @@ main (int argc, char **argv)
 
 	for (i = 0; nmo_tests[i].test_name; i++) {
 		gchar *testpath;
+
 		g_message ("%d", i);
 		
 		testpath = g_strconcat ("/libtracker-data/nmo/", nmo_tests[i].test_name, NULL);
@@ -252,5 +266,9 @@ main (int argc, char **argv)
 
 	tracker_turtle_shutdown ();
 
+	/* clean up */
+	g_print ("Removing temporary data\n");
+	g_spawn_command_line_async ("rm -R tracker/", NULL);
+
 	return result;
 }
diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c
index 98d00c0..4501b2d 100644
--- a/tests/libtracker-data/tracker-sparql-test.c
+++ b/tests/libtracker-data/tracker-sparql-test.c
@@ -78,40 +78,45 @@ test_sparql_query (gconstpointer test_data)
 
 	/* fork as tracker-fts can only be initialized once per process (GType in loadable module) */
 	if (g_test_trap_fork (0, 0)) {
-		int          exitcode;
-		GError      *error;
-		gchar       *data_filename;
-		gchar       *query, *query_filename;
-		gchar       *results, *results_filename;
 		TrackerDBResultSet *result_set;
+		GError *error;
 		GString *test_results;
+		gchar *data_path, *data_filename;
+		gchar *query, *query_filename;
+		gchar *results, *results_filename;
+		gint exitcode;
 
 		exitcode = 0;
 		error = NULL;
 
 		/* initialization */
-		tracker_data_manager_init (TRACKER_DB_MANAGER_FORCE_REINDEX | TRACKER_DB_MANAGER_TEST_MODE,
+		tracker_data_manager_init (TRACKER_DB_MANAGER_FORCE_REINDEX,
 			                   test_info->data, 
 					   NULL);
 
+		data_path = g_build_path (G_DIR_SEPARATOR_S, TOP_SRCDIR, "tests", "libtracker-data", NULL);
+
 		/* load data set */
-		data_filename = g_strconcat (test_info->data, ".ttl", NULL);
+		data_filename = g_strconcat (data_path, G_DIR_SEPARATOR_S, test_info->data, ".ttl", NULL);
+
 		tracker_data_begin_transaction ();
 		tracker_turtle_process (data_filename, NULL, consume_triple_storer, NULL);
 		tracker_data_commit_transaction ();
 
-		query_filename = g_strconcat (test_info->test_name, ".rq", NULL);
+		query_filename = g_strconcat (data_path, G_DIR_SEPARATOR_S, test_info->test_name, ".rq", NULL);
 		g_file_get_contents (query_filename, &query, NULL, &error);
-		g_assert (error == NULL);
+		g_assert_no_error (error);
 
-		results_filename = g_strconcat (test_info->test_name, ".out", NULL);
+		results_filename = g_strconcat (data_path, G_DIR_SEPARATOR_S, test_info->test_name, ".out", NULL);
 		g_file_get_contents (results_filename, &results, NULL, &error);
-		g_assert (error == NULL);
+		g_assert_no_error (error);
+
+		g_free (data_path);
 
 		/* perform actual query */
 
 		result_set = tracker_data_query_sparql (query, &error);
-		g_assert (error == NULL);
+		g_assert_no_error (error);
 
 		/* compare results with reference output */
 
@@ -204,18 +209,31 @@ test_sparql_query (gconstpointer test_data)
 int
 main (int argc, char **argv)
 {
-
-	int              result;
-	int              i;
+	gint result;
+	gint i;
+	gchar *current_dir;
 
 	g_type_init ();
-	g_thread_init (NULL);
+
+	if (!g_thread_supported ()) {
+		g_thread_init (NULL);
+	}
+	
 	g_test_init (&argc, &argv, NULL);
 
+	current_dir = g_get_current_dir ();
+	
+	g_setenv ("XDG_DATA_HOME", current_dir, TRUE);
+	g_setenv ("XDG_CACHE_HOME", current_dir, TRUE);
+	g_setenv ("TRACKER_DB_MODULES_DIR", TOP_BUILDDIR "/src/tracker-fts/.libs/", TRUE);
+	g_setenv ("TRACKER_DB_SQL_DIR", TOP_SRCDIR "/data/db/", TRUE);
+	g_setenv ("TRACKER_DB_ONTOLOGIES_DIR", TOP_SRCDIR "/data/ontologies/", TRUE);
+
+	g_free (current_dir);
+
 	tracker_turtle_init ();
 
 	/* add test cases */
-
 	for (i = 0; tests[i].test_name; i++) {
 		gchar *testpath;
 		
@@ -225,10 +243,13 @@ main (int argc, char **argv)
 	}
 
 	/* run tests */
-
 	result = g_test_run ();
 
 	tracker_turtle_shutdown ();
 
+	/* clean up */
+	g_print ("Removing temporary data\n");
+	g_spawn_command_line_async ("rm -R tracker/", NULL);
+
 	return result;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]