tracker r1756 - in branches/indexer-split: . tests/libtracker-db



Author: ifrade
Date: Tue Jun 24 15:39:00 2008
New Revision: 1756
URL: http://svn.gnome.org/viewvc/tracker?rev=1756&view=rev

Log:
New tests to tracker-db-manager

Added:
   branches/indexer-split/tests/libtracker-db/tracker-db-manager-common.c
   branches/indexer-split/tests/libtracker-db/tracker-db-manager-common.h
   branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-attach.c
   branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-unattach.c
Removed:
   branches/indexer-split/tests/libtracker-db/tracker-db-manager-test.c
Modified:
   branches/indexer-split/ChangeLog
   branches/indexer-split/tests/libtracker-db/Makefile.am
   branches/indexer-split/tests/libtracker-db/run-test-in-tmp-dir.sh

Modified: branches/indexer-split/tests/libtracker-db/Makefile.am
==============================================================================
--- branches/indexer-split/tests/libtracker-db/Makefile.am	(original)
+++ branches/indexer-split/tests/libtracker-db/Makefile.am	Tue Jun 24 15:39:00 2008
@@ -2,7 +2,7 @@
 
 noinst_PROGRAMS = $(TEST_PROGS)
 
-TEST_PROGS += tracker-db-manager
+TEST_PROGS += tracker-db-manager-unattach tracker-db-manager-attach
 
 INCLUDES = 				\
 	-g 				\
@@ -10,7 +10,7 @@
 	-I$(top_srcdir)/src		\
 	-I$(top_srcdir)/tests/common	\
 	$(DBUS_CFLAGS)			\
-	$(SQLITE3_CFLAGS)						\
+	$(SQLITE3_CFLAGS)		\
 	$(QDBM_CFLAGS)			\
 	$(GMODULE_CFLAGS)		\
 	$(GTHREAD_CFLAGS)		\
@@ -18,10 +18,27 @@
 
 
 
-tracker_db_manager_SOURCES = \
-	tracker-db-manager-test.c 
+tracker_db_manager_attach_SOURCES = 		\
+	tracker-db-manager-test-attach.c 	\
+	tracker-db-manager-common.c
 
-tracker_db_manager_LDADD =						\
+tracker_db_manager_unattach_LDADD =					\
+	$(top_builddir)/src/libtracker-db/libtracker-db.la 		\
+	$(top_builddir)/src/libtracker-common/libtracker-common.la 	\
+	$(top_builddir)/tests/common/libtracker-testcommon.la 		\
+        $(top_builddir)/src/xdgmime/libxdgmime.la                       \
+	$(SQLITE3_LIBS)							\
+	$(QDBM_LIBS)							\
+	$(GMODULE_LIBS)							\
+	$(GTHREAD_LIBS)							\
+	$(GLIB2_LIBS)							\
+	-lz
+
+tracker_db_manager_unattach_SOURCES = 		\
+	tracker-db-manager-test-unattach.c 	\
+	tracker-db-manager-common.c
+
+tracker_db_manager_attach_LDADD =					\
 	$(top_builddir)/src/libtracker-db/libtracker-db.la 		\
 	$(top_builddir)/src/libtracker-common/libtracker-common.la 	\
 	$(top_builddir)/tests/common/libtracker-testcommon.la 		\

Modified: branches/indexer-split/tests/libtracker-db/run-test-in-tmp-dir.sh
==============================================================================
--- branches/indexer-split/tests/libtracker-db/run-test-in-tmp-dir.sh	(original)
+++ branches/indexer-split/tests/libtracker-db/run-test-in-tmp-dir.sh	Tue Jun 24 15:39:00 2008
@@ -6,7 +6,6 @@
 # Ensure we have gtester in PATH
 export PATH=$PATH:$GLIB_DIR/bin
 
-make test
-./tracker-db-manager
+make test 2> /dev/null
 
 . ../scripts/xdg_dirs.unsource

Added: branches/indexer-split/tests/libtracker-db/tracker-db-manager-common.c
==============================================================================
--- (empty file)
+++ branches/indexer-split/tests/libtracker-db/tracker-db-manager-common.c	Tue Jun 24 15:39:00 2008
@@ -0,0 +1,24 @@
+#include "tracker-db-manager-common.h"
+
+gboolean
+test_assert_query_run (TrackerDB db, const gchar *query)
+{
+        TrackerDBInterface *iface;
+        TrackerDBResultSet *result_set;
+        GError *error = NULL;
+        
+        iface = tracker_db_manager_get_db_interface (db);
+
+        result_set = tracker_db_interface_execute_query (iface, 
+                                                         &error, 
+                                                         query);
+
+        if (error && error->message) {
+                g_warning ("Error loading query:'%s' - %s", query, error->message);
+                g_error_free (error);
+                return FALSE;
+        }
+
+        return TRUE;
+}
+

Added: branches/indexer-split/tests/libtracker-db/tracker-db-manager-common.h
==============================================================================
--- (empty file)
+++ branches/indexer-split/tests/libtracker-db/tracker-db-manager-common.h	Tue Jun 24 15:39:00 2008
@@ -0,0 +1,9 @@
+#ifndef __TRACKER_DB_MANAGER_TEST_COMMON__
+#define __TRACKER_DB_MANAGER_TEST_COMMON__
+
+#include <glib.h>
+#include <libtracker-db/tracker-db-manager.h>
+
+gboolean test_assert_query_run (TrackerDB db, const gchar *query);
+
+#endif

Added: branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-attach.c
==============================================================================
--- (empty file)
+++ branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-attach.c	Tue Jun 24 15:39:00 2008
@@ -0,0 +1,83 @@
+#include <glib.h>
+#include <glib/gtestutils.h>
+
+
+#include <libtracker-db/tracker-db-manager.h>
+#include "tracker-db-manager-common.h"
+
+void
+test_assert_tables_in_db (TrackerDB db, gchar *query) 
+{
+        g_assert (test_assert_query_run (db, query));
+}
+
+static void
+test_creation_common_db () {
+/*
+  Options              Volumes           ServiceLinks      
+  BackupServices       BackupMetaData    KeywordImages
+  VFolders             MetaDataTypes     MetaDataChildren
+  MetaDataGroup        MetadataOptions   ServiceTypes
+  ServiceTileMetadata  ServiceTabular    Metadata ServiceTypeOptions
+  FileMimes            FileMimePrefixes
+*/
+
+        test_assert_tables_in_db (TRACKER_DB_COMMON, "SELECT * FROM MetaDataTypes");
+}
+
+static void
+test_creation_xesam_db () 
+{
+/*
+   XesamMetaDataTypes   XesamServiceTypes      XesamServiceMapping   XesamMetaDataMapping
+   XesamServiceChildren XesamMetaDataChildren  XesamServiceLookup    XesamMetaDataLookup
+*/
+        test_assert_tables_in_db (TRACKER_DB_XESAM, "SELECT * FROM xesam.XesamServiceTypes");
+}
+
+static void
+test_creation_file_meta_db ()
+{
+        test_assert_tables_in_db (TRACKER_DB_COMMON, "SELECT * FROM 'file-meta'.ServiceMetaData");
+}
+
+static void
+test_creation_file_contents_db ()
+{
+        test_assert_tables_in_db (TRACKER_DB_FILE_CONTENTS, "SELECT * FROM 'file-contents'.ServiceContents");
+}
+
+int
+main (int argc, char **argv) {
+
+        int result;
+        gint first_time;
+
+	g_type_init ();
+        g_thread_init (NULL);
+	g_test_init (&argc, &argv, NULL);
+
+        /* Init */
+        tracker_db_manager_init (TRACKER_DB_MANAGER_ATTACH_ALL | TRACKER_DB_MANAGER_FORCE_REINDEX, 
+                                 &first_time);
+
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/attach/common_db_tables",
+                        test_creation_common_db);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/attach/xesam_db_tables",
+                         test_creation_xesam_db);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/attach/file_meta_db_tables",
+                         test_creation_file_meta_db);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/attach/file_contents_db_tables",
+                         test_creation_file_contents_db);
+               
+        result = g_test_run ();
+        
+        /* End */
+        tracker_db_manager_shutdown (TRUE);
+
+        return result;
+}

Added: branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-unattach.c
==============================================================================
--- (empty file)
+++ branches/indexer-split/tests/libtracker-db/tracker-db-manager-test-unattach.c	Tue Jun 24 15:39:00 2008
@@ -0,0 +1,91 @@
+#include <glib.h>
+#include <glib/gtestutils.h>
+
+
+#include <libtracker-db/tracker-db-manager.h>
+#include "tracker-db-manager-common.h"
+
+void
+test_assert_tables_in_db (TrackerDB db, gchar *query) 
+{
+        g_assert (test_assert_query_run (db, query));
+}
+
+static void
+test_creation_common_db () 
+{
+        test_assert_tables_in_db (TRACKER_DB_COMMON, "SELECT * FROM MetaDataTypes");
+}
+
+static void
+test_creation_cache_db ()
+{
+        test_assert_tables_in_db (TRACKER_DB_CACHE, "SELECT * FROM FilePending");
+}
+
+static void
+test_creation_file_meta_db ()
+{
+        test_assert_tables_in_db (TRACKER_DB_FILE_METADATA, "SELECT * FROM ServiceMetaData");
+}
+
+static void
+test_creation_file_contents_db ()
+{
+        test_assert_tables_in_db (TRACKER_DB_FILE_CONTENTS, "SELECT * FROM ServiceContents");
+}
+
+static void
+test_creation_email_meta_db ()
+{
+        test_assert_tables_in_db (TRACKER_DB_EMAIL_METADATA, "SELECT * FROM ServiceMetadata");
+}
+
+static void
+test_creation_email_contents_db ()
+{
+        test_assert_tables_in_db (TRACKER_DB_FILE_CONTENTS, "SELECT * FROM ServiceContents");
+}
+
+
+int
+main (int argc, char **argv) {
+
+        int result;
+        gint first_time;
+
+	g_type_init ();
+        g_thread_init (NULL);
+	g_test_init (&argc, &argv, NULL);
+
+        /* Init */
+        tracker_db_manager_init (TRACKER_DB_MANAGER_FORCE_REINDEX, 
+                                 &first_time);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/unattach/common_db_tables",
+                        test_creation_common_db);
+
+        // XESAM is not available
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/unattach/cache_db_tables",
+                        test_creation_cache_db);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/unattach/file_meta_db_tables",
+                         test_creation_file_meta_db);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/unattach/file_contents_db_tables",
+                         test_creation_file_contents_db);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/unattach/email_meta_db_tables",
+                         test_creation_email_meta_db);
+
+        g_test_add_func ("/libtracker-db/tracker-db-manager/unattach/email_contents_db_tables",
+                         test_creation_email_contents_db);
+
+        result = g_test_run ();
+        
+        /* End */
+        tracker_db_manager_shutdown (TRUE);
+
+        return result;
+}



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