[tracker/tracker-0.8] First version of fts functional test cases



commit 39de4c4e64218fec6a501e3280a9117203d293e3
Author: Maitrey Mishra <ext-maitrey mishra nokia com>
Date:   Tue Jul 27 09:29:48 2010 +0100

    First version of fts functional test cases

 configure.ac                                 |    1 +
 tests/functional-tests/Makefile.am           |    1 +
 tests/functional-tests/configuration.py      |    2 +-
 tests/functional-tests/data/Makefile.am      |    3 +-
 tests/functional-tests/data/Text/Makefile.am |    8 +
 tests/functional-tests/fts-tc.py             |  728 ++++++++++++++++++++++++++
 tests/functional-tests/mass-storage-mode.py  |  427 ++++++++--------
 tests/functional-tests/tests.xml             |  722 +++++++++++++++-----------
 8 files changed, 1380 insertions(+), 512 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 3bbdc6b..7b4b3a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1760,6 +1760,7 @@ AC_CONFIG_FILES([
 	tests/functional-tests/data/Music/Makefile
 	tests/functional-tests/data/Images/Makefile
 	tests/functional-tests/data/Video/Makefile
+	tests/functional-tests/data/Text/Makefile
 	tests/Makefile
 	tests/tracker-miner-fs/Makefile
 	tests/tracker-extract/Makefile
diff --git a/tests/functional-tests/Makefile.am b/tests/functional-tests/Makefile.am
index 2f6c7a4..da5e0e9 100644
--- a/tests/functional-tests/Makefile.am
+++ b/tests/functional-tests/Makefile.am
@@ -19,6 +19,7 @@ config_SCRIPTS =			\
 	configuration.py		\
 	metadata_extraction_tc.py	\
 	mass-storage-mode.py		\
+	fts-tc.py			\
 	miner-basic-ops.py		\
 	performance-tc.py		\
 	tests.xml			\
diff --git a/tests/functional-tests/configuration.py b/tests/functional-tests/configuration.py
index cdb9f09..177fa59 100644
--- a/tests/functional-tests/configuration.py
+++ b/tests/functional-tests/configuration.py
@@ -98,7 +98,7 @@ def check_target():
         release = fcontent.lower().replace(' ','')
         fhandle.close()
 
-        if "maemo6" in release:
+        if "maemo" in release:
             if os.path.exists(sboxindicator) and \
             os.path.isfile(os.readlink(sboxindicator)) :
                 return MAEMO6_SBOX
diff --git a/tests/functional-tests/data/Makefile.am b/tests/functional-tests/data/Makefile.am
index c36aefd..231f058 100644
--- a/tests/functional-tests/data/Makefile.am
+++ b/tests/functional-tests/data/Makefile.am
@@ -3,7 +3,8 @@ include $(top_srcdir)/Makefile.decl
 SUBDIRS = 		\
 	Music		\
 	Video		\
-	Images
+	Images		\
+	Text		
 
 configdir = $(datadir)/tracker-tests/data
 
diff --git a/tests/functional-tests/data/Text/Makefile.am b/tests/functional-tests/data/Text/Makefile.am
new file mode 100644
index 0000000..b831d47
--- /dev/null
+++ b/tests/functional-tests/data/Text/Makefile.am
@@ -0,0 +1,8 @@
+include $(top_srcdir)/Makefile.decl
+
+configdir = $(datadir)/tracker-tests/data/Text
+
+config_DATA =			
+
+EXTRA_DIST = $(config_DATA)
+
diff --git a/tests/functional-tests/fts-tc.py b/tests/functional-tests/fts-tc.py
new file mode 100644
index 0000000..025dcc1
--- /dev/null
+++ b/tests/functional-tests/fts-tc.py
@@ -0,0 +1,728 @@
+#!/usr/bin/env python
+#-*- coding: latin-1 -*-
+
+
+# Copyright (C) 2008, Nokia (urho konttori nokia com)
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the
+# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+# Boston, MA  02110-1301, USA.
+
+
+import sys,os,dbus
+import unittest
+import time
+import random
+import commands
+import configuration
+from dbus.mainloop.glib import DBusGMainLoop
+import gobject
+import shutil
+from subprocess import Popen,PIPE
+
+TRACKER = 'org.freedesktop.Tracker1'
+
+TRACKER_OBJ = '/org/freedesktop/Tracker1/Resources'
+RESOURCES_IFACE = "org.freedesktop.Tracker1.Resources"
+
+
+MINER="org.freedesktop.Tracker1.Miner.Files"
+MINER_OBJ="/org/freedesktop/Tracker1/Miner/Files"
+MINER_IFACE="org.freedesktop.Tracker1.Miner"
+
+TEST_IMAGE = "test-image-1.jpg"
+TEST_MUSIC = "tracker-mp3-test.mp3"
+TEST_VIDEO = "test-video.mp4"
+TEST_TEXT =  "test-text-01.txt"
+TEST_TEXT_02 = "test-text-02.txt"
+TEST_TEXT_03 = "test-text-03.txt"
+TEXT_DB = "/home/user/.cache/tracker/fulltext.db"
+
+MOUNT_DUMMY = '/root/dummy/'                                       
+MYDOCS = configuration.MYDOCS                                     
+MOUNT_PARTITION = '/dev/mmcblk0p1' 
+
+"""create two test directories in miner monitored path  """
+target = configuration.check_target()
+
+if target == configuration.MAEMO6_HW:
+    """target is device """
+    TEST_DIR_1 = configuration.MYDOCS + "tracker_test_op_1"
+    TEST_DIR_2 = configuration.MYDOCS + "tracker_test_op_2"
+    """create a test directory in miner un-monitored path  """
+    #TEST_DIR_3 = configuration.TEST_DIR + "tracker_test_op_3"
+    TEST_DIR_3 = configuration.MYDOCS + "core-dumps/" + "tracker_test_op_3"
+    SRC_IMAGE_DIR = configuration.TEST_DATA_IMAGES
+    SRC_MUSIC_DIR = configuration.TEST_DATA_MUSIC
+    SRC_VIDEO_DIR = configuration.TEST_DATA_VIDEO
+    SRC_TEXT_DIR  = configuration.TEST_DATA_TEXT
+    MYDOCS_SUB =  configuration.MYDOCS + 's1/s2/s3/s4/s5/'
+
+elif target == configuration.DESKTOP:
+    """target is DESKTOP """
+    TEST_DIR_1 = os.path.expanduser("~") + '/' + "tracker_test_op_1"
+    TEST_DIR_2 = os.path.expanduser("~") + '/' + "tracker_test_op_2"
+    TEST_DIR_3 = os.path.expanduser("~") + '/' + "core-dumps/" + "tracker_test_op_3"
+    SRC_IMAGE_DIR = configuration.VCS_TEST_DATA_IMAGES
+    SRC_MUSIC_DIR = configuration.VCS_TEST_DATA_MUSIC
+    SRC_VIDEO_DIR = configuration.VCS_TEST_DATA_VIDEO
+    MYDOCS_SUB =  os.path.expanduser("~") + 's1/s2/s3/s4/s5/'
+
+commands.getoutput('mkdir ' + TEST_DIR_1)           
+                                                                         
+"""creating hidden directory """                                                                                             
+HIDDEN_DIR = configuration.MYDOCS + '.test_hidden' 
+commands.getoutput('mkdir -p  ' + HIDDEN_DIR)       
+                                                                                                                             
+tdcpy = configuration.TDCopy()                                                                                               
+tdcpy.set_test_data(target)   
+
+"""creating text file"""
+
+print SRC_TEXT_DIR+TEST_TEXT
+f1=open(SRC_TEXT_DIR+TEST_TEXT,'w')
+
+lines = "The Content framework subsystem provides data and metadata storage and retrieval for the platform. Its stack contains\
+    * A store of information (tracker) based on the triplet-store concept including a specific query language (SparQL, W3C standard)\
+    * A convenience library (libQtTracker) with common functionality for all client applications  \
+    * A set of widgets for tagging and content browsing (subject of its own architecture document) \
+    * A daemon to create thumbnails (Tumbler) \
+    * A library (libthumbnailer) for a convenient access to the thumbnail daemon  \
+    "
+f1.write(lines)
+f1.close()
+
+class TestUpdate (unittest.TestCase):
+
+    def setUp(self):
+        bus = dbus.SessionBus()
+        tracker = bus.get_object(TRACKER, TRACKER_OBJ)
+        self.resources = dbus.Interface (tracker,
+                                         dbus_interface=RESOURCES_IFACE)
+
+        miner_obj= bus.get_object(MINER,MINER_OBJ)
+        self.miner=dbus.Interface (miner_obj,dbus_interface=MINER_IFACE)
+
+
+        self.loop = gobject.MainLoop()
+        self.dbus_loop = DBusGMainLoop(set_as_default=True)
+        self.bus = dbus.SessionBus (self.dbus_loop)
+
+        self.bus.add_signal_receiver (self.miner_processing_cb,
+                                      signal_name="Progress",
+                                      dbus_interface=MINER_IFACE,
+                                      path=MINER_OBJ)
+
+    def miner_processing_cb (self,status,handle):
+        print "GOT PROGRESS FROM MINER"
+
+        if (status == "Processing Files") :
+            print "Miner started"
+        elif (status == "Idle" ):
+            """if the string is "Idle" quit the loop """
+            print "Miner Idle"
+            self.loop.quit()
+        else :
+            print "No specific Signal"
+
+    def wait_for_fileop (self, cmd, src, dst=''):
+        if (cmd == "rm"):
+            os.remove(src)
+        elif (cmd == "cp"):
+            shutil.copy2(src, dst)
+        else:
+            shutil.move(src,dst)
+        self.loop.run()
+
+    def edit_text (self, file,word) :                                                                          
+        test_file =  file                                             
+        f=open(test_file,"w")                                                                             
+        f.writelines(word)                                                                               
+        f.close()    
+
+class basic (TestUpdate) :
+
+      def test_text_01 (self) :
+	
+	""" To check if tracker search for a long word gives results """
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+                    
+        """copy the test files """          
+	time.sleep(1)
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+
+	word = "fsfsfsdfskfweeqrewqkmnbbvkdasdjefjewriqjfnc"
+
+	self.edit_text(file_path,word)
+
+	self.loop.run()
+
+	result=commands.getoutput ('tracker-search  ' + word + '|grep  '+file_path+ '|wc -l ')
+	print result
+	self.assert_(result=='1','search for the word is not giving results')
+	os.remove(file_path)
+
+      def test_text_02 (self) :
+
+ 	""" To check if tracker search for a word gives results """
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+                    
+        """copy the test files """          
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+	word = "this is a meego file "
+	search_word = "meego"
+
+	self.edit_text(file_path,word)
+	self.loop.run()
+
+	result=commands.getoutput ('tracker-search  ' + search_word+ '|grep  '+file_path+ '|wc -l ' )
+	print result
+	self.assert_(result=='1','search for the word is not giving results')
+
+	os.remove (file_path)
+
+      def test_text_03 (self) :
+	
+	""" To check if tracker search for a non existing word gives results """
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+                    
+        """copy the test files """          
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+	word = "trick "
+	search_word = "trikc"
+
+	self.edit_text(file_path,word)
+	self.loop.run()
+
+	result=commands.getoutput ('tracker-search  ' + search_word + '|grep  '+file_path+ '|wc -l ')
+	print result
+	self.assert_(result=='0','search for the non existing  word is giving results')
+
+	os.remove (file_path)
+
+      def test_text_04 (self) :
+
+	""" To check if tracker search for a word gives results (File contains same word multiple times)"""  
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+                    
+        """copy the test files """          
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+	sentence= "this is a crazy day. i m feeling crazy. rnt u crazy. everyone is crazy."
+	search_word = "crazy"
+
+	self.edit_text(file_path,sentence)
+	self.loop.run()
+
+	result=commands.getoutput ('tracker-search  ' + search_word + '|grep  '+file_path+ '|wc -l ')
+	print result
+	self.assert_(result=='1','search for the word  not giving results')
+
+	os.remove (file_path)
+
+      def test_text_05 (self) :
+
+	""" To check if tracker search for sentence gives results """  
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+                    
+        """copy the test files """          
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+	sentence= " 'this is a lazy fox. '"
+
+	self.edit_text(file_path,sentence)
+	self.loop.run()
+
+	result=commands.getoutput ('tracker-search  ' +sentence+ '|grep  '+file_path+ '|wc -l ')
+	print result
+	self.assert_(result=='1','search for the sentence is not giving results')
+
+	os.remove (file_path)
+
+    
+      def test_text_06 (self) :
+
+	""" To check if tracker search for part of sentenece gives results """  
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+                    
+        """copy the test files """          
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+	sentence= " 'this is a lazy fox. '"
+	search_sentence =  " 'this is a lazy  '"
+
+	self.edit_text(file_path,sentence)
+	self.loop.run()
+
+	result=commands.getoutput ('tracker-search  ' + search_sentence+ '|grep  '+file_path+ '|wc -l ')
+	print result
+	self.assert_(result=='1','search for the sentence is not giving results')
+
+	os.remove (file_path)
+    
+
+      def test_text_07 (self) :
+
+	""" To check if tracker search for  sentenece gives results """	
+        file_path =  configuration.MYDOCS + TEST_TEXT
+                    
+        """copy the test files """          
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+	sentence= " 'summer.time '"
+
+	self.edit_text(file_path,sentence)
+	self.loop.run()
+
+	result=commands.getoutput ('tracker-search  ' + sentence+ '|grep  '+file_path+ '|wc -l ')
+	print result
+	self.assert_(result=='1','search for the sentence is not giving results')
+
+	os.remove (file_path)
+
+
+      def test_text_08 (self) :
+
+	""" To check if tracker search for  sentenece gives results """ 
+
+	file_path =  configuration.MYDOCS + TEST_TEXT                   
+                                                                        
+        """copy the test files """                                      
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path) 
+        sentence= " 'summer.time '"                                     
+        search_word = '.'                                           
+
+        self.edit_text(file_path,sentence)                              
+        self.loop.run()                                                 
+
+        result=commands.getoutput ('tracker-search  ' + search_word+ '|grep  '+file_path+ '|wc -l ')    
+        print result                                                    
+	self.assert_(result=='0','search for the word is not giving results')
+
+        os.remove (file_path)
+
+      def test_text_09 (self) :
+
+	""" To check if tracker search for a word (combination of alphabets and numbers)  gives results """ 
+
+	file_path =  configuration.MYDOCS + TEST_TEXT                   
+                                                                        
+        """copy the test files """                                      
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path) 
+        word = "abc123"                                     
+
+        self.edit_text(file_path,word)                              
+        self.loop.run()                                                 
+
+        result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')    
+        print result                                                    
+	self.assert_(result=='1','search for the word is not giving results')
+
+        os.remove (file_path)
+
+      def test_text_10 (self) :
+	""" To check if tracker search for a number (from a combination of alphabets and numbers)  gives results """
+
+	file_path =  configuration.MYDOCS + TEST_TEXT                   
+                                                                        
+        """copy the test files """                                      
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path) 
+        sentence = "abc 123"                                     
+	search_word = "123"
+
+        self.edit_text(file_path,search_word)                              
+        self.loop.run()                                                 
+
+        result=commands.getoutput ('tracker-search  ' + search_word+ '|grep  '+file_path+ '|wc -l ')    
+        print result                                                    
+	self.assert_(result=='0','search for the word is not giving results')
+
+        os.remove (file_path)
+
+      def test_text_12 (self) :
+
+	""" To check if tracker-search for a word(file which contains this file is removed) gives result"""
+
+	file_path =  configuration.MYDOCS + TEST_TEXT                   
+                                                                        
+        """copy the test files """                                      
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path) 
+	word = "abc"
+        self.edit_text(file_path,word)                              
+        self.loop.run()                                                 
+
+        result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')    
+        print result                                                    
+	self.assert_(result=='1','search for the word is not giving results')
+
+        self.wait_for_fileop('rm' , file_path)
+
+        result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')    
+	
+        result1=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path)    
+	print result1
+        print result                                                    
+	self.assert_(result=='0','search for the non existing files giving results')
+
+      def test_text_13 (self) :                                                                                              
+                                                                                                                             
+        """ To check if tracker-search for a word in different text files with similar 3 letter words and search for the word gives result """
+                                                                                                                             
+        file_path =  configuration.MYDOCS + TEST_TEXT                                                                        
+        file_path_02 =  configuration.MYDOCS + TEST_TEXT_02                                                                  
+        file_path_03 =  configuration.MYDOCS + TEST_TEXT_03                                                                  
+                                                                                                                             
+        """copy the test files """                                                                                           
+
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)                                                      
+        sentence= " 'feet '"                                                                                                 
+        self.edit_text(file_path,sentence)                                                                                   
+        self.loop.run()                                                                                                      
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path_02)                                                   
+        sentence= " 'feel '"                                                                                                 
+        self.edit_text(file_path_02,sentence)                                                                                
+        self.loop.run()                                                                                                      
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path_03)                                                   
+        sentence= " 'fee '"                                                                                                  
+        self.edit_text(file_path_03,sentence)                                                                                
+        self.loop.run()                                                                                                      
+                                                                                                                             
+        search_word = 'feet'                                                                                                 
+        result=commands.getoutput ('tracker-search  ' + search_word+ '|grep  '+file_path+ '|wc -l ')                         
+        print result                                                                                                         
+        self.assert_(result=='1','search for the word is not giving results')                                                
+                                                                                                                             
+        os.remove (file_path)                                                                                                
+        os.remove (file_path_02)                                                                                             
+        os.remove (file_path_03)      
+
+      def test_text_14 (self) :                                                                                              
+                                                                                                                             
+        """ To check if tracker-search for a word in unwatched directory and gives result"""                                 
+                                                                                                                             
+        file_path =  "/root/" + TEST_TEXT                                                                                    
+                                                                                                                             
+        """copy the test files """                                                                                           
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)                                                      
+        word = "framework"                                                                                                   
+                                                                                                                             
+        result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')                                
+        print result                                                                                                         
+        self.assert_(result=='0','search for the word is not giving results')                                                
+                                                                                                                             
+        os.remove (file_path)                                                                                                
+                                                                                                                             
+      def test_text_15 (self) :                                                                                              
+                                                                                                                             
+        """ To check if tracker-search for a word(file which is copied from no watch directories to watched directories) gives results """
+                                                                                                                             
+        FILE_NAME =  "/root/" + TEST_TEXT                                                                                    
+        file_path =  configuration.MYDOCS + TEST_TEXT                                                                        
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)                                                      
+        word= "The Content framework subsystem provides data"                                                                
+                                                                                                                             
+        self.edit_text(FILE_NAME,word)                                                                                       
+                                                                                                                             
+        """copy the test files """                                                                                           
+        self.wait_for_fileop('cp', FILE_NAME, file_path)                                                                     
+                                                                                                                             
+        word = "framework"                                                                                                   
+                                                                                                                             
+        result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')                                
+        print result                                                                                                         
+        self.assert_(result=='1','search for the word is giving results')                                                    
+                                                                                                                             
+        os.remove (file_path)                               
+
+      def test_text_16 (self) :                                                                                              
+                                                                                                                             
+        """ To check if tracker-search for a word(file which is in hidden directory) gives result"""                         
+        file_path =  HIDDEN_DIR+TEST_TEXT                                                                                   
+                                                                                                                             
+        """copy the test files """                                                                                           
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT , file_path)                                                     
+        word = "framework"                                                                                                   
+                                                                                                                             
+        result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')                                
+        print result                                                                                                         
+        self.assert_(result=='0','search for the word is giving results')                                                    
+                                                                                                                             
+        os.remove (file_path)       
+
+
+class stopwords (TestUpdate):	
+     
+      def test_sw_01 (self) :
+	file_path =  configuration.MYDOCS + TEST_TEXT                   
+                                                                        
+        """copy the test files """                                      
+	test_file='/usr/share/tracker/languages/stopwords.en'
+	f1=open(test_file,'r')
+	lines = f1.readlines()
+	f1.close()
+	list = []
+	for word in lines:
+		result=Popen(['tracker-search',word],stdout=PIPE).stdout.read().split()
+		if result[1] == '1':
+			list.append(word)
+	self.assert_(len(list) == 0 , 'tracker search is giving results for stopwords %s '%list)
+
+      def test_sw_02 (self) :
+	
+        word= "AND"                                     
+	result=Popen(['tracker-search',word],stdout=PIPE).stdout.read().split()             
+        self.assert_(result[1] == '0' , 'tracker search is giving results for stopwords')
+
+class db_text ( TestUpdate ) :
+
+      def test_db_01 (self):
+	file_path =  configuration.MYDOCS + TEST_TEXT		
+	self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path) 
+        word = "summer"                                     
+        self.edit_text(file_path,word)
+	time.sleep(2)
+	result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')                         
+        print result                                                                                                         
+        self.assert_(result=='1','search for the word is not giving results')   
+	commands.getoutput('cp  '+SRC_IMAGE_DIR+TEST_IMAGE+ '  '+TEXT_DB)
+	time.sleep(1)
+	result=commands.getoutput ('tracker-search  ' + word+ '|grep  '+file_path+ '|wc -l ')                         
+        print result                                                                                                         
+        self.assert_(result=='1','search for the word is not giving results')   
+
+
+
+
+class msm (TestUpdate) :
+	
+      def test_msm_01 (self) :
+
+	""" To check if tracker search gives results for the word search which is copied in mass storage mode """
+	
+	commands.getoutput ('umount  ' + MOUNT_PARTITION )
+	commands.getoutput ('mount -t vfat -o rw ' +MOUNT_PARTITION+'  '+MOUNT_DUMMY)
+
+	dummy_path =  MOUNT_DUMMY + TEST_TEXT		
+	file_path  =   configuration.MYDOCS+TEST_TEXT 
+	commands.getoutput('cp   '+SRC_TEXT_DIR + TEST_TEXT +'  '+ dummy_path) 
+
+	commands.getoutput ('umount  ' + MOUNT_PARTITION )
+	commands.getoutput ('mount -t vfat -o rw ' +MOUNT_PARTITION+'  '+MYDOCS)
+	time.sleep(10)
+        search_word = "information"                                     
+	result=commands.getoutput ('tracker-search  ' + search_word+ '|grep  '+file_path+ '|wc -l ')                         
+        print result                                                                                                         
+        self.assert_(result=='1','search for the word is not giving results')   
+
+class specialchar (TestUpdate) :
+	
+      def test_sc_01 (self):
+     	""" To check if tracker search for non English characters """
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+
+        """copy the test files """
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+        sentence= " 'anda�¼b�c' �"
+
+        self.edit_text(file_path,sentence)
+        self.loop.run()
+
+        result=commands.getoutput ('tracker-search  ' +sentence+ '|grep  '+file_path+ '|wc -l ')
+        print result
+        self.assert_(result=='1','search for the sentence is not giving results')
+
+        os.remove (file_path)
+
+      def test_cs_02 (self):
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+
+        """copy the test files """
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+
+	sentence = "вÑ?йÑ?Ñ?Ñ?жÑ?б"
+
+        self.edit_text(file_path,sentence)
+
+        self.loop.run()
+
+        result=commands.getoutput ('tracker-search  ' +sentence+ '|grep  '+file_path+ '|wc -l ')
+        print result
+        self.assert_(result=='1','search for the sentence is not giving results')
+
+        os.remove (file_path)
+
+      def test_cs_03 (self) :
+	 
+	""" To check if tracker search for non English characters """
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+
+        """copy the test files """
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+        sentence = " '�º�<80>�°�<81>�' "
+
+        self.edit_text(file_path,sentence)
+        self.loop.run()
+
+        result=commands.getoutput ('tracker-search  ' +sentence+ '|grep  '+file_path+ '|wc -l ')
+        print result
+        self.assert_(result=='1','search for the sentence is not giving results')
+
+        os.remove (file_path)
+
+      def test_cs_04 (self) :
+
+	""" To check if tracker search for non English  accented characters """
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+
+        """copy the test files """
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+        sentence = " 'a�¼�©�¢bc �¤� �§ x�ª�«�¨�¯yz �¼�©�¢�¤� �§�ª�«�¨�¯ and a�¼b�ªc�«d�§e�¯' "
+
+        self.edit_text(file_path,sentence)
+        self.loop.run()
+
+        result=commands.getoutput ('tracker-search  ' +sentence+ '|grep  '+file_path+ '|wc -l ')
+        print result
+        self.assert_(result=='1','search for the sentence is not giving results')
+
+        os.remove (file_path)
+
+      def test_cs_05 (self) :
+
+	""" To check if tracker search for combination of English characters and accented characters"""
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+
+        """copy the test files """
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+        sentence = " 'beautiful and x�ª�«�¨�¯yz �¼�©�¢�¤� �§�ª�«�¨�¯ and a�¼b�ªc�«d�§e�¯' "
+
+        self.edit_text(file_path,sentence)
+        self.loop.run()
+
+        result=commands.getoutput ('tracker-search  ' +sentence+ '|grep  '+file_path+ '|wc -l ')
+        print result
+        self.assert_(result=='1','search for the sentence is not giving results')
+
+        os.remove (file_path)
+	  
+      def test_cs_06 (self):
+	  
+	""" To check if tracker search for normalisation """
+
+        file_path =  configuration.MYDOCS + TEST_TEXT
+
+        """copy the test files """
+        self.wait_for_fileop('cp', SRC_TEXT_DIR + TEST_TEXT, file_path)
+	sentence = "école"
+        word = " 'ecole' "
+
+        self.edit_text(file_path,sentence)
+        self.loop.run()
+
+        result=commands.getoutput ('tracker-search  ' +word+ '|grep  '+file_path+ '|wc -l ')
+        print result
+        self.assert_(result=='1','search for the sentence is not giving results')
+
+        os.remove (file_path)
+	
+class applications (TestUpdate) :
+
+	def test_app_Images (self) :
+
+	    result= commands.getoutput ('tracker-search -i ' + TEST_IMAGE+ '|wc -l')
+	    self.assert_(result!=0 , 'tracker search for images is not giving results')
+
+
+	def test_app_Music (self) :
+
+	    result= commands.getoutput ('tracker-search -m ' + TEST_MUSIC+ '|wc -l')
+	    self.assert_(result!=0 , 'tracker search for music is not giving results')
+
+	def test_app_Vidoes (self) :
+
+	    result= commands.getoutput ('tracker-search -v ' + TEST_VIDEO+ '|wc -l')
+	    self.assert_(result!=0 , 'tracker search for Videos is not giving results')
+
+
+	def test_app_music_albums (self) :
+
+	    result= commands.getoutput ('tracker-search --music-albums SinCos  | wc -l')
+	    self.assert_(result!=0 , 'tracker search for music albums is not giving results')
+
+	
+	def test_app_music_artists (self) :
+
+	    result= commands.getoutput ('tracker-search --music-artists AbBaby  | wc -l')
+	    self.assert_(result!=0 , 'tracker search for music artists is not giving results')
+
+	def test_app_folders (self) :
+
+	    result= commands.getoutput ('tracker-search -s '+TEST_DIR_1 + '| wc -l')
+	    self.assert_(result!=0 , 'tracker search for folders is not giving results')
+
+	
+	def test_app_email (self) :
+
+	    INSERT = """ INSERT {<qmf://fenix.nokia.com/email#3333> a nmo:Email ;
+			 nmo:receivedDate '2010-05-24T15:17:26Z' ;
+ 			 nmo:messageSubject 'searching_for_Email' } 
+                      """
+	    self.resources_new.SparqlUpdate (INSERT)
+	    
+	    result = commands.getoutput ('tracker-search -ea searching_for_Email |wc -l ')
+	    self.assert_(result!=0 , 'tracker search for files is not giving results')
+
+	def test_app_email (self) :
+
+	    INSERT = """ INSERT {<qmf://fenix.nokia.com/email#3333> a nmo:Email ;
+			 nmo:receivedDate '2010-05-24T15:17:26Z' ;
+ 			 nmo:messageSubject 'searching_for_Email' } 
+                      """
+	    #self.resources.SparqlUpdate (INSERT)
+            self.resources.SparqlUpdate  (INSERT)
+	    
+	    result = commands.getoutput ('tracker-search -ea searching_for_Email |wc -l ')
+	    self.assert_(result!=0 , 'tracker search for files is not giving results')
+
+
+if __name__ == "__main__":  
+	unittest.main()
+	"""
+	basic_tcs_list=unittest.TestLoader().getTestCaseNames(basic)       
+        basic_testsuite=unittest.TestSuite(map(basic, basic_tcs_list))
+
+	db_text_tcs_list=unittest.TestLoader().getTestCaseNames(db_text)       
+        db_text_testsuite=unittest.TestSuite(map(db_text, db_text_tcs_list))
+	msm_tcs_list=unittest.TestLoader().getTestCaseNames(msm)       
+        msm_testsuite=unittest.TestSuite(map(msm, msm_tcs_list))
+
+	stopwords_tcs_list=unittest.TestLoader().getTestCaseNames(stopwords)       
+        stopwords_testsuite=unittest.TestSuite(map(stopwords, stopwords_tcs_list))
+
+	applications_tcs_list=unittest.TestLoader().getTestCaseNames(applications)       
+        applications_testsuite=unittest.TestSuite(map(applications, applications_tcs_list))
+
+	specialchar_tcs_list=unittest.TestLoader().getTestCaseNames(specialchar)       
+        specialchar_testsuite=unittest.TestSuite(map(specialchar, specialchar_tcs_list))
+
+        all_testsuites = unittest.TestSuite(specialchar_testsuite)
+        unittest.TextTestRunner(verbosity=2).run(all_testsuites)
+	"""
diff --git a/tests/functional-tests/mass-storage-mode.py b/tests/functional-tests/mass-storage-mode.py
index a115268..dc256c6 100644
--- a/tests/functional-tests/mass-storage-mode.py
+++ b/tests/functional-tests/mass-storage-mode.py
@@ -36,6 +36,8 @@ MINER="org.freedesktop.Tracker1.Miner.Files"
 MINER_OBJ="/org/freedesktop/Tracker1/Miner/Files"
 MINER_IFACE="org.freedesktop.Tracker1.Miner"
 
+
+
 TEST_IMAGE = "test-image-1.jpg"
 TEST_MUSIC = "tracker-mp3-test.mp3"
 TEST_VIDEO = "test-video.mp4"
@@ -140,22 +142,20 @@ class copy (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw  '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 
         """copy the test file """
         shutil.copy2(SRC_IMAGE_DIR + TEST_IMAGE, MOUNT_DUMMY)
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + MYDOCS)
 
-        """since we get Idle signal twicei after mounting, in the second one, the indexing is completed. """
-        self.loop.run ()
         self.loop.run ()
 
         """ verify if miner indexed these file.  """
@@ -173,21 +173,18 @@ class copy (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
         """copy the test files """
         shutil.copy2(SRC_MUSIC_DIR + TEST_MUSIC, MOUNT_DUMMY)
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount  -t vfat -o rw  '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
         print commands.getoutput ( 'ls ' + MYDOCS)
 
-        """since we get Idle signal twice after mounting,
-        in the second one, the indexing is completed. """
-        self.loop.run ()
         self.loop.run ()
 
         """ verify if miner indexed these file.  """
@@ -205,23 +202,20 @@ class copy (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw'  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
         """copy the test files """
         shutil.copy2(SRC_VIDEO_DIR + TEST_VIDEO, MOUNT_DUMMY)
 
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + MYDOCS)
 
-        """since we get Idle signal twice after mounting,
-        in the second one, the indexing is completed. """
-        self.loop.run ()
         self.loop.run ()
 
         """ verify if miner indexed these file.  """
@@ -233,130 +227,124 @@ class copy (TestUpdate):
 
 
 """ move in mass storage mode"""
-
-class move (TestUpdate) :
-
-    def test_image_01 (self):
-
-    	""" To check if tracker indexes image files moved  in massstorage mode """
-	file_path_src =  MYDOCS     + TEST_IMAGE
-	file_path_dst =  MYDOCS_DIR + TEST_IMAGE
-
-        check_mount()
-
-	"""copy the test files """
-	self.wait_for_fileop('cp', SRC_IMAGE_DIR + TEST_IMAGE , file_path_src)
-	time.sleep(2)
-	result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_src + ' | wc -l')
-	print result
-        self.assert_(result == '1' , 'copied file is not shown as indexed')
-
-        commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
-        commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
-	commands.getoutput('mkdir   ' + DUMMY_DIR)
-
-	shutil.move( MOUNT_DUMMY + TEST_IMAGE ,  DUMMY_DIR)
-
-        commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
-        commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
-
-        print commands.getoutput ( 'ls ' + MYDOCS)
-	self.loop.run()
-	self.loop.run()
-
-	""" verify if miner indexed this file.  """
-	result =  commands.getoutput(' tracker-search -i -l 10000 | grep  ' + file_path_dst + ' |wc -l' )
-	print result
-        self.assert_(result == '1' , 'moved image file is not shown as indexed')
-
-        os.remove(file_path_dst)
-
-
-
-    def test_music_01 (self):
-
-
-    	""" To check if tracker indexes  audio files moved in massstorage mode """
-
-	file_path_dst =  MYDOCS_DIR + TEST_MUSIC
-	file_path_src =  MYDOCS     + TEST_MUSIC
-
-        check_mount()
-
-	"""copy the test files """
-
-	self.wait_for_fileop('cp' , SRC_MUSIC_DIR + TEST_MUSIC , file_path_src)
-	time.sleep(2)
-	result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_src + ' | wc -l')
-        print result
-        self.assert_(result == '1' , 'copied file is not shown as indexed')
-
-        commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
-        commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
-	commands.getoutput('mkdir   ' + DUMMY_DIR)
-
-	shutil.move( MOUNT_DUMMY  + TEST_MUSIC , DUMMY_DIR)
-        commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
-        commands.getoutput ( 'mount  ' + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
-
-        print commands.getoutput ( 'ls ' + MYDOCS)
-
-	self.loop.run()
-	self.loop.run()
-
-	""" verify if miner indexed these file.  """
-
-        result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_dst + ' | wc -l')
-        print result
-        self.assert_(result == '1' , 'moved music file is not shown as indexed')
-
-        os.remove(file_path_dst)
-
-    def test_video_01 (self):
-
-    	""" To check if tracker indexes  video files moved in massstorage mode """
-	file_path_dst =  MYDOCS_DIR + TEST_VIDEO
-	file_path_src =  MYDOCS     + TEST_VIDEO
-
-        check_mount()
-
-	"""copy the test files """
-	self.wait_for_fileop('cp' ,SRC_VIDEO_DIR + TEST_VIDEO,file_path_src)
-	time.sleep(2)
-
-	result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_src+ ' | wc -l')
-        print result
-        self.assert_(result == '1' , 'moved file is not shown as indexed')
-
-        commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
-        commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
-	commands.getoutput('mkdir   ' + DUMMY_DIR)
-
-	shutil.move(MOUNT_DUMMY + TEST_VIDEO , DUMMY_DIR)
-        commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
-        commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
-        print commands.getoutput ( 'ls ' + MYDOCS)
-	self.loop.run()
-	self.loop.run()
-
-	""" verify if miner indexed these file.  """
-        result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_dst + ' | wc -l')
-        print result
-        self.assert_(result == '1' , 'moved video file is not shown as indexed')
-
-        os.remove(file_path_dst)
+class move (TestUpdate):                                                     
+                                                            
+                                                            
+    def test_image_01 (self):                               
+                                                               
+        """ To check if tracker indexes moved image file in massstorage mode """      
+                                                                                
+        file_path_dst =  MYDOCS_DIR + TEST_IMAGE                                
+        file_path_src =  MYDOCS + TEST_IMAGE                
+                                                                                
+        check_mount()                                                           
+                                                                                                              
+        """copy the test files """                                              
+        self.wait_for_fileop('cp', SRC_IMAGE_DIR + TEST_IMAGE, file_path_src)      
+                                                                                
+        result =  commands.getoutput(' tracker-search -i -l 10000 | grep  ' + file_path_src + ' |wc -l' )      
+        self.assert_(result == '1' , 'copied image file is not shown as indexed')                                     
+                                                                                                         
+        commands.getoutput ( 'umount ' + MOUNT_PARTITION )                       
+                                                                                                         
+        commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)                            
+                                                                                                         
+        shutil.move( MOUNT_DUMMY + TEST_IMAGE , DUMMY_DIR)                                               
+                                                                                                         
+        commands.getoutput ( 'umount ' + MOUNT_PARTITION )                                               
+                                                                                 
+        commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)                   
+                                                                                                         
+        print commands.getoutput ( 'ls ' + MYDOCS)                                                       
+        self.loop.run()                                                                                  
+                                                                                                         
+        """ verify if miner indexed these file.  """                                                     
+        result =  commands.getoutput(' tracker-search -i -l 10000 | grep  ' + file_path_dst + ' |wc -l' )
+                                                                                                         
+        self.assert_(result == '1'  , 'moved file is not listed in tracker search')                      
+        result1 = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_src + ' | wc -l')
+        self.assert_(result == '1' and result1 == '0' , 'Both the  original and moved files are listed in tracker search')
+                                                                                                                          
+        os.remove(file_path_dst)                                                                                          
+                                                                                                               
+                                                                                                                          
+    def test_music_01 (self):                                                                                             
+                                                                                                                          
+        """ To check if tracker indexes moved audio files in massstorage mode """                                         
+                                                                                        
+
+ 	file_path_dst =  MYDOCS_DIR + TEST_MUSIC                                                                          
+        file_path_src =  MYDOCS + TEST_MUSIC                                                                              
+                                                                                                                          
+        check_mount()                                                                                                     
+                                                                                                                          
+        """copy the test files """                                                                                        
+        self.wait_for_fileop('cp', SRC_MUSIC_DIR + TEST_MUSIC, file_path_src)                                             
+                                                                                                                          
+        result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_src + ' | wc -l')            
+        self.assert_(result == '1' , 'copied music file is not shown as indexed')                                         
+                                                                                                                          
+        commands.getoutput ( 'umount ' + MOUNT_PARTITION )                                                                
+                                                                                                                          
+        commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)                                             
+                                                                                                                          
+        shutil.move( MOUNT_DUMMY  + TEST_MUSIC , DUMMY_DIR)                                                               
+        commands.getoutput ( 'umount ' + MOUNT_PARTITION )                                                                
+                                                                                                                          
+        commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)                                    
+                                                                                                                          
+        print commands.getoutput ( 'ls ' + MYDOCS)                                                                        
+                                                                                                                          
+        self.loop.run()                                                                                        
+                                                                                                                          
+        """ verify if miner indexed these file.  """                                                                      
+                                                                                                                          
+        result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_dst + ' | wc -l')            
+        print result                                                                                                      
+        self.assert_(result == '1' , 'moved music file is not shown as indexed')                                          
+                                                                                                                          
+        result1 = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_src + ' | wc -l')           
+        self.assert_(result == '1' and result1 == '0' , 'Both original and moved files are listed in tracker search ')    
+                                                                                                                          
+        os.remove(file_path_dst)                                                                                      
+                                                                                                                          
+                                                                                                                          
+    def test_video_01 (self):                                                                                             
+                                                                                                                          
+        """ To check if tracker indexes moved video files in massstorage mode """                                     
+                                                                                                                          
+        file_path_dst =  MYDOCS_DIR + TEST_VIDEO                                                                          
+        file_path_src =  MYDOCS + TEST_VIDEO                                                                              
+                                                                                                                          
+        check_mount()                         
+	"""copy the test files """                                                                                        
+        self.wait_for_fileop('cp', SRC_VIDEO_DIR + TEST_VIDEO, file_path_src)                                             
+                                                                                                                          
+        result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_src + ' | wc -l')            
+        self.assert_(result == '1' , 'copied video file is not shown as indexed')                                         
+                                                                                                                          
+        commands.getoutput ( 'umount ' + MOUNT_PARTITION )                                                                
+                                                                                                                          
+        commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)                                             
+                                                                                                                      
+        shutil.move(MOUNT_DUMMY + TEST_VIDEO , DUMMY_DIR)                                                                 
+        commands.getoutput ( 'umount ' + MOUNT_PARTITION )                                                                
+                                                                                                                          
+        commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)                                    
+                                                                                                                          
+        print commands.getoutput ( 'ls ' + MYDOCS)                                                                        
+        self.loop.run()                                                                                                   
+        """ verify if miner indexed these file.  """                                                                      
+                                                                                                                          
+        result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_dst + ' | wc -l')            
+                                                                                                                      
+        self.assert_(result == '1' , 'moved file is not listed in tracker search ')                                       
+                                                                                                                          
+        result1 = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_src + ' | wc -l')           
+        self.assert_(result == '1' and result1 == '0' , 'Both original and moved files are listed in tracker search ')    
+                                                                                                                      
+        os.remove(file_path_dst)                                                                                          
+                                                
 
 class rename (TestUpdate):
 
@@ -377,28 +365,26 @@ class rename (TestUpdate):
         self.assert_(result == '1' , 'copied image file is not shown as indexed')
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 	shutil.move( MOUNT_DUMMY + TEST_IMAGE ,  MOUNT_DUMMY+RENAME_IMAGE)
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
         print commands.getoutput ( 'ls ' + MYDOCS)
 	self.loop.run()
-	self.loop.run()
 
 	""" verify if miner indexed these file.  """
 	result =  commands.getoutput(' tracker-search -i -l 10000 | grep  ' + file_path_dst + ' |wc -l' )
-	print result
-        self.assert_(result == '1' , 'renamed image file is not shown as indexed')
 
+        self.assert_(result == '1'  , 'renamed file s not listed in tracker search')
 	result1 = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_src + ' | wc -l')
-        self.assert_(result == '1' and result1 == 0 , 'Both the  original and renamed files are listed in tracker search')
+        self.assert_(result == '1' and result1 == '0' , 'Both the  original and renamed files are listed in tracker search')
 
-	os.remove(file_path)
+	os.remove(file_path_dst)
 
 
     def test_music_01 (self):
@@ -417,18 +403,17 @@ class rename (TestUpdate):
         self.assert_(result == '1' , 'copied music file is not shown as indexed')
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 	shutil.move( MOUNT_DUMMY  + TEST_MUSIC , MOUNT_DUMMY+RENAME_MUSIC)
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
         print commands.getoutput ( 'ls ' + MYDOCS)
 
 	self.loop.run()
-	self.loop.run()
 
 	""" verify if miner indexed these file.  """
 
@@ -437,9 +422,9 @@ class rename (TestUpdate):
         self.assert_(result == '1' , 'renamed music file is not shown as indexed')
 
         result1 = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_src + ' | wc -l')
-        self.assert_(result == '1' and result1 == 0 , 'Both original and renamed files are listed in tracker search ')
+        self.assert_(result == '1' and result1 == '0' , 'Both original and renamed files are listed in tracker search ')
 
-	os.remove(file_path)
+	os.remove(file_path_dst)
 
 
     def test_video_01 (self):
@@ -458,27 +443,26 @@ class rename (TestUpdate):
         self.assert_(result == '1' , 'copied video file is not shown as indexed')
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 	shutil.move(MOUNT_DUMMY + TEST_VIDEO , MOUNT_DUMMY+RENAME_VIDEO)
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
         print commands.getoutput ( 'ls ' + MYDOCS)
 	self.loop.run()
-	self.loop.run()
 	""" verify if miner indexed these file.  """
 
         result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_dst + ' | wc -l')
-        print result
-        self.assert_(result == '1' , 'copied video file is not shown as indexed')
+
+        self.assert_(result == '1' , 'renamed file is not listed in tracker search ')
 
         result1 = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_src + ' | wc -l')
-        self.assert_(result == '1' and result1 == 0 , 'Both original and renamed files are listed in tracker search ')
+        self.assert_(result == '1' and result1 == '0' , 'Both original and renamed files are listed in tracker search ')
 
-	os.remove(file_path)
+	os.remove(file_path_dst)
 
 
 """ subfolder operations in mass storage mode """
@@ -493,9 +477,9 @@ class subfolder (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 
         """create a subfolder """
         commands.getoutput('mkdir -p '+ SUB_FOLDER_DUMMY)
@@ -504,14 +488,13 @@ class subfolder (TestUpdate):
         shutil.copy2(SRC_IMAGE_DIR + TEST_IMAGE, SUB_FOLDER_DUMMY)
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + SUB_FOLDER_MYDOCS)
 
-        """since we get Idle signal twicei after mounting, in the second one, the indexing is completed. """
-        self.loop.run ()
+        
         self.loop.run ()
 
         """ verify if miner indexed these file.  """
@@ -543,21 +526,20 @@ class subfolder (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 
         shutil.rmtree(MOUNT_DUMMY + '/' + 's1')
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + SUB_FOLDER_MYDOCS)
 
-        """since we get Idle signal twicei after mounting, in the second one, the indexing is completed. """
-        self.loop.run ()
+        
         self.loop.run ()
 
         """ verify if miner un-indexed these file.  """
@@ -585,23 +567,21 @@ class delete (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
         """remove the test files """
         os.remove(MOUNT_DUMMY + '/' + TEST_IMAGE)
 
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + MYDOCS)
 
-        """since we get Idle signal twice after mounting,
-        in the second one, the indexing is completed. """
-        self.loop.run ()
+       
         self.loop.run ()
 
         """ verify if miner un-indexed this file.  """
@@ -625,23 +605,21 @@ class delete (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
         """remove the test files """
         os.remove(MOUNT_DUMMY + '/' + TEST_MUSIC)
 
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + MYDOCS)
 
-        """since we get Idle signal twice after mounting,
-        in the second one, the indexing is completed. """
-        self.loop.run ()
+       
         self.loop.run ()
 
         """ verify if miner un-indexed this file.  """
@@ -666,24 +644,22 @@ class delete (TestUpdate):
 
         check_mount()
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 
         """remove the test files """
         os.remove(MOUNT_DUMMY + '/' + TEST_VIDEO)
 
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + MYDOCS)
 
-        """since we get Idle signal twice after mounting,
-        in the second one, the indexing is completed. """
-        self.loop.run ()
+      
         self.loop.run ()
 
         """ verify if miner un-indexed this file.  """
@@ -708,19 +684,19 @@ class text (TestUpdate) :
         check_mount()
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount '  + MOUNT_PARTITION + ' ' + MOUNT_DUMMY)
-	time.sleep(2)
+	  
 	self.edit_text(TEST_TEXT)
 
         commands.getoutput ( 'umount ' + MOUNT_PARTITION )
-	time.sleep(2)
+	  
         commands.getoutput ( 'mount -t vfat -o rw '  + MOUNT_PARTITION + ' ' + MYDOCS)
-	time.sleep(2)
+	  
 
         print commands.getoutput ( 'ls ' + MYDOCS)
 	self.loop.run()
-	self.loop.run()
+
 	""" verify if miner indexed these file.  """
 
         result = commands.getoutput ('tracker-search  -t  massstorage | grep ' + file_path + ' | wc -l')
@@ -738,7 +714,7 @@ class no_file_op(TestUpdate):
 
 	     check_mount()
              commands.getoutput ('umount /dev/mmcblk0p1')
-	     time.sleep(2)
+	       
              result = self.miner.GetStatus ()
              self.assert_(result == 'Idle' , 'Tracker is not in idle state')
 
@@ -751,7 +727,7 @@ class no_file_op(TestUpdate):
 
 	    check_mount()
 	    commands.getoutput ('umount /dev/mmcblk0p1')
-	    time.sleep(2)
+	      
 	    result = commands.getoutput ('tracker-search -f -l 10000 | grep ' + MYDOCS + '  |wc -l ')
 	    print result
 	    self.assert_(result == '0' , 'Tracker is listing the files when the device is connected in mass storage mode')
@@ -765,13 +741,42 @@ class no_file_op(TestUpdate):
 
 	    check_mount()
             commands.getoutput ('umount /dev/mmcblk0p1')
-	    time.sleep(2)
+	      
             result = commands.getoutput ('tracker-search -f -l 10000 |wc -l ')
             self.assert_(result != 0 , 'Tracker(checked with -a) is not listing the files when the device is connected in mass storage mode')
 
 if __name__ == "__main__":
 
-        unittest.main()
+        #unittest.main()
+        copy_tcs_list=unittest.TestLoader().getTestCaseNames(copy)
+        copy_testsuite=unittest.TestSuite(map(copy, copy_tcs_list))
+
+
+        move_tcs_list=unittest.TestLoader().getTestCaseNames(move)
+        move_testsuite=unittest.TestSuite(map(move, move_tcs_list))
+
+
+        rename_tcs_list=unittest.TestLoader().getTestCaseNames(rename)
+        rename_testsuite=unittest.TestSuite(map(rename, rename_tcs_list))
+
+        delete_tcs_list=unittest.TestLoader().getTestCaseNames(delete)
+        delete_testsuite=unittest.TestSuite(map(delete, delete_tcs_list))
+
+
+        subfolder_tcs_list=unittest.TestLoader().getTestCaseNames(subfolder)
+        subfolder_testsuite=unittest.TestSuite(map(subfolder, subfolder_tcs_list))
+
+
+        text_tcs_list=unittest.TestLoader().getTestCaseNames(text)
+        text_testsuite=unittest.TestSuite(map(text, text_tcs_list))
+
+        file_tcs_list=unittest.TestLoader().getTestCaseNames(no_file_op)
+        file_testsuite=unittest.TestSuite(map(no_file_op, file_tcs_list))
+
+        all_testsuites = unittest.TestSuite((rename_testsuite,move_testsuite,copy_testsuite,subfolder_testsuite,text_testsuite))
+
+        unittest.TextTestRunner(verbosity=2).run(all_testsuites)
+
 
 
 
diff --git a/tests/functional-tests/tests.xml b/tests/functional-tests/tests.xml
index a164225..4993faa 100644
--- a/tests/functional-tests/tests.xml
+++ b/tests/functional-tests/tests.xml
@@ -1,6 +1,310 @@
 <testdefinition version="0.1">
   <suite name="tracker">
     <description />
+    <set name="_usr_share_tracker-tests_mass-storage-mode.py">
+      <description>tracker:mass-storage-mode.py</description>
+      <case name="mass-storage-mode.py-copy.test_image_01">
+        <description>tracker:mass-storage-mode.py:copy.test_image_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py copy.test_image_01</step>
+      </case>
+      <case name="mass-storage-mode.py-copy.test_music_02">
+        <description>tracker:mass-storage-mode.py:copy.test_music_02</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py copy.test_music_02</step>
+      </case>
+      <case name="mass-storage-mode.py-copy.test_video_03">
+        <description>tracker:mass-storage-mode.py:copy.test_video_03</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py copy.test_video_03</step>
+      </case>
+      <case name="mass-storage-mode.py-delete.test_image_01">
+        <description>tracker:mass-storage-mode.py:delete.test_image_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py delete.test_image_01</step>
+      </case>
+      <case name="mass-storage-mode.py-delete.test_music_02">
+        <description>tracker:mass-storage-mode.py:delete.test_music_02</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py delete.test_music_02</step>
+      </case>
+      <case name="mass-storage-mode.py-delete.test_video_03">
+        <description>tracker:mass-storage-mode.py:delete.test_video_03</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py delete.test_video_03</step>
+      </case>
+      <case name="mass-storage-mode.py-move.test_image_01">
+        <description>tracker:mass-storage-mode.py:move.test_image_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py move.test_image_01</step>
+      </case>
+      <case name="mass-storage-mode.py-move.test_music_01">
+        <description>tracker:mass-storage-mode.py:move.test_music_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py move.test_music_01</step>
+      </case>
+      <case name="mass-storage-mode.py-move.test_video_01">
+        <description>tracker:mass-storage-mode.py:move.test_video_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py move.test_video_01</step>
+      </case>
+      <case name="mass-storage-mode.py-no_file_op.test_msm_01">
+        <description>tracker:mass-storage-mode.py:no_file_op.test_msm_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py no_file_op.test_msm_01</step>
+      </case>
+      <case name="mass-storage-mode.py-no_file_op.test_msm_02">
+        <description>tracker:mass-storage-mode.py:no_file_op.test_msm_02</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py no_file_op.test_msm_02</step>
+      </case>
+      <case name="mass-storage-mode.py-no_file_op.test_msm_03">
+        <description>tracker:mass-storage-mode.py:no_file_op.test_msm_03</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py no_file_op.test_msm_03</step>
+      </case>
+      <case name="mass-storage-mode.py-rename.test_image_01">
+        <description>tracker:mass-storage-mode.py:rename.test_image_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py rename.test_image_01</step>
+      </case>
+      <case name="mass-storage-mode.py-rename.test_music_01">
+        <description>tracker:mass-storage-mode.py:rename.test_music_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py rename.test_music_01</step>
+      </case>
+      <case name="mass-storage-mode.py-rename.test_video_01">
+        <description>tracker:mass-storage-mode.py:rename.test_video_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py rename.test_video_01</step>
+      </case>
+      <case name="mass-storage-mode.py-subfolder.test_create_01">
+        <description>tracker:mass-storage-mode.py:subfolder.test_create_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py subfolder.test_create_01</step>
+      </case>
+      <case name="mass-storage-mode.py-subfolder.test_delete_02">
+        <description>tracker:mass-storage-mode.py:subfolder.test_delete_02</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py subfolder.test_delete_02</step>
+      </case>
+      <case name="mass-storage-mode.py-text.test_text_01">
+        <description>tracker:mass-storage-mode.py:text.test_text_01</description>
+        <step>/usr/share/tracker-tests/mass-storage-mode.py text.test_text_01</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_fts-tc.py">
+      <description>tracker:fts-tc.py</description>
+      <case name="fts-tc.py-applications.test_app_Images">
+        <description>tracker:fts-tc.py:applications.test_app_Images</description>
+        <step>/usr/share/tracker-tests/fts-tc.py applications.test_app_Images</step>
+      </case>
+      <case name="fts-tc.py-applications.test_app_Music">
+        <description>tracker:fts-tc.py:applications.test_app_Music</description>
+        <step>/usr/share/tracker-tests/fts-tc.py applications.test_app_Music</step>
+      </case>
+      <case name="fts-tc.py-applications.test_app_Vidoes">
+        <description>tracker:fts-tc.py:applications.test_app_Vidoes</description>
+        <step>/usr/share/tracker-tests/fts-tc.py applications.test_app_Vidoes</step>
+      </case>
+      <case name="fts-tc.py-applications.test_app_email">
+        <description>tracker:fts-tc.py:applications.test_app_email</description>
+        <step>/usr/share/tracker-tests/fts-tc.py applications.test_app_email</step>
+      </case>
+      <case name="fts-tc.py-applications.test_app_folders">
+        <description>tracker:fts-tc.py:applications.test_app_folders</description>
+        <step>/usr/share/tracker-tests/fts-tc.py applications.test_app_folders</step>
+      </case>
+      <case name="fts-tc.py-applications.test_app_music_albums">
+        <description>tracker:fts-tc.py:applications.test_app_music_albums</description>
+        <step>/usr/share/tracker-tests/fts-tc.py applications.test_app_music_albums</step>
+      </case>
+      <case name="fts-tc.py-applications.test_app_music_artists">
+        <description>tracker:fts-tc.py:applications.test_app_music_artists</description>
+        <step>/usr/share/tracker-tests/fts-tc.py applications.test_app_music_artists</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_01">
+        <description>tracker:fts-tc.py:basic.test_text_01</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_01</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_02">
+        <description>tracker:fts-tc.py:basic.test_text_02</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_02</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_03">
+        <description>tracker:fts-tc.py:basic.test_text_03</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_03</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_04">
+        <description>tracker:fts-tc.py:basic.test_text_04</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_04</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_05">
+        <description>tracker:fts-tc.py:basic.test_text_05</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_05</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_06">
+        <description>tracker:fts-tc.py:basic.test_text_06</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_06</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_07">
+        <description>tracker:fts-tc.py:basic.test_text_07</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_07</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_08">
+        <description>tracker:fts-tc.py:basic.test_text_08</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_08</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_09">
+        <description>tracker:fts-tc.py:basic.test_text_09</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_09</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_10">
+        <description>tracker:fts-tc.py:basic.test_text_10</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_10</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_12">
+        <description>tracker:fts-tc.py:basic.test_text_12</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_12</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_13">
+        <description>tracker:fts-tc.py:basic.test_text_13</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_13</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_14">
+        <description>tracker:fts-tc.py:basic.test_text_14</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_14</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_15">
+        <description>tracker:fts-tc.py:basic.test_text_15</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_15</step>
+      </case>
+      <case name="fts-tc.py-basic.test_text_16">
+        <description>tracker:fts-tc.py:basic.test_text_16</description>
+        <step>/usr/share/tracker-tests/fts-tc.py basic.test_text_16</step>
+      </case>
+      <case name="fts-tc.py-db_text.test_db_01">
+        <description>tracker:fts-tc.py:db_text.test_db_01</description>
+        <step>/usr/share/tracker-tests/fts-tc.py db_text.test_db_01</step>
+      </case>
+      <case name="fts-tc.py-msm.test_msm_01">
+        <description>tracker:fts-tc.py:msm.test_msm_01</description>
+        <step>/usr/share/tracker-tests/fts-tc.py msm.test_msm_01</step>
+      </case>
+      <case name="fts-tc.py-specialchar.test_cs_02">
+        <description>tracker:fts-tc.py:specialchar.test_cs_02</description>
+        <step>/usr/share/tracker-tests/fts-tc.py specialchar.test_cs_02</step>
+      </case>
+      <case name="fts-tc.py-specialchar.test_cs_03">
+        <description>tracker:fts-tc.py:specialchar.test_cs_03</description>
+        <step>/usr/share/tracker-tests/fts-tc.py specialchar.test_cs_03</step>
+      </case>
+      <case name="fts-tc.py-specialchar.test_cs_04">
+        <description>tracker:fts-tc.py:specialchar.test_cs_04</description>
+        <step>/usr/share/tracker-tests/fts-tc.py specialchar.test_cs_04</step>
+      </case>
+      <case name="fts-tc.py-specialchar.test_cs_05">
+        <description>tracker:fts-tc.py:specialchar.test_cs_05</description>
+        <step>/usr/share/tracker-tests/fts-tc.py specialchar.test_cs_05</step>
+      </case>
+      <case name="fts-tc.py-specialchar.test_cs_06">
+        <description>tracker:fts-tc.py:specialchar.test_cs_06</description>
+        <step>/usr/share/tracker-tests/fts-tc.py specialchar.test_cs_06</step>
+      </case>
+      <case name="fts-tc.py-specialchar.test_sc_01">
+        <description>tracker:fts-tc.py:specialchar.test_sc_01</description>
+        <step>/usr/share/tracker-tests/fts-tc.py specialchar.test_sc_01</step>
+      </case>
+      <case name="fts-tc.py-stopwords.test_sw_01">
+        <description>tracker:fts-tc.py:stopwords.test_sw_01</description>
+        <step>/usr/share/tracker-tests/fts-tc.py stopwords.test_sw_01</step>
+      </case>
+      <case name="fts-tc.py-stopwords.test_sw_02">
+        <description>tracker:fts-tc.py:stopwords.test_sw_02</description>
+        <step>/usr/share/tracker-tests/fts-tc.py stopwords.test_sw_02</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_writeback-tc.py">
+      <description>tracker:writeback-tc.py</description>
+      <case name="writeback-tc.py-writeback.test_wb_01">
+        <description>tracker:writeback-tc.py:writeback.test_wb_01</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_01</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_02">
+        <description>tracker:writeback-tc.py:writeback.test_wb_02</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_02</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_03">
+        <description>tracker:writeback-tc.py:writeback.test_wb_03</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_03</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_04">
+        <description>tracker:writeback-tc.py:writeback.test_wb_04</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_04</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_05">
+        <description>tracker:writeback-tc.py:writeback.test_wb_05</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_05</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_06">
+        <description>tracker:writeback-tc.py:writeback.test_wb_06</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_06</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_07">
+        <description>tracker:writeback-tc.py:writeback.test_wb_07</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_07</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_08">
+        <description>tracker:writeback-tc.py:writeback.test_wb_08</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_08</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_09">
+        <description>tracker:writeback-tc.py:writeback.test_wb_09</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_09</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_10">
+        <description>tracker:writeback-tc.py:writeback.test_wb_10</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_10</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_11">
+        <description>tracker:writeback-tc.py:writeback.test_wb_11</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_11</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_12">
+        <description>tracker:writeback-tc.py:writeback.test_wb_12</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_12</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_13">
+        <description>tracker:writeback-tc.py:writeback.test_wb_13</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_13</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_14">
+        <description>tracker:writeback-tc.py:writeback.test_wb_14</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_14</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_15">
+        <description>tracker:writeback-tc.py:writeback.test_wb_15</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_15</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_16">
+        <description>tracker:writeback-tc.py:writeback.test_wb_16</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_16</step>
+      </case>
+      <case name="writeback-tc.py-writeback.test_wb_17">
+        <description>tracker:writeback-tc.py:writeback.test_wb_17</description>
+        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_17</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_02-metacontacts.py">
+      <description>tracker:02-metacontacts.py</description>
+      <case name="02-metacontacts.py-TestMetacontacts.test_metacontact_merge">
+        <description>tracker:02-metacontacts.py:TestMetacontacts.test_metacontact_merge</description>
+        <step>/usr/share/tracker-tests/02-metacontacts.py TestMetacontacts.test_metacontact_merge</step>
+      </case>
+      <case name="02-metacontacts.py-TestMetacontacts.test_metacontact_usage">
+        <description>tracker:02-metacontacts.py:TestMetacontacts.test_metacontact_usage</description>
+        <step>/usr/share/tracker-tests/02-metacontacts.py TestMetacontacts.test_metacontact_usage</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
     <set name="_usr_share_tracker-tests_miner-basic-ops.py">
       <description>tracker:miner-basic-ops.py</description>
       <case name="miner-basic-ops.py-copy.test_copy_01">
@@ -100,27 +404,22 @@
         <hardware>true</hardware>
       </environments>
     </set>
-    <set name="_usr_share_tracker-tests_bootup-tc.py">
-      <description>tracker:bootup-tc.py</description>
-      <case name="bootup-tc.py-default_content.test_images_01">
-        <description>tracker:bootup-tc.py:default_content.test_images_01</description>
-        <step>/usr/share/tracker-tests/bootup-tc.py default_content.test_images_01</step>
-      </case>
-      <case name="bootup-tc.py-default_content.test_music_02">
-        <description>tracker:bootup-tc.py:default_content.test_music_02</description>
-        <step>/usr/share/tracker-tests/bootup-tc.py default_content.test_music_02</step>
-      </case>
-      <case name="bootup-tc.py-default_content.test_video_03">
-        <description>tracker:bootup-tc.py:default_content.test_video_03</description>
-        <step>/usr/share/tracker-tests/bootup-tc.py default_content.test_video_03</step>
-      </case>
-      <case name="bootup-tc.py-tracker_daemon.test_miner_01">
-        <description>tracker:bootup-tc.py:tracker_daemon.test_miner_01</description>
-        <step>/usr/share/tracker-tests/bootup-tc.py tracker_daemon.test_miner_01</step>
+    <set name="_usr_share_tracker-tests_08-unique-insertions.py">
+      <description>tracker:08-unique-insertions.py</description>
+      <case name="08-unique-insertions.py-TestFTSFunctions.test_unique_insertion">
+        <description>tracker:08-unique-insertions.py:TestFTSFunctions.test_unique_insertion</description>
+        <step>/usr/share/tracker-tests/08-unique-insertions.py TestFTSFunctions.test_unique_insertion</step>
       </case>
-      <case name="bootup-tc.py-tracker_daemon.test_store_02">
-        <description>tracker:bootup-tc.py:tracker_daemon.test_store_02</description>
-        <step>/usr/share/tracker-tests/bootup-tc.py tracker_daemon.test_store_02</step>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_09-concurrent-query.py">
+      <description>tracker:09-concurrent-query.py</description>
+      <case name="09-concurrent-query.py-TestConcurrentQuery.test_async_queries">
+        <description>tracker:09-concurrent-query.py:TestConcurrentQuery.test_async_queries</description>
+        <step>/usr/share/tracker-tests/09-concurrent-query.py TestConcurrentQuery.test_async_queries</step>
       </case>
       <environments>
         <scratchbox>true</scratchbox>
@@ -142,6 +441,89 @@
         <hardware>true</hardware>
       </environments>
     </set>
+    <set name="_usr_share_tracker-tests_05-coalesce.py">
+      <description>tracker:05-coalesce.py</description>
+      <case name="05-coalesce.py-TestCoalesce.test_coalesce_first_fine">
+        <description>tracker:05-coalesce.py:TestCoalesce.test_coalesce_first_fine</description>
+        <step>/usr/share/tracker-tests/05-coalesce.py TestCoalesce.test_coalesce_first_fine</step>
+      </case>
+      <case name="05-coalesce.py-TestCoalesce.test_coalesce_none_fine_default">
+        <description>tracker:05-coalesce.py:TestCoalesce.test_coalesce_none_fine_default</description>
+        <step>/usr/share/tracker-tests/05-coalesce.py TestCoalesce.test_coalesce_none_fine_default</step>
+      </case>
+      <case name="05-coalesce.py-TestCoalesce.test_coalesce_second_fine">
+        <description>tracker:05-coalesce.py:TestCoalesce.test_coalesce_second_fine</description>
+        <step>/usr/share/tracker-tests/05-coalesce.py TestCoalesce.test_coalesce_second_fine</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_03-fts-functions.py">
+      <description>tracker:03-fts-functions.py</description>
+      <case name="03-fts-functions.py-TestFTSFunctions.test_fts_offsets">
+        <description>tracker:03-fts-functions.py:TestFTSFunctions.test_fts_offsets</description>
+        <step>/usr/share/tracker-tests/03-fts-functions.py TestFTSFunctions.test_fts_offsets</step>
+      </case>
+      <case name="03-fts-functions.py-TestFTSFunctions.test_fts_rank">
+        <description>tracker:03-fts-functions.py:TestFTSFunctions.test_fts_rank</description>
+        <step>/usr/share/tracker-tests/03-fts-functions.py TestFTSFunctions.test_fts_rank</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_07-graph.py">
+      <description>tracker:07-graph.py</description>
+      <case name="07-graph.py-TestFTSFunctions.test_graph_filter">
+        <description>tracker:07-graph.py:TestFTSFunctions.test_graph_filter</description>
+        <step>/usr/share/tracker-tests/07-graph.py TestFTSFunctions.test_graph_filter</step>
+      </case>
+      <case name="07-graph.py-TestFTSFunctions.test_graph_insert_multiple">
+        <description>tracker:07-graph.py:TestFTSFunctions.test_graph_insert_multiple</description>
+        <step>/usr/share/tracker-tests/07-graph.py TestFTSFunctions.test_graph_insert_multiple</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_06-distance.py">
+      <description>tracker:06-distance.py</description>
+      <case name="06-distance.py-TestCoalesce.test_distance_cartesian_proportion">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_cartesian_proportion</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_cartesian_proportion</step>
+      </case>
+      <case name="06-distance.py-TestCoalesce.test_distance_cartesian_symmetry">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_cartesian_symmetry</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_cartesian_symmetry</step>
+      </case>
+      <case name="06-distance.py-TestCoalesce.test_distance_different">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_different</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_different</step>
+      </case>
+      <case name="06-distance.py-TestCoalesce.test_distance_haversine_proportion">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_haversine_proportion</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_haversine_proportion</step>
+      </case>
+      <case name="06-distance.py-TestCoalesce.test_distance_haversine_symmetry">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_haversine_symmetry</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_haversine_symmetry</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_performance-tc.py">
+      <description>tracker:performance-tc.py</description>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
     <set name="_usr_share_tracker-tests_metadata_extraction_tc.py">
       <description>tracker:metadata_extraction_tc.py</description>
       <case name="metadata_extraction_tc.py-images.test_get_images_camera_1">
@@ -253,55 +635,6 @@
         <hardware>true</hardware>
       </environments>
     </set>
-    <set name="_usr_share_tracker-tests_08-unique-insertions.py">
-      <description>tracker:08-unique-insertions.py</description>
-      <case name="08-unique-insertions.py-TestFTSFunctions.test_unique_insertion">
-        <description>tracker:08-unique-insertions.py:TestFTSFunctions.test_unique_insertion</description>
-        <step>/usr/share/tracker-tests/08-unique-insertions.py TestFTSFunctions.test_unique_insertion</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_09-concurrent-query.py">
-      <description>tracker:09-concurrent-query.py</description>
-      <case name="09-concurrent-query.py-TestConcurrentQuery.test_async_queries">
-        <description>tracker:09-concurrent-query.py:TestConcurrentQuery.test_async_queries</description>
-        <step>/usr/share/tracker-tests/09-concurrent-query.py TestConcurrentQuery.test_async_queries</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_06-distance.py">
-      <description>tracker:06-distance.py</description>
-      <case name="06-distance.py-TestCoalesce.test_distance_cartesian_proportion">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_cartesian_proportion</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_cartesian_proportion</step>
-      </case>
-      <case name="06-distance.py-TestCoalesce.test_distance_cartesian_symmetry">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_cartesian_symmetry</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_cartesian_symmetry</step>
-      </case>
-      <case name="06-distance.py-TestCoalesce.test_distance_different">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_different</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_different</step>
-      </case>
-      <case name="06-distance.py-TestCoalesce.test_distance_haversine_proportion">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_haversine_proportion</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_haversine_proportion</step>
-      </case>
-      <case name="06-distance.py-TestCoalesce.test_distance_haversine_symmetry">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_haversine_symmetry</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_haversine_symmetry</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
     <set name="_usr_share_tracker-tests_backup-restore-tc.py">
       <description>tracker:backup-restore-tc.py</description>
       <case name="backup-restore-tc.py-backup.test_backup_01">
@@ -361,190 +694,6 @@
         <hardware>true</hardware>
       </environments>
     </set>
-    <set name="_usr_share_tracker-tests_mass-storage-mode.py">
-      <description>tracker:mass-storage-mode.py</description>
-      <case name="mass-storage-mode.py-copy.test_image_01">
-        <description>tracker:mass-storage-mode.py:copy.test_image_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py copy.test_image_01</step>
-      </case>
-      <case name="mass-storage-mode.py-copy.test_music_02">
-        <description>tracker:mass-storage-mode.py:copy.test_music_02</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py copy.test_music_02</step>
-      </case>
-      <case name="mass-storage-mode.py-copy.test_video_03">
-        <description>tracker:mass-storage-mode.py:copy.test_video_03</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py copy.test_video_03</step>
-      </case>
-      <case name="mass-storage-mode.py-delete.test_image_01">
-        <description>tracker:mass-storage-mode.py:delete.test_image_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py delete.test_image_01</step>
-      </case>
-      <case name="mass-storage-mode.py-delete.test_music_02">
-        <description>tracker:mass-storage-mode.py:delete.test_music_02</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py delete.test_music_02</step>
-      </case>
-      <case name="mass-storage-mode.py-delete.test_video_03">
-        <description>tracker:mass-storage-mode.py:delete.test_video_03</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py delete.test_video_03</step>
-      </case>
-      <case name="mass-storage-mode.py-move.test_image_01">
-        <description>tracker:mass-storage-mode.py:move.test_image_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py move.test_image_01</step>
-      </case>
-      <case name="mass-storage-mode.py-move.test_music_01">
-        <description>tracker:mass-storage-mode.py:move.test_music_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py move.test_music_01</step>
-      </case>
-      <case name="mass-storage-mode.py-move.test_video_01">
-        <description>tracker:mass-storage-mode.py:move.test_video_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py move.test_video_01</step>
-      </case>
-      <case name="mass-storage-mode.py-no_file_op.test_msm_01">
-        <description>tracker:mass-storage-mode.py:no_file_op.test_msm_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py no_file_op.test_msm_01</step>
-      </case>
-      <case name="mass-storage-mode.py-no_file_op.test_msm_02">
-        <description>tracker:mass-storage-mode.py:no_file_op.test_msm_02</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py no_file_op.test_msm_02</step>
-      </case>
-      <case name="mass-storage-mode.py-no_file_op.test_msm_03">
-        <description>tracker:mass-storage-mode.py:no_file_op.test_msm_03</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py no_file_op.test_msm_03</step>
-      </case>
-      <case name="mass-storage-mode.py-rename.test_image_01">
-        <description>tracker:mass-storage-mode.py:rename.test_image_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py rename.test_image_01</step>
-      </case>
-      <case name="mass-storage-mode.py-rename.test_music_01">
-        <description>tracker:mass-storage-mode.py:rename.test_music_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py rename.test_music_01</step>
-      </case>
-      <case name="mass-storage-mode.py-rename.test_video_01">
-        <description>tracker:mass-storage-mode.py:rename.test_video_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py rename.test_video_01</step>
-      </case>
-      <case name="mass-storage-mode.py-subfolder.test_create_01">
-        <description>tracker:mass-storage-mode.py:subfolder.test_create_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py subfolder.test_create_01</step>
-      </case>
-      <case name="mass-storage-mode.py-subfolder.test_delete_02">
-        <description>tracker:mass-storage-mode.py:subfolder.test_delete_02</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py subfolder.test_delete_02</step>
-      </case>
-      <case name="mass-storage-mode.py-text.test_text_01">
-        <description>tracker:mass-storage-mode.py:text.test_text_01</description>
-        <step>/usr/share/tracker-tests/mass-storage-mode.py text.test_text_01</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_02-metacontacts.py">
-      <description>tracker:02-metacontacts.py</description>
-      <case name="02-metacontacts.py-TestMetacontacts.test_metacontact_merge">
-        <description>tracker:02-metacontacts.py:TestMetacontacts.test_metacontact_merge</description>
-        <step>/usr/share/tracker-tests/02-metacontacts.py TestMetacontacts.test_metacontact_merge</step>
-      </case>
-      <case name="02-metacontacts.py-TestMetacontacts.test_metacontact_usage">
-        <description>tracker:02-metacontacts.py:TestMetacontacts.test_metacontact_usage</description>
-        <step>/usr/share/tracker-tests/02-metacontacts.py TestMetacontacts.test_metacontact_usage</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_writeback-tc.py">
-      <description>tracker:writeback-tc.py</description>
-      <case name="writeback-tc.py-writeback.test_wb_01">
-        <description>tracker:writeback-tc.py:writeback.test_wb_01</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_01</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_02">
-        <description>tracker:writeback-tc.py:writeback.test_wb_02</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_02</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_03">
-        <description>tracker:writeback-tc.py:writeback.test_wb_03</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_03</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_04">
-        <description>tracker:writeback-tc.py:writeback.test_wb_04</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_04</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_05">
-        <description>tracker:writeback-tc.py:writeback.test_wb_05</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_05</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_06">
-        <description>tracker:writeback-tc.py:writeback.test_wb_06</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_06</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_07">
-        <description>tracker:writeback-tc.py:writeback.test_wb_07</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_07</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_08">
-        <description>tracker:writeback-tc.py:writeback.test_wb_08</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_08</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_09">
-        <description>tracker:writeback-tc.py:writeback.test_wb_09</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_09</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_10">
-        <description>tracker:writeback-tc.py:writeback.test_wb_10</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_10</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_11">
-        <description>tracker:writeback-tc.py:writeback.test_wb_11</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_11</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_12">
-        <description>tracker:writeback-tc.py:writeback.test_wb_12</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_12</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_13">
-        <description>tracker:writeback-tc.py:writeback.test_wb_13</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_13</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_14">
-        <description>tracker:writeback-tc.py:writeback.test_wb_14</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_14</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_15">
-        <description>tracker:writeback-tc.py:writeback.test_wb_15</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_15</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_16">
-        <description>tracker:writeback-tc.py:writeback.test_wb_16</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_16</step>
-      </case>
-      <case name="writeback-tc.py-writeback.test_wb_17">
-        <description>tracker:writeback-tc.py:writeback.test_wb_17</description>
-        <step>/usr/share/tracker-tests/writeback-tc.py writeback.test_wb_17</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_07-graph.py">
-      <description>tracker:07-graph.py</description>
-      <case name="07-graph.py-TestFTSFunctions.test_graph_filter">
-        <description>tracker:07-graph.py:TestFTSFunctions.test_graph_filter</description>
-        <step>/usr/share/tracker-tests/07-graph.py TestFTSFunctions.test_graph_filter</step>
-      </case>
-      <case name="07-graph.py-TestFTSFunctions.test_graph_insert_multiple">
-        <description>tracker:07-graph.py:TestFTSFunctions.test_graph_insert_multiple</description>
-        <step>/usr/share/tracker-tests/07-graph.py TestFTSFunctions.test_graph_insert_multiple</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
     <set name="_usr_share_tracker-tests_04-group-concat.py">
       <description>tracker:04-group-concat.py</description>
       <case name="04-group-concat.py-TestGroupConcat.test_group_concat">
@@ -556,21 +705,6 @@
         <hardware>true</hardware>
       </environments>
     </set>
-    <set name="_usr_share_tracker-tests_03-fts-functions.py">
-      <description>tracker:03-fts-functions.py</description>
-      <case name="03-fts-functions.py-TestFTSFunctions.test_fts_offsets">
-        <description>tracker:03-fts-functions.py:TestFTSFunctions.test_fts_offsets</description>
-        <step>/usr/share/tracker-tests/03-fts-functions.py TestFTSFunctions.test_fts_offsets</step>
-      </case>
-      <case name="03-fts-functions.py-TestFTSFunctions.test_fts_rank">
-        <description>tracker:03-fts-functions.py:TestFTSFunctions.test_fts_rank</description>
-        <step>/usr/share/tracker-tests/03-fts-functions.py TestFTSFunctions.test_fts_rank</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
     <set name="_usr_share_tracker-tests_configuration.py">
       <description>tracker:configuration.py</description>
       <environments>
@@ -578,18 +712,27 @@
         <hardware>true</hardware>
       </environments>
     </set>
-    <set name="_usr_share_tracker-tests_performance-tc.py">
-      <description>tracker:performance-tc.py</description>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_01-writeback.py">
-      <description>tracker:01-writeback.py</description>
-      <case name="01-writeback.py-TestInsertion.test_simple_insertion">
-        <description>tracker:01-writeback.py:TestInsertion.test_simple_insertion</description>
-        <step>/usr/share/tracker-tests/01-writeback.py TestInsertion.test_simple_insertion</step>
+    <set name="_usr_share_tracker-tests_bootup-tc.py">
+      <description>tracker:bootup-tc.py</description>
+      <case name="bootup-tc.py-default_content.test_images_01">
+        <description>tracker:bootup-tc.py:default_content.test_images_01</description>
+        <step>/usr/share/tracker-tests/bootup-tc.py default_content.test_images_01</step>
+      </case>
+      <case name="bootup-tc.py-default_content.test_music_02">
+        <description>tracker:bootup-tc.py:default_content.test_music_02</description>
+        <step>/usr/share/tracker-tests/bootup-tc.py default_content.test_music_02</step>
+      </case>
+      <case name="bootup-tc.py-default_content.test_video_03">
+        <description>tracker:bootup-tc.py:default_content.test_video_03</description>
+        <step>/usr/share/tracker-tests/bootup-tc.py default_content.test_video_03</step>
+      </case>
+      <case name="bootup-tc.py-tracker_daemon.test_miner_01">
+        <description>tracker:bootup-tc.py:tracker_daemon.test_miner_01</description>
+        <step>/usr/share/tracker-tests/bootup-tc.py tracker_daemon.test_miner_01</step>
+      </case>
+      <case name="bootup-tc.py-tracker_daemon.test_store_02">
+        <description>tracker:bootup-tc.py:tracker_daemon.test_store_02</description>
+        <step>/usr/share/tracker-tests/bootup-tc.py tracker_daemon.test_store_02</step>
       </case>
       <environments>
         <scratchbox>true</scratchbox>
@@ -675,24 +818,5 @@
         <hardware>true</hardware>
       </environments>
     </set>
-    <set name="_usr_share_tracker-tests_05-coalesce.py">
-      <description>tracker:05-coalesce.py</description>
-      <case name="05-coalesce.py-TestCoalesce.test_coalesce_first_fine">
-        <description>tracker:05-coalesce.py:TestCoalesce.test_coalesce_first_fine</description>
-        <step>/usr/share/tracker-tests/05-coalesce.py TestCoalesce.test_coalesce_first_fine</step>
-      </case>
-      <case name="05-coalesce.py-TestCoalesce.test_coalesce_none_fine_default">
-        <description>tracker:05-coalesce.py:TestCoalesce.test_coalesce_none_fine_default</description>
-        <step>/usr/share/tracker-tests/05-coalesce.py TestCoalesce.test_coalesce_none_fine_default</step>
-      </case>
-      <case name="05-coalesce.py-TestCoalesce.test_coalesce_second_fine">
-        <description>tracker:05-coalesce.py:TestCoalesce.test_coalesce_second_fine</description>
-        <step>/usr/share/tracker-tests/05-coalesce.py TestCoalesce.test_coalesce_second_fine</step>
-      </case>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
   </suite>
 </testdefinition>



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