[tracker] Functional Tests: Added basic file operations to miner-fs and support for desktop environment



commit f8e615e9c8e0633b375722d4b8bd83f93508c572
Author: Martyn Russell <martyn lanedo com>
Date:   Fri Apr 16 11:35:31 2010 +0100

    Functional Tests: Added basic file operations to miner-fs and support for desktop environment

 configure.ac                                     |    1 +
 tests/functional-tests/Makefile.am               |    5 +-
 tests/functional-tests/bootup-tc.py              |  213 ++++---
 tests/functional-tests/configuration.py          |  169 ++++-
 tests/functional-tests/data/Makefile.am          |    5 +-
 tests/functional-tests/data/Video/Makefile.am    |   10 +
 tests/functional-tests/data/Video/test-video.mp4 |  Bin 0 -> 211931 bytes
 tests/functional-tests/metadata_extraction_tc.py |   21 +-
 tests/functional-tests/miner-basic-ops.py        |  758 ++++++++++++++++++++++
 tests/functional-tests/tests.xml                 |  509 +++++++++++----
 tests/functional-tests/virtual-files-tc.py       |   96 ++--
 tests/functional-tests/writeback-tc.py           |  282 ++++----
 12 files changed, 1627 insertions(+), 442 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 9cd84a7..96cc7df 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1713,6 +1713,7 @@ AC_CONFIG_FILES([
 	tests/functional-tests/data/Makefile
 	tests/functional-tests/data/Music/Makefile
 	tests/functional-tests/data/Images/Makefile
+	tests/functional-tests/data/Video/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 8a953f8..52b1d7e 100644
--- a/tests/functional-tests/Makefile.am
+++ b/tests/functional-tests/Makefile.am
@@ -12,11 +12,12 @@ config_SCRIPTS =			\
 	05-coalesce.py			\
 	06-distance.py			\
 	07-graph.py			\
-	08-unique-insertions.py 	\
+	08-unique-insertions.py		\
 	09-concurrent-query.py		\
 	bootup-tc.py			\
 	configuration.py		\
-	metadata_extraction_tc.py 	\
+	metadata_extraction_tc.py	\
+	miner-basic-ops.py		\
 	performance-tc.py		\
 	tests.xml			\
 	virtual-files-tc.py		\
diff --git a/tests/functional-tests/bootup-tc.py b/tests/functional-tests/bootup-tc.py
index 8f3c831..c54ba4e 100644
--- a/tests/functional-tests/bootup-tc.py
+++ b/tests/functional-tests/bootup-tc.py
@@ -18,123 +18,138 @@
 # Boston, MA  02110-1301, USA.
 
 
-import sys,os,dbus
+import sys, os, dbus
 import unittest
 import time
 import random
 import commands
 import string
-import configuration
+import configuration as cfg
 
 TRACKER = 'org.freedesktop.Tracker1'
 TRACKER_OBJ = '/org/freedesktop/Tracker1/Resources'
 RESOURCES_IFACE = "org.freedesktop.Tracker1.Resources"
 
-IMAGES_DEFAULT = configuration.MYDOCS_IMAGES
-MUSIC_DEFAULT  = configuration.MYDOCS_MUSIC
-VIDEOS_DEFAULT = configuration.MYDOCS_VIDEOS
-
-
-
-def files_list(dirName):            
-        fileList = []                                              
-        for file in os.listdir(dirName):
-            dirfile = os.path.join(dirName, file)
-            if dirName == IMAGES_DEFAULT :     
-                    if os.path.isfile(dirfile):
-                      if file.split('.')[1]== 'jpg' :              
-                         fileList.append(dirfile)
-                          
-            elif dirName == MUSIC_DEFAULT :
-                    if os.path.isfile(dirfile):
-                      if file.split('.')[1]== 'mp3' :
-                         fileList.append(dirfile)        
-                                                                                                                  
-            elif dirName == VIDEOS_DEFAULT :                                                 
-                    if os.path.isfile(dirfile):
-                      if file.split('.')[1]== 'avi' :
-                         fileList.append(dirfile)                                                              
-                                                                                                        
-
+IMAGES_DEFAULT = cfg.MYDOCS_IMAGES
+MUSIC_DEFAULT  = cfg.MYDOCS_MUSIC
+VIDEOS_DEFAULT = cfg.MYDOCS_VIDEOS
+
+def files_list(dirName):
+    fileList = []
+    for file in os.listdir(dirName):
+        dirfile = os.path.join(dirName, file)
+        if dirName == IMAGES_DEFAULT :
+            if os.path.isfile(dirfile):
+                if file.split('.')[1]== 'jpg' :
+                    fileList.append(dirfile)
+
+        elif dirName == MUSIC_DEFAULT :
+            if os.path.isfile(dirfile):
+                if file.split('.')[1]== 'mp3' :
+                    fileList.append(dirfile)
+
+        elif dirName == VIDEOS_DEFAULT :
+            if os.path.isfile(dirfile):
+                if file.split('.')[1]== 'avi' :
+                    fileList.append(dirfile)
         return fileList
 
-
-
 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)
-
-
-        def sparql_update(self,query):
-                return self.resources.SparqlUpdate(query)
-
-        def query(self,query):
-                return self.resources.SparqlQuery(query)
-	
-        def check ( self , appcn ):
-		pid = commands.getoutput("ps -ef| grep tracker | awk '{print $3}'").split()                      
-                if appcn in  pid :                                                  
-		   return 1
-                else :                                                                                           
-		   return 0	
 
-class tracker_daemon(TestUpdate):
+    def setUp(self):
+        bus = dbus.SessionBus()
+        tracker = bus.get_object(TRACKER, TRACKER_OBJ)
+        self.resources = dbus.Interface (tracker,
+                                         dbus_interface=RESOURCES_IFACE)
+    def sparql_update(self,query):
+        return self.resources.SparqlUpdate(query)
 
-	def test_miner_01(self) :
-	    appcn = configuration.TRACKER_MINER
-	    result=self.check(appcn)
-	    self.assert_(result==1,"tracker miner is not running" )
-
-	def test_store_02(self) :
-	    appcn = configuration.TRACKER_STORE  
-            result=self.check(appcn)
-            self.assert_(result==1,"tracker store is not running" )
-			
-class default_content(TestUpdate):	   
-	
-	def test_images_01(self) :
-	    """
-	       1.Check the no.of files in default folder
-	       2.Make tracker search for images and check if files are listed from default folders and count them.
-	       3.Check if no.of files from default folder is equal to tracker search results
-	    """
-	    default_Images=files_list(IMAGES_DEFAULT)
-	    Images  = commands.getoutput('tracker-search -i -l 10000 | grep /home/user/MyDocs/.images/|wc -l' )
-	    self.assert_(len(default_Images)==int(Images) , "Files are not indexed from default folder")
-
-
-	def test_music_02(self) :
-	
-	    """
-	       1.Check the no.of files in default folder
-	       2.Make tracker search for songs and check if files are listed from default folders and count them.
-	       3.Check if no.of files from default folder is equal to tracker search results
-	    """
-	    default_music=files_list(MUSIC_DEFAULT)
-	    Music  = commands.getoutput('tracker-search -u -l 10000 | grep /home/user/MyDocs/.sounds/|wc -l' )
-	    self.assert_(len(default_music)==int(Music) , "Files are not indexed from default folder")
-
-
-	def test_Video_03(self) :
-	
-	    """
-	       1.Check the no.of files in default folder
-	       2.Make tracker search for videos and check if files are listed from default folders and count them.
-	       3.Check if no.of files from default folder is equal to tracker search results
-	    """
-
-	    default_videos=files_list(VIDEOS_DEFAULT)
-	    Videos  = commands.getoutput('tracker-search -v -l 10000 | grep /home/user/MyDocs/.videos/|wc -l' )
-	    self.assert_(len(default_videos)==int(Videos) , "Files are not indexed from default folder")
+    def query(self,query):
+        return self.resources.SparqlQuery(query)
 
+    def check ( self , appcn ):
+        return int(commands.getoutput('pidof %s | wc -w' % appcn))
 
+class tracker_daemon(TestUpdate):
 
+    def test_miner_01(self) :
+        appcn = cfg.TRACKER_MINER
+        result=self.check(appcn)
+        self.assert_(result==1,"tracker miner is not running" )
+
+    def test_store_02(self) :
+        appcn = cfg.TRACKER_STORE
+        result=self.check(appcn)
+        self.assert_(result==1,"tracker store is not running" )
+
+class default_content(TestUpdate):
+
+    def test_images_01(self) :
+        """
+        1.Check the no.of files in default folder
+        2.Make tracker search for images and check if files are listed from default folders and count them.
+        3.Check if no.of files from default folder is equal to tracker search results
+        """
+        default_Images=files_list(IMAGES_DEFAULT)
+        Images  = commands.getoutput('tracker-search -i -l 10000 | grep /home/user/MyDocs/.images/|wc -l' )
+        self.assert_(len(default_Images)==int(Images) , "Files are not indexed from default folder")
+
+    def test_music_02(self) :
+
+        """
+        1.Check the no.of files in default folder
+        2.Make tracker search for songs and check if files are listed from default folders and count them.
+        3.Check if no.of files from default folder is equal to tracker search results
+        """
+        default_music=files_list(MUSIC_DEFAULT)
+        Music  = commands.getoutput('tracker-search -m -l 10000 | grep /home/user/MyDocs/.sounds/|wc -l' )
+        self.assert_(len(default_music)==int(Music) , "Files are not indexed from default folder")
+
+    def test_video_03(self) :
+
+        """
+        1.Check the no.of files in default folder
+        2.Make tracker search for videos and check if files are listed from default folders and count them.
+        3.Check if no.of files from default folder is equal to tracker search results
+        """
+
+        default_videos=files_list(VIDEOS_DEFAULT)
+        Videos  = commands.getoutput('tracker-search -v -l 10000 | grep /home/user/MyDocs/.videos/|wc -l' )
+        self.assert_(len(default_videos)==int(Videos) , "Files are not indexed from default folder")
+
+def run_tests(testNames):
+    errors = []
+    if (testNames == None):
+        if (cfg.check_target() == cfg.MAEMO6_HW):
+            suite_default_content = unittest.TestLoader().loadTestsFromTestCase(default_content)
+            result = unittest.TextTestRunner(verbosity=2).run(suite_default_content)
+            errors += result.errors + result.failures
+
+        suite_tracker_daemon = unittest.TestLoader().loadTestsFromTestCase(tracker_daemon)
+        result = unittest.TextTestRunner(verbosity=2).run(suite_tracker_daemon)
+        errors += result.errors + result.failures
+    else:
+        suite = unittest.TestLoader().loadTestsFromNames(testNames, __import__('bootup-tc'))
+        result = unittest.TextTestRunner(verbosity=2).run(suite)
+        errors += result.errors + result.failures
+    return len(errors)
+
+def parseArgs(argv=None):
+    import getopt
+    if argv is None:
+        argv = sys.argv
+    testNames = None
+    try:
+        options, args = getopt.getopt(argv[1:], 'h')
+        if len(args) == 0:
+            # createTests will load tests from self.module
+            testNames = None
+        elif len(args) > 0:
+            testNames = args
+        run_tests(testNames)
+    except getopt.error, msg:
+        pass
 
 if __name__ == "__main__":
-	unittest.main()
-
+    parseArgs()
 
diff --git a/tests/functional-tests/configuration.py b/tests/functional-tests/configuration.py
index cb0154b..fcdf3d0 100644
--- a/tests/functional-tests/configuration.py
+++ b/tests/functional-tests/configuration.py
@@ -21,15 +21,43 @@
 # This is the configuration file for tracker testcases.
 # It has many common utility defined.
 
-import os, sys
+import sys,os,dbus
+import time
+import random
+import commands
+import configuration
+from dbus.mainloop.glib import DBusGMainLoop
+import gobject
+import shutil
 
-prefix = sys.prefix
+TRACKER = 'org.freedesktop.Tracker1'
+TRACKER_OBJ = '/org/freedesktop/Tracker1/Resources/Classes'
+RESOURCES_IFACE = "org.freedesktop.Tracker1.Resources.Class"
+
+MINER="org.freedesktop.Tracker1.Miner.Files"
+MINER_OBJ="/org/freedesktop/Tracker1/Miner/Files"
+MINER_IFACE="org.freedesktop.Tracker1.Miner"
+
+PLATFORM_REL_PATH = '/etc/issue'
+
+PREFIX = sys.prefix
+CWD = os.getcwd()
+
+TEST_IMAGE = "test-image-1.jpg"
+TEST_MUSIC = "tracker-mp3-test.mp3"
+TEST_VIDEO = "test-video.mp4"
 
 """directory paths """
-TEST_DIR = prefix + '/share/tracker-tests/'
-TEST_DATA_DIR = prefix + '/share/tracker-tests/data/'
-TEST_DATA_MUSIC = prefix + '/share/tracker-tests/data/Music/'
-TEST_DATA_IMAGES = prefix + '/share/tracker-tests/data/Images/'
+TEST_DIR = PREFIX + '/share/tracker-tests/'
+TEST_DATA_DIR = PREFIX + '/share/tracker-tests/data/'
+TEST_DATA_MUSIC = PREFIX + '/share/tracker-tests/data/Music/'
+TEST_DATA_IMAGES = PREFIX + '/share/tracker-tests/data/Images/'
+TEST_DATA_VIDEO = PREFIX + '/share/tracker-tests/data/Video/'
+
+VCS_TEST_DATA_DIR = CWD + '/data/'
+VCS_TEST_DATA_MUSIC = CWD + '/data/Music/'
+VCS_TEST_DATA_IMAGES = CWD + '/data/Images/'
+VCS_TEST_DATA_VIDEO = CWD + '/data/Video/'
 
 """
 dir_path = os.environ['HOME']
@@ -39,40 +67,111 @@ MYDOCS_MUSIC = '/home/user/MyDocs/.sounds/'
 MYDOCS_IMAGES = '/home/user/MyDocs/.images/'
 MYDOCS_VIDEOS = '/home/user/MyDocs/.videos/'
 WB_TEST_DIR_DEVICE = '/home/user/MyDocs/tracker-wb-test'
-WB_TEST_DIR_HOST = prefix + '/share/tracker-tests/data/tracker-wb-test'
+WB_TEST_DIR_HOST = os.path.expanduser("~") + '/tracker-wb-test'
 
 URL_PREFIX = 'file://'
 
 """processes """
-TRACKER_WRITEBACK = prefix + '/lib/tracker/tracker-writeback'
-TRACKER_EXTRACT = prefix + '/lib/tracker/tracker-extract'
-TRACKER_MINER = prefix + '/lib/tracker/tracker-miner-fs'
-TRACKER_STORE = prefix + '/lib/tracker/tracker-store'
+TRACKER_WRITEBACK = PREFIX + '/lib/tracker/tracker-writeback'
+TRACKER_EXTRACT = PREFIX + '/lib/tracker/tracker-extract'
+TRACKER_MINER = 'tracker-miner-fs'
+TRACKER_STORE = 'tracker-store'
+TRACKER_WRITEBACK_DESKTOP = PREFIX + '/local/libexec/tracker-writeback'
+TRACKER_EXTRACT_DESKTOP = PREFIX + '/local/libexec/tracker-extract'
 
-'''
-def dir_path():
-        return testDataDir
+"""platforms constants"""
+MAEMO6_SBOX = 2
+MAEMO6_HW = 3
+DESKTOP = 4
 
 def check_target():
-        on_target = 'OSSO_PRODUCT_NAME'
-        try :
-                if os.environ[on_target]:
-                #if os.environ['DBUS_SESSION_BUS_ADDRESS'] == 'unix:path=/tmp/session_bus_socket':
-                        awk_print = '1'
-                        return awk_print
-       except KeyError:
-                awk_print = '2'
-                return awk_print
-'''
+    """
+    check_target retrieves platform
+    """
+    sboxindicator = '/targets/links/scratchbox.config'
+
+    try :
+        fhandle = open (PLATFORM_REL_PATH,'r')
+        fcontent = fhandle.read()
+        release = fcontent.lower().replace(' ','')
+        fhandle.close()
+
+        if "maemo6" in release:
+            if os.path.exists(sboxindicator) and \
+            os.path.isfile(os.readlink(sboxindicator)) :
+                return MAEMO6_SBOX
+            else:
+                return MAEMO6_HW
+        else:
+            return DESKTOP
+
+    except IOError:
+        print 'cannot open', PLATFORM_REL_PATH
+
+class TDCopy():
+
+    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 set_test_data(self, target):
+        """
+        Copy test data on default location watched by tracker
+        """
+        if (target == DESKTOP):
+
+            if (os.path.exists(os.path.expanduser("~") + '/' + TEST_MUSIC) \
+                and os.path.exists(os.path.expanduser("~") + '/' + TEST_VIDEO) \
+                and os.path.exists(os.path.expanduser("~") + '/' + TEST_IMAGE)):
+                return
+
+        elif (target == MAEMO6_HW):
+
+            if (os.path.exists( MYDOCS_MUSIC + '/' + TEST_MUSIC) \
+                and os.path.exists( MYDOCS_VIDEOS + '/' + TEST_VIDEO) \
+                and os.path.exists( MYDOCS_IMAGES + '/' + TEST_IMAGE)):
+                return
+
+        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)
+
+        if (target == DESKTOP):
+            shutil.copy2(VCS_TEST_DATA_MUSIC + TEST_MUSIC, os.path.expanduser("~") + '/' + TEST_MUSIC)
+            self.loop.run()
+            shutil.copy2(VCS_TEST_DATA_VIDEO + TEST_VIDEO, os.path.expanduser("~") + '/' + TEST_VIDEO)
+            self.loop.run()
+            shutil.copy2(VCS_TEST_DATA_IMAGES + TEST_IMAGE, os.path.expanduser("~") + '/' + TEST_IMAGE)
+            self.loop.run()
+
+        if (target == MAEMO6_HW):
+            shutil.copy2( TEST_DATA_MUSIC + TEST_MUSIC, MYDOCS_MUSIC + '/' + TEST_MUSIC)
+            self.loop.run()
+            shutil.copy2( TEST_DATA_VIDEO + TEST_VIDEO, MYDOCS_VIDEOS + '/' + TEST_VIDEO)
+            self.loop.run()
+            shutil.copy2( TEST_DATA_IMAGES + TEST_IMAGE, MYDOCS_IMAGES + '/' + TEST_IMAGE)
+            self.loop.run()
 
-def check_target():
-        sboxindicator='/targets/links/scratchbox.config'
-        try :
-                if os.path.islink(sboxindicator) and os.path.isfile(os.readlink(sboxindicator)) :
-                        awk_print = '3'
-                else:
-                        awk_print = '2'
-                return awk_print
-
-        except OSError:
-                awk_print = '2'
diff --git a/tests/functional-tests/data/Makefile.am b/tests/functional-tests/data/Makefile.am
index aab62c8..c36aefd 100644
--- a/tests/functional-tests/data/Makefile.am
+++ b/tests/functional-tests/data/Makefile.am
@@ -1,6 +1,9 @@
 include $(top_srcdir)/Makefile.decl
 
-SUBDIRS = Music Images
+SUBDIRS = 		\
+	Music		\
+	Video		\
+	Images
 
 configdir = $(datadir)/tracker-tests/data
 
diff --git a/tests/functional-tests/data/Video/Makefile.am b/tests/functional-tests/data/Video/Makefile.am
new file mode 100644
index 0000000..fafae7d
--- /dev/null
+++ b/tests/functional-tests/data/Video/Makefile.am
@@ -0,0 +1,10 @@
+include $(top_srcdir)/Makefile.decl
+
+if DIST_FUNCTIONAL_TESTS
+configdir = $(datadir)/tracker-tests/data/Video
+
+config_DATA =			\
+	test-video.mp4
+
+EXTRA_DIST = $(config_DATA)
+endif
diff --git a/tests/functional-tests/data/Video/test-video.mp4 b/tests/functional-tests/data/Video/test-video.mp4
new file mode 100644
index 0000000..915e4be
Binary files /dev/null and b/tests/functional-tests/data/Video/test-video.mp4 differ
diff --git a/tests/functional-tests/metadata_extraction_tc.py b/tests/functional-tests/metadata_extraction_tc.py
index c3231f6..00664c9 100755
--- a/tests/functional-tests/metadata_extraction_tc.py
+++ b/tests/functional-tests/metadata_extraction_tc.py
@@ -31,17 +31,24 @@ TRACKER = 'org.freedesktop.Tracker1'
 TRACKER_OBJ = '/org/freedesktop/Tracker1/Resources'
 RESOURCES_IFACE = "org.freedesktop.Tracker1.Resources"
 
-if target == '2':
+if target == configuration.MAEMO6_HW:
 	"""target is device """
 	IMAGE_FILE_PATH = configuration.URL_PREFIX + configuration.MYDOCS_IMAGES
-	MUSIC_FILE_PATH = configuration.URL_PREFIX + configuration.MYDOCS_MUSIC 
-else:
-	"""target is SBOX """
-	IMAGE_FILE_PATH = configuration.URL_PREFIX + configuration.TEST_DATA_IMAGES
-	MUSIC_FILE_PATH = configuration.URL_PREFIX + configuration.TEST_DATA_MUSIC 
+	MUSIC_FILE_PATH = configuration.URL_PREFIX + configuration.MYDOCS_MUSIC
+	PCKL_FILE_PATH = configuration.TEST_DATA_DIR
+
+elif target == configuration.DESKTOP:
+	"""target is DESKTOP """
+	IMAGE_FILE_PATH = configuration.URL_PREFIX + os.path.expanduser("~") + '/'
+	MUSIC_FILE_PATH = configuration.URL_PREFIX + os.path.expanduser("~") + '/'
+	PCKL_FILE_PATH = configuration.VCS_TEST_DATA_DIR
 
 print "MUSIC_FILE_PATH is %s" %(MUSIC_FILE_PATH)
 
+tdcpy = configuration.TDCopy()
+tdcpy.set_test_data(target)
+
+
 class TrackerHelpers(unittest.TestCase):
 	def setUp(self):
 		bus = dbus.SessionBus()
@@ -51,7 +58,7 @@ class TrackerHelpers(unittest.TestCase):
 
 
 	def de_pickle(self,pckl_file):
-		pckl_file = configuration.TEST_DATA_DIR + pckl_file
+		pckl_file =  PCKL_FILE_PATH + pckl_file
 		print "pickle file is %s" %(pckl_file)
 		pickf=open(pckl_file, 'rb')
 		dictList=pickle.load(pickf)
diff --git a/tests/functional-tests/miner-basic-ops.py b/tests/functional-tests/miner-basic-ops.py
new file mode 100644
index 0000000..9f1fd38
--- /dev/null
+++ b/tests/functional-tests/miner-basic-ops.py
@@ -0,0 +1,758 @@
+#!/usr/bin/env python2.5
+
+# 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
+
+TRACKER = 'org.freedesktop.Tracker1'
+TRACKER_OBJ = '/org/freedesktop/Tracker1/Resources/Classes'
+RESOURCES_IFACE = "org.freedesktop.Tracker1.Resources.Class"
+
+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"
+
+"""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
+
+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
+
+commands.getoutput('mkdir ' + TEST_DIR_1)
+commands.getoutput('mkdir ' + TEST_DIR_2)
+commands.getoutput('mkdir -p ' + TEST_DIR_3)
+
+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"
+
+""" copy operation and tracker-miner response test cases """
+class copy(TestUpdate):
+
+        def test_copy_01 (self):
+
+                """Copy an image file from unmonitored directory to monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path = TEST_DIR_1 + '/test-image-copy-01.jpg'
+
+                """ 1. Copy an image file from unmonitored directory to monitored directory """
+                commands.getoutput('cp '+ SRC_IMAGE_DIR + TEST_IMAGE + ' ' + file_path)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path + ' | wc -l')
+		print result
+		self.assert_(result == '1' , 'copied file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path)
+
+        def test_copy_02 (self):
+
+                """Copy a music  file from unmonitored directory to monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path = TEST_DIR_1 + '/test-music-copy-01.mp3'
+
+                """ 1. Copy file from unmonitored directory to monitored directory """
+                commands.getoutput('cp '+ SRC_MUSIC_DIR + TEST_MUSIC + ' ' + file_path)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path + ' | wc -l')
+		print result
+		self.assert_(result == '1' , 'copied file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path)
+
+        def test_copy_03 (self):
+
+                """Copy a video  file from unmonitored directory to monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path = TEST_DIR_1 + '/test-video-copy-01.mp4'
+
+                """ 1. Copy file from unmonitored directory to monitored directory """
+                commands.getoutput('cp '+ SRC_VIDEO_DIR + TEST_VIDEO + ' ' + file_path)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path + ' | wc -l')
+		print result
+		self.assert_(result == '1' , 'copied file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path)
+
+
+        def test_copy_04 (self):
+
+                """Copy an image file from monitored directory to unmonitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-image-copy-01.jpg'
+		file_path_2 = TEST_DIR_3 + '/test-image-copy-01.jpg'
+
+                """ 1. Copy an image file to monitored directory """
+                commands.getoutput('cp '+ SRC_IMAGE_DIR + TEST_IMAGE + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. Copy an image file to unmonitored directory """
+                commands.getoutput('cp '+ file_path_1 + ' ' + file_path_2)
+		time.sleep(2)
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '0' , 'copied file is shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '1' , 'source file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_1)
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_copy_05 (self):
+
+                """Copy a music file from monitored directory to unmonitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-music-copy-01.mp3'
+		file_path_2 = TEST_DIR_3 + '/test-music-copy-01.mp3'
+
+                """ 1. Copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_MUSIC_DIR + TEST_MUSIC + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. Copy file to unmonitored directory """
+                commands.getoutput('cp '+ file_path_1 + ' ' + file_path_2)
+		time.sleep(2)
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '0' , 'copied file is shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '1' , 'source file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_1)
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_copy_06 (self):
+
+                """Copy a video file from monitored directory to unmonitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-video-copy-01.mp4'
+		file_path_2 = TEST_DIR_3 + '/test-video-copy-01.mp4'
+
+                """ 1. Copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_VIDEO_DIR + TEST_VIDEO + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. Copy file to unmonitored directory """
+                commands.getoutput('cp '+ file_path_1 + ' ' + file_path_2)
+		time.sleep(2)
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '0' , 'copied file is shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '1' , 'source file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_1)
+                commands.getoutput('rm '+ file_path_2)
+
+
+        def test_copy_07 (self):
+
+                """Copy an image file from monitored directory to another monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-image-copy-01.jpg'
+		file_path_2 = TEST_DIR_2 + '/test-image-copy-01.jpg'
+
+                """ 1. Copy an image file to monitored directory """
+                commands.getoutput('cp '+ SRC_IMAGE_DIR + TEST_IMAGE + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. Copy an image file to another monitored directory """
+                commands.getoutput('cp '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '1' , 'copied file is not shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '1' , 'source file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_1)
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_copy_08 (self):
+
+                """Copy a music file from monitored directory to another monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-music-copy-01.mp3'
+		file_path_2 = TEST_DIR_2 + '/test-music-copy-01.mp3'
+
+                """ 1. Copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_MUSIC_DIR + TEST_MUSIC + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. Copy file to another monitored directory """
+                commands.getoutput('cp '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed both of these file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '1' , 'copied file is not shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '1' , 'source file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_1)
+                commands.getoutput('rm '+ file_path_2)
+
+
+        def test_copy_09 (self):
+
+                """Copy a video file from monitored directory to another monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-video-copy-01.mp4'
+		file_path_2 = TEST_DIR_2 + '/test-video-copy-01.mp4'
+
+                """ 1. Copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_VIDEO_DIR + TEST_VIDEO + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. Copy file to another monitored directory """
+                commands.getoutput('cp '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed both of these file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '1' , 'copied file is not shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '1' , 'source file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_1)
+                commands.getoutput('rm '+ file_path_2)
+
+
+
+
+
+
+
+""" move operation and tracker-miner response test cases """
+class move(TestUpdate):
+
+
+        def test_move_01 (self):
+
+                """move an image file from unmonitored directory to monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_3 + '/test-image-move-01.jpg'
+		file_path_2 = TEST_DIR_1 + '/test-image-move-01.jpg'
+
+                """ 1. Copy an image file to an unmonitored directory """
+                commands.getoutput('cp '+ SRC_IMAGE_DIR + TEST_IMAGE + ' ' + file_path_1)
+
+                """ 1. move an image file from unmonitored directory to monitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_2 + ' | wc -l')
+		print result
+		self.assert_(result == '1' , 'moved file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_02 (self):
+
+                """move a music  file from unmonitored directory to monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_3 + '/test-music-move-01.mp3'
+		file_path_2 = TEST_DIR_1 + '/test-music-move-01.mp3'
+
+                """ 1. Copy file to an unmonitored directory """
+                commands.getoutput('cp '+ SRC_MUSIC_DIR + TEST_MUSIC + ' ' + file_path_1)
+
+                """ 1. move file from unmonitored directory to monitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_2 + ' | wc -l')
+		print result
+		self.assert_(result == '1' , 'moved file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_03 (self):
+
+                """move a video  file from unmonitored directory to monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_3 + '/test-video-move-01.mp4'
+		file_path_2 = TEST_DIR_1 + '/test-video-move-01.mp4'
+
+                """ 1. Copy file to an unmonitored directory """
+                commands.getoutput('cp '+ SRC_VIDEO_DIR + TEST_VIDEO + ' ' + file_path_1)
+
+                """ 1. move file from unmonitored directory to monitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_2 + ' | wc -l')
+		print result
+		self.assert_(result == '1' , 'moved file is not shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_04 (self):
+
+                """move an image file from monitored directory to unmonitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-image-move-01.jpg'
+		file_path_2 = TEST_DIR_3 + '/test-image-move-01.jpg'
+
+                """ 1. copy an image file to monitored directory """
+                commands.getoutput('cp '+ SRC_IMAGE_DIR + TEST_IMAGE + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file moved and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. move an image file to unmonitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '0' , 'moveed file is shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '0' , 'source file is shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_05 (self):
+
+                """move a music file from monitored directory to unmonitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-music-move-01.mp3'
+		file_path_2 = TEST_DIR_3 + '/test-music-move-01.mp3'
+
+                """ 1. copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_MUSIC_DIR + TEST_MUSIC + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file moved and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. move file to unmonitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '0' , 'moveed file is shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '0' , 'source file is shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_06 (self):
+
+                """move a video file from monitored directory to unmonitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-video-move-01.mp4'
+		file_path_2 = TEST_DIR_3 + '/test-video-move-01.mp4'
+
+                """ 1. copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_VIDEO_DIR + TEST_VIDEO + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file moved and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. move file to unmonitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '0' , 'moveed file is shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '0' , 'source file is shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_07 (self):
+
+                """move an image file from monitored directory to another monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-image-move-01.jpg'
+		file_path_2 = TEST_DIR_2 + '/test-image-move-01.jpg'
+
+                """ 1. Copy an image file to monitored directory """
+                commands.getoutput('cp '+ SRC_IMAGE_DIR + TEST_IMAGE + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. move an image file to another monitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed these files.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '1' , 'moveed file is not shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '0' , 'source file is shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_08 (self):
+
+                """move a music file from monitored directory to another monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-music-move-01.mp3'
+		file_path_2 = TEST_DIR_2 + '/test-music-move-01.mp3'
+
+                """ 1. Copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_MUSIC_DIR + TEST_MUSIC + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. move file to another monitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed both of these file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '1' , 'moved file is not shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '0' , 'source file is shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+        def test_move_09 (self):
+
+                """move a video file from monitored directory to another monitored directory
+                and verify if data base is updated accordingly"""
+
+
+		file_path_1 = TEST_DIR_1 + '/test-video-move-01.mp4'
+		file_path_2 = TEST_DIR_2 + '/test-video-move-01.mp4'
+
+                """ 1. Copy file to monitored directory """
+                commands.getoutput('cp '+ SRC_VIDEO_DIR + TEST_VIDEO + ' ' + file_path_1)
+		self.loop.run()
+
+		""" 2. verify if miner indexed this file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 3. move file to another monitored directory """
+                commands.getoutput('mv '+ file_path_1 + ' ' + file_path_2)
+		self.loop.run()
+
+		""" 4. verify if miner indexed both of these file.  """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_2 + ' | wc -l')
+		self.assert_(result == '1' , 'moved file is not shown as indexed')
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path_1 + ' | wc -l')
+		self.assert_(result == '0' , 'source file is shown as indexed')
+
+                commands.getoutput('rm '+ file_path_2)
+
+""" delete operation and tracker-miner response test cases """
+class delete(TestUpdate):
+
+
+        def test_delete_01 (self):
+
+                """Delete an image file and verify if data base is updated accordingly"""
+
+
+		file_path = TEST_DIR_1 + '/test-image-delete-01.jpg'
+
+                """ 1. Copy test image file from test data dir to a monitored dir """
+                commands.getoutput('cp '+ SRC_IMAGE_DIR + TEST_IMAGE + ' ' + file_path)
+		self.loop.run()
+
+
+		"""verify the image is indexed """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 2. Delete the image file from monitored dir """
+                commands.getoutput('rm '+ file_path)
+		self.loop.run()
+
+
+		"""verify the deleted image is not indexed """
+		result = commands.getoutput ('tracker-search --limit=10000  -i  | grep ' + file_path + ' | wc -l')
+		print result
+		self.assert_(result == '0' , 'deleted file is shown as indexed')
+
+
+        def test_delete_02 (self):
+
+                """Delete an audio file from monitored directory and verify if data base is updated accordingly"""
+
+
+		file_path = TEST_DIR_1 + '/test-music-delete-01.mp3'
+
+                """ 1. Copy test music file from test data dir to a monitored dir """
+                commands.getoutput('cp '+ SRC_MUSIC_DIR + TEST_MUSIC + ' ' + file_path)
+		self.loop.run()
+
+
+		"""verify the file is indexed """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 2. Delete the file """
+                commands.getoutput('rm '+ file_path)
+		self.loop.run()
+
+
+		"""verify the deleted image is not indexed """
+		result = commands.getoutput ('tracker-search --limit=10000  -m  | grep ' + file_path + ' | wc -l')
+		print result
+		self.assert_(result == '0' , 'deleted file is shown as indexed')
+
+        def test_delete_03 (self):
+
+                """Delete a video file from monitored directory and verify if data base is updated accordingly"""
+
+
+		file_path = TEST_DIR_1 + '/test-video-delete-01.mp4'
+
+                """ 1. Copy test music file from test data dir to a monitored dir """
+                commands.getoutput('cp '+ SRC_VIDEO_DIR + TEST_VIDEO + ' ' + file_path)
+		self.loop.run()
+
+
+		"""verify the file is indexed """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path + ' | wc -l')
+		print result
+		if result == '1':
+			print "file copied and indexed"
+		else :
+			self.fail("file not indexed")
+
+
+                """ 2. Delete the file """
+                commands.getoutput('rm '+ file_path)
+		self.loop.run()
+
+
+		"""verify the deleted file is not indexed """
+		result = commands.getoutput ('tracker-search --limit=10000  -v  | grep ' + file_path + ' | wc -l')
+		print result
+		self.assert_(result == '0' , 'deleted file is shown as indexed')
+
+
+if __name__ == "__main__":
+	unittest.main()
diff --git a/tests/functional-tests/tests.xml b/tests/functional-tests/tests.xml
index fac2c55..c2fb46e 100644
--- a/tests/functional-tests/tests.xml
+++ b/tests/functional-tests/tests.xml
@@ -1,48 +1,6 @@
 <testdefinition version="0.1">
   <suite name="tracker">
     <description />
-    <set name="_usr_share_tracker-tests_bootup-tc.py">
-      <description>tracker:bootup-tc.py</description>
-      <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-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-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>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_virtual-files-tc.py">
-      <description>tracker:virtual-files-tc.py</description>
-      <case name="virtual-files-tc.py-virtual_files.test_Virttual_01">
-        <description>tracker:virtual-files-tc.py:virtual_files.test_Virttual_01</description>
-        <step>/usr/share/tracker-tests/virtual-files-tc.py virtual_files.test_Virttual_01</step>
-      </case>
-      <case name="virtual-files-tc.py-virtual_files.test_Virtual_02">
-        <description>tracker:virtual-files-tc.py:virtual_files.test_Virtual_02</description>
-        <step>/usr/share/tracker-tests/virtual-files-tc.py virtual_files.test_Virtual_02</step>
-      </case>
-      <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">
@@ -154,22 +112,223 @@
         <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>
+    <set name="_usr_share_tracker-tests_virtual-files-tc.py~">
+      <description>tracker:virtual-files-tc.py~</description>
+      <case name="virtual-files-tc.py~-virtual_files.test_Virttual_01">
+        <description>tracker:virtual-files-tc.py~:virtual_files.test_Virttual_01</description>
+        <step>/usr/share/tracker-tests/virtual-files-tc.py~ virtual_files.test_Virttual_01</step>
+      </case>
+      <case name="virtual-files-tc.py~-virtual_files.test_Virtual_02">
+        <description>tracker:virtual-files-tc.py~:virtual_files.test_Virtual_02</description>
+        <step>/usr/share/tracker-tests/virtual-files-tc.py~ virtual_files.test_Virtual_02</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>
+    <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">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_01</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_01</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_02">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_02</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_02</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_03">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_03</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_03</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_04">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_04</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_04</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_05">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_05</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_05</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_06">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_06</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_06</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_07">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_07</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_07</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_08">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_08</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_08</step>
+      </case>
+      <case name="miner-basic-ops.py-copy.test_copy_09">
+        <description>tracker:miner-basic-ops.py:copy.test_copy_09</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py copy.test_copy_09</step>
+      </case>
+      <case name="miner-basic-ops.py-delete.test_delete_01">
+        <description>tracker:miner-basic-ops.py:delete.test_delete_01</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py delete.test_delete_01</step>
+      </case>
+      <case name="miner-basic-ops.py-delete.test_delete_02">
+        <description>tracker:miner-basic-ops.py:delete.test_delete_02</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py delete.test_delete_02</step>
+      </case>
+      <case name="miner-basic-ops.py-delete.test_delete_03">
+        <description>tracker:miner-basic-ops.py:delete.test_delete_03</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py delete.test_delete_03</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_01">
+        <description>tracker:miner-basic-ops.py:move.test_move_01</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_01</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_02">
+        <description>tracker:miner-basic-ops.py:move.test_move_02</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_02</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_03">
+        <description>tracker:miner-basic-ops.py:move.test_move_03</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_03</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_04">
+        <description>tracker:miner-basic-ops.py:move.test_move_04</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_04</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_05">
+        <description>tracker:miner-basic-ops.py:move.test_move_05</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_05</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_06">
+        <description>tracker:miner-basic-ops.py:move.test_move_06</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_06</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_07">
+        <description>tracker:miner-basic-ops.py:move.test_move_07</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_07</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_08">
+        <description>tracker:miner-basic-ops.py:move.test_move_08</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_08</step>
+      </case>
+      <case name="miner-basic-ops.py-move.test_move_09">
+        <description>tracker:miner-basic-ops.py:move.test_move_09</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py move.test_move_09</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">
+        <description>tracker:04-group-concat.py:TestGroupConcat.test_group_concat</description>
+        <step>/usr/share/tracker-tests/04-group-concat.py TestGroupConcat.test_group_concat</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">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_01</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_01</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_02">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_02</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_02</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_03">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_03</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_03</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_04">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_04</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_04</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_05">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_05</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_05</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_06">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_06</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_06</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_07">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_07</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_07</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_08">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_08</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_08</step>
+      </case>
+      <case name="miner-basic-ops.py~-copy.test_copy_09">
+        <description>tracker:miner-basic-ops.py~:copy.test_copy_09</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ copy.test_copy_09</step>
+      </case>
+      <case name="miner-basic-ops.py~-delete.test_delete_01">
+        <description>tracker:miner-basic-ops.py~:delete.test_delete_01</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ delete.test_delete_01</step>
+      </case>
+      <case name="miner-basic-ops.py~-delete.test_delete_02">
+        <description>tracker:miner-basic-ops.py~:delete.test_delete_02</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ delete.test_delete_02</step>
+      </case>
+      <case name="miner-basic-ops.py~-delete.test_delete_03">
+        <description>tracker:miner-basic-ops.py~:delete.test_delete_03</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ delete.test_delete_03</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_01">
+        <description>tracker:miner-basic-ops.py~:move.test_move_01</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_01</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_02">
+        <description>tracker:miner-basic-ops.py~:move.test_move_02</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_02</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_03">
+        <description>tracker:miner-basic-ops.py~:move.test_move_03</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_03</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_04">
+        <description>tracker:miner-basic-ops.py~:move.test_move_04</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_04</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_05">
+        <description>tracker:miner-basic-ops.py~:move.test_move_05</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_05</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_06">
+        <description>tracker:miner-basic-ops.py~:move.test_move_06</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_06</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_07">
+        <description>tracker:miner-basic-ops.py~:move.test_move_07</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_07</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_08">
+        <description>tracker:miner-basic-ops.py~:move.test_move_08</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_08</step>
+      </case>
+      <case name="miner-basic-ops.py~-move.test_move_09">
+        <description>tracker:miner-basic-ops.py~:move.test_move_09</description>
+        <step>/usr/share/tracker-tests/miner-basic-ops.py~ move.test_move_09</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>
@@ -203,6 +362,155 @@
         <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_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>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <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_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_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_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">
@@ -218,6 +526,21 @@
         <hardware>true</hardware>
       </environments>
     </set>
+    <set name="_usr_share_tracker-tests_virtual-files-tc.py">
+      <description>tracker:virtual-files-tc.py</description>
+      <case name="virtual-files-tc.py-virtual_files.test_Virttual_01">
+        <description>tracker:virtual-files-tc.py:virtual_files.test_Virttual_01</description>
+        <step>/usr/share/tracker-tests/virtual-files-tc.py virtual_files.test_Virttual_01</step>
+      </case>
+      <case name="virtual-files-tc.py-virtual_files.test_Virtual_02">
+        <description>tracker:virtual-files-tc.py:virtual_files.test_Virtual_02</description>
+        <step>/usr/share/tracker-tests/virtual-files-tc.py virtual_files.test_Virtual_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">
@@ -293,59 +616,27 @@
         <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>
+    <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>
-      <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">
-        <description>tracker:04-group-concat.py:TestGroupConcat.test_group_concat</description>
-        <step>/usr/share/tracker-tests/04-group-concat.py TestGroupConcat.test_group_concat</step>
+      <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>
-      <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 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="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 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>
-      <environments>
-        <scratchbox>true</scratchbox>
-        <hardware>true</hardware>
-      </environments>
-    </set>
-    <set name="_usr_share_tracker-tests_configuration.py">
-      <description>tracker:configuration.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>
+      <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>
@@ -431,20 +722,8 @@
         <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>
+    <set name="_usr_share_tracker-tests_configuration.py">
+      <description>tracker:configuration.py</description>
       <environments>
         <scratchbox>true</scratchbox>
         <hardware>true</hardware>
diff --git a/tests/functional-tests/virtual-files-tc.py b/tests/functional-tests/virtual-files-tc.py
index e85757b..427a371 100644
--- a/tests/functional-tests/virtual-files-tc.py
+++ b/tests/functional-tests/virtual-files-tc.py
@@ -30,24 +30,31 @@ import string
 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="org.freedesktop.Tracker1.Miner.Files"
+MINER_OBJ="/org/freedesktop/Tracker1/Miner/Files"
 MINER_IFACE="org.freedesktop.Tracker1.Miner"
 
 
 target = configuration.check_target()
-if target == '2' :
-        dir_path = '/home/user/MyDocs'
+
+if target == configuration.MAEMO6_HW:
+	"""target is device """
+        dir_path = configuration.MYDOCS
         dir_path_parent = '/home/user'
-else :
-        dir_path = configuration.TEST_DATA_DIR
-        dir_path_parent = configuration.TEST_DIR
+	src = configuration.TEST_DATA_IMAGES + 'test-image-1.jpg'
+
+elif target == configuration.DESKTOP:
+        dir_path = os.path.expanduser("~")
+        dir_path_parent = os.path.expanduser("~") + "/" + "tmp"
+	if (not (os.path.exists(dir_path_parent) and os.path.isdir(dir_path_parent))):
+	    os.mkdir (dir_path_parent)
+	src = configuration.VCS_TEST_DATA_IMAGES + 'test-image-1.jpg'
+
 print dir_path
 
 """ copy the test data to proper location. """
 def copy_file():
 
-        src = configuration.TEST_DATA_IMAGES + 'test-image-1.jpg'
         dest = dir_path
         print 'Copying '+src+' to '+dest
         commands.getoutput('cp '+src+ ' '+dest)
@@ -72,49 +79,49 @@ class TestVirtualFiles (unittest.TestCase):
 
 class virtual_files(TestVirtualFiles):
 
-	def test_Virttual_01(self):                                                      
-                """                                                                      
-                Test if the update is ignored until the creation of the file is completed.      
-                1. Move the file to some other location.                                 
-                2. Create resource in tracker , by making instance of nie:DataObject.    
-                3. IgnoreNextUpdate on the files.                                        
-                4. Copy the original file to the present directory.                  
-                5. Query for the title of the file.                                  
-                """                                                                  
-                                                                                     
+	def test_Virttual_01(self):
+                """
+                Test if the update is ignored until the creation of the file is completed.
+                1. Move the file to some other location.
+                2. Create resource in tracker , by making instance of nie:DataObject.
+                3. IgnoreNextUpdate on the files.
+                4. Copy the original file to the present directory.
+                5. Query for the title of the file.
+                """
+
                 test_file = 'test-image-1.jpg'
                 file= dir_path + '/' + test_file
                 uri='file://' + file
 		print uri
-                
-                commands.getoutput('mv  ' + file + ' ' + dir_path_parent)    
-                                
+
+                commands.getoutput('mv  ' + file + ' ' + dir_path_parent)
+
                 Insert = """
-		INSERT { _:x a nfo:Image, nie:DataObject ; 
-                nie:url <%s> ;                                        
-                nie:title 'title_test'. }""" %(uri)                                     
+		INSERT { _:x a nfo:Image, nie:DataObject ;
+                nie:url <%s> ;
+                nie:title 'title_test'. }""" %(uri)
 		print Insert
 
-                self.sparql_update(Insert)                                           
+                self.sparql_update(Insert)
 		time.sleep(10)
 
-                self.miner.IgnoreNextUpdate([uri])                                   
+                self.miner.IgnoreNextUpdate([uri])
+
+                commands.getoutput('cp ' + dir_path_parent + '/'+ test_file + ' ' + dir_path)
 
-                commands.getoutput('cp ' + dir_path_parent + '/'+ test_file + ' ' + dir_path)             
-                
-                QUERY = """                                                            
-                SELECT ?t WHERE { ?file a nfo:FileDataObject ; 
-                nie:title ?t ;                                   
-                nie:url <%s> .}                                                       
-                """ %(uri)                                                
+                QUERY = """
+                SELECT ?t WHERE { ?file a nfo:FileDataObject ;
+                nie:title ?t ;
+                nie:url <%s> .}
+                """ %(uri)
 		print QUERY
 
-                result=self.query(QUERY)                                
+                result=self.query(QUERY)
 		print result
-                
+
                 self.assert_(result[0][0].find('title_test')!=-1 , "File is not ignored")
 
-		
+
 	def test_Virtual_02(self):
 
 		"""
@@ -128,7 +135,7 @@ class virtual_files(TestVirtualFiles):
                 file= dir_path + '/' + test_file
                 url='file://' + file
 		print url
-                
+
 		insert="""
 		INSERT { _:x a nfo:Image, nie:DataObject ; \
 		nie:url <%s> ; \
@@ -141,21 +148,20 @@ class virtual_files(TestVirtualFiles):
 
 		time.sleep(3)
 
-	        QUERY="""                                                                
+	        QUERY="""
                 SELECT ?label ?content WHERE { ?file a nie:DataObject ;nao:hasTag[a nao:Tag ;nao:prefLabel ?label]; nie:url <%s> ;
 		nie:plainTextContent ?content.
-                }                                                                        
-                """ %url   
+                }
+                """ %url
 
 		result=self.query(QUERY)
 
 		self.assert_(result[0][0].find('Favorite')!=-1 and result[1][1].find("This is script to test virtual file support")!=-1, "File is not monitored by tracker")
 
-		
-
-if __name__ == "__main__":                                                     
-
-        unittest.main()                      
 
 
+if __name__ == "__main__":
 
+        unittest.main()
+	if (os.path.exists(dir_path_parent) and os.path.isdir(dir_path_parent)):
+	    os.rmdir (dir_path_parent)
diff --git a/tests/functional-tests/writeback-tc.py b/tests/functional-tests/writeback-tc.py
index 5d752f1..cd0fa20 100644
--- a/tests/functional-tests/writeback-tc.py
+++ b/tests/functional-tests/writeback-tc.py
@@ -30,38 +30,46 @@ TRACKER = 'org.freedesktop.Tracker1'
 TRACKER_OBJ = '/org/freedesktop/Tracker1/Resources'
 RESOURCES_IFACE = "org.freedesktop.Tracker1.Resources"
 
-""" run the tracker-writeback """
-pid = commands.getoutput("ps -ef| grep tracker-writeback | awk '{print $3}'").split()
-if configuration.TRACKER_WRITEBACK not in pid:
-	os.system(configuration.TRACKER_WRITEBACK + ' -v 3 &')
-	time.sleep(5)
-
-EXTRACT = configuration.TRACKER_EXTRACT
-
 target = configuration.check_target()
-if target == '2' :
+print target
+
+if target == configuration.MAEMO6_HW:
+	"""target is device """
+	tracker_wb = configuration.TRACKER_WRITEBACK
+	tracker_ext = configuration.TRACKER_EXTRACT
 	dir_path = configuration.WB_TEST_DIR_DEVICE
-else :
+
+elif target == configuration.DESKTOP:
+	tracker_wb = configuration.TRACKER_WRITEBACK_DESKTOP
+	tracker_ext = configuration.TRACKER_EXTRACT_DESKTOP
 	dir_path = configuration.WB_TEST_DIR_HOST
+
 print dir_path
 
+""" run the tracker-writeback """
+pid = int(commands.getoutput('pidof tracker-writeback | wc -w'))
+
+if not pid:
+	os.system(tracker_wb + ' -v 3 &')
+	time.sleep(5)
+
 def copy_file():
-	src = configuration.TEST_DATA_IMAGES
+	src = configuration.VCS_TEST_DATA_IMAGES + configuration.TEST_IMAGE
 	dest = dir_path
 	print 'Copying '+src+' to '+dest
-	commands.getoutput('cp '+src +'/*'+ ' '+dest)
+	commands.getoutput('cp '+src + ' '+dest)
 
 def create_file_list_in_dir() :
 	"""
-	1. create a test directory 
+	1. create a test directory
 	2. copy images to test directory
 	3. list the files present in the test data directory
 	"""
-	
+
 	commands.getoutput('mkdir ' + dir_path)
 
 	copy_file()
-	
+
         fileList = []
         dirpathList = []
         for dirpath,dirNames,fileNames in os.walk(dir_path):
@@ -95,14 +103,14 @@ class TestWriteback (unittest.TestCase):
 class writeback(TestWriteback):
 
 	def test_wb_01(self):
-		""" 
-		Test if the value for Description property is written to the file 
+		"""
+		Test if the value for Description property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -117,15 +125,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nie:description ?val }
-				WHERE { ?file nie:description ?val ;nie:url <%s> } 
-				INSERT {?file nie:description 'testdescription' } 
+				WHERE { ?file nie:description ?val ;nie:url <%s> }
+				INSERT {?file nie:description 'testdescription' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nie:description')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nie:description')
 			print result
                 	value=result.split()
 			if (result.find('nie:description')!=-1)  and (value[1]=='"testdescription"') :
@@ -148,14 +156,14 @@ class writeback(TestWriteback):
 			"""
 
 	def test_wb_02(self):
-		""" 
-		Test if the value for copyright property is written to the file 
+		"""
+		Test if the value for copyright property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -170,15 +178,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nie:copyright ?val }
-				WHERE { ?file nie:copyright ?val ;nie:url <%s> } 
-				INSERT {?file nie:copyright 'testcopyright' } 
+				WHERE { ?file nie:copyright ?val ;nie:url <%s> }
+				INSERT {?file nie:copyright 'testcopyright' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nie:copyright')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nie:copyright')
 			print result
                 	value=result.split()
 			if (result.find('nie:copyright')!=-1)  and (value[1]=='"testcopyright"') :
@@ -194,14 +202,14 @@ class writeback(TestWriteback):
 
 
 	def test_wb_03(self):
-		""" 
-		Test if the value for title property is written to the file 
+		"""
+		Test if the value for title property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -216,15 +224,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nie:title ?val }
-				WHERE { ?file nie:title ?val ;nie:url <%s> } 
-				INSERT {?file nie:title 'testtitle' } 
+				WHERE { ?file nie:title ?val ;nie:url <%s> }
+				INSERT {?file nie:title 'testtitle' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nie:title')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nie:title')
 			print result
                 	value=result.split()
 			if (result.find('nie:title')!=-1)  and (value[1]=='"testtitle"') :
@@ -240,14 +248,14 @@ class writeback(TestWriteback):
 
 
 	def test_wb_04(self):
-		""" 
-		Test if the value for contentCreated property is written to the file 
+		"""
+		Test if the value for contentCreated property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -262,15 +270,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nie:contentCreated ?val }
-				WHERE { ?file nie:contentCreated ?val ;nie:url <%s> } 
-				INSERT {?file nie:contentCreated '2004-05-06T13:14:15Z' } 
+				WHERE { ?file nie:contentCreated ?val ;nie:url <%s> }
+				INSERT {?file nie:contentCreated '2004-05-06T13:14:15Z' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nie:contentCreated')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nie:contentCreated')
 			print result
                 	value=result.split()
 			print value
@@ -287,14 +295,14 @@ class writeback(TestWriteback):
 
 
 	def test_wb_05(self):
-		""" 
-		Test if the value for keyword property is written to the file 
+		"""
+		Test if the value for keyword property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -309,15 +317,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nie:keyword ?val }
-				WHERE { ?file nie:keyword ?val ;nie:url <%s> } 
-				INSERT {?file nie:keyword 'testkeyword' } 
+				WHERE { ?file nie:keyword ?val ;nie:url <%s> }
+				INSERT {?file nie:keyword 'testkeyword' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nao:prefLabel')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nao:prefLabel')
 			print result
                 	value=result.split()
 			if (result.find('nao:prefLabel')!=-1)  and ( '"testkeyword"' in value[1]) :
@@ -333,14 +341,14 @@ class writeback(TestWriteback):
 
 
 	def test_wb_06(self):
-		""" 
-		Test if the value for contributor property is written to the file 
+		"""
+		Test if the value for contributor property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -355,15 +363,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nco:contributor ?val }
-				WHERE { ?file nco:contributor ?val ;nie:url <%s> } 
-				INSERT {?file nco:contributor [a nco:Contact ; nco:fullname 'testcontributor' ] } 
+				WHERE { ?file nco:contributor ?val ;nie:url <%s> }
+				INSERT {?file nco:contributor [a nco:Contact ; nco:fullname 'testcontributor' ] }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nco:fullname')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nco:fullname')
 			print result
 			if '"testcontributor"' in result:
 				print "property is set"
@@ -377,14 +385,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_07(self):
-		""" 
-		Test if the value for creator property is written to the file 
+		"""
+		Test if the value for creator property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -399,15 +407,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nco:creator ?val }
-				WHERE { ?file nco:creator ?val ;nie:url <%s> } 
-				INSERT {?file nco:creator [a nco:Contact ; nco:fullname 'testcreator' ] } 
+				WHERE { ?file nco:creator ?val ;nie:url <%s> }
+				INSERT {?file nco:creator [a nco:Contact ; nco:fullname 'testcreator' ] }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nco:fullname')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nco:fullname')
 			print result
 			if '"testcreator"' in result:
 				print "property is set"
@@ -421,14 +429,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_08(self):
-		""" 
-		Test if the value for camera property is written to the file 
+		"""
+		Test if the value for camera property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -443,15 +451,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:camera ?val }
-				WHERE { ?file nmm:camera ?val ;nie:url <%s> } 
-				INSERT {?file nmm:camera 'test camera' } 
+				WHERE { ?file nmm:camera ?val ;nie:url <%s> }
+				INSERT {?file nmm:camera 'test camera' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:camera')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:camera')
 			print result
                 	value=result.split()
 			if (result.find('nmm:camera')!=-1)  and (value[1]=='"test') and (value[2]=='camera"'):
@@ -466,14 +474,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_09(self):
-		""" 
-		Test if the value for exposureTime property is written to the file 
+		"""
+		Test if the value for exposureTime property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -488,15 +496,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:exposureTime ?val }
-				WHERE { ?file nmm:exposureTime ?val ;nie:url <%s> } 
-				INSERT {?file nmm:exposureTime '44' } 
+				WHERE { ?file nmm:exposureTime ?val ;nie:url <%s> }
+				INSERT {?file nmm:exposureTime '44' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:exposureTime')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:exposureTime')
 			print result
                 	value=result.split()
 			if (result.find('nmm:exposureTime')!=-1)  and (value[1]=='44') :
@@ -511,14 +519,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_10(self):
-		""" 
-		Test if the value for fnumber property is written to the file 
+		"""
+		Test if the value for fnumber property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -533,15 +541,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:fnumber ?val }
-				WHERE { ?file nmm:fnumber ?val ;nie:url <%s> } 
-				INSERT {?file nmm:fnumber '707' } 
+				WHERE { ?file nmm:fnumber ?val ;nie:url <%s> }
+				INSERT {?file nmm:fnumber '707' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:fnumber')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:fnumber')
 			print result
                 	value=result.split()
 			if (result.find('nmm:fnumber')!=-1)  and (value[1]=='707') :
@@ -557,14 +565,14 @@ class writeback(TestWriteback):
 
 
 	def test_wb_11(self):
-		""" 
-		Test if the value for flash property as flash-off is written to the file 
+		"""
+		Test if the value for flash property as flash-off is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -579,15 +587,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:flash ?val }
-				WHERE { ?file nmm:flash ?val ;nie:url <%s> } 
-				INSERT {?file nmm:flash 'nmm:flash-off' } 
+				WHERE { ?file nmm:flash ?val ;nie:url <%s> }
+				INSERT {?file nmm:flash 'nmm:flash-off' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:flash')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:flash')
 			print result
                 	value=result.split()
 			if (result.find('nmm:flash')!=-1)  and (value[1]=='nmm:flash-off') :
@@ -602,14 +610,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_12(self):
-		""" 
-		Test if the value for flash property as flash-on is written to the file 
+		"""
+		Test if the value for flash property as flash-on is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -624,15 +632,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:flash ?val }
-				WHERE { ?file nmm:flash ?val ;nie:url <%s> } 
-				INSERT {?file nmm:flash 'nmm:flash-on' } 
+				WHERE { ?file nmm:flash ?val ;nie:url <%s> }
+				INSERT {?file nmm:flash 'nmm:flash-on' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:flash')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:flash')
 			print result
                 	value=result.split()
 			if (result.find('nmm:flash')!=-1)  and (value[1]=='nmm:flash-on') :
@@ -648,14 +656,14 @@ class writeback(TestWriteback):
 
 
 	def test_wb_13(self):
-		""" 
-		Test if the value for focalLength property is written to the file 
+		"""
+		Test if the value for focalLength property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -670,15 +678,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:focalLength ?val }
-				WHERE { ?file nmm:focalLength ?val ;nie:url <%s> } 
-				INSERT {?file nmm:focalLength '44' } 
+				WHERE { ?file nmm:focalLength ?val ;nie:url <%s> }
+				INSERT {?file nmm:focalLength '44' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:focalLength')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:focalLength')
 			print result
                 	value=result.split()
 			if (result.find('nmm:focalLength')!=-1)  and (value[1]=='44') :
@@ -693,14 +701,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_14(self):
-		""" 
-		Test if the value for isoSpeed property is written to the file 
+		"""
+		Test if the value for isoSpeed property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -715,15 +723,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:isoSpeed ?val }
-				WHERE { ?file nmm:isoSpeed ?val ;nie:url <%s> } 
-				INSERT {?file nmm:isoSpeed '44' } 
+				WHERE { ?file nmm:isoSpeed ?val ;nie:url <%s> }
+				INSERT {?file nmm:isoSpeed '44' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:isoSpeed')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:isoSpeed')
 			print result
                 	value=result.split()
 			if (result.find('nmm:isoSpeed')!=-1)  and (value[1]=='44') :
@@ -738,14 +746,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_15(self):
-		""" 
-		Test if the value for meteringMode property is written to the file 
+		"""
+		Test if the value for meteringMode property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -760,15 +768,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:meteringMode ?val }
-				WHERE { ?file nmm:meteringMode ?val ;nie:url <%s> } 
-				INSERT {?file nmm:meteringMode 'nmm:metering-mode-multispot' } 
+				WHERE { ?file nmm:meteringMode ?val ;nie:url <%s> }
+				INSERT {?file nmm:meteringMode 'nmm:metering-mode-multispot' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:meteringMode')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:meteringMode')
 			print result
                 	value=result.split()
 			if (result.find('nmm:meteringMode')!=-1)  and (value[1]=='nmm:metering-mode-multispot') :
@@ -783,14 +791,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_16(self):
-		""" 
-		Test if the value for whiteBalance property is written to the file 
+		"""
+		Test if the value for whiteBalance property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -805,15 +813,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file nmm:whiteBalance ?val }
-				WHERE { ?file nmm:whiteBalance ?val ;nie:url <%s> } 
-				INSERT {?file nmm:whiteBalance 'nmm:white-balance-auto' } 
+				WHERE { ?file nmm:whiteBalance ?val ;nie:url <%s> }
+				INSERT {?file nmm:whiteBalance 'nmm:white-balance-auto' }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep nmm:whiteBalance')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep nmm:whiteBalance')
 			print result
                 	value=result.split()
 			if (result.find('nmm:whiteBalance')!=-1)  and (value[1]=='nmm:white-balance-auto') :
@@ -828,14 +836,14 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 	def test_wb_17(self):
-		""" 
-		Test if the value for location property is written to the file 
+		"""
+		Test if the value for location property is written to the file
 		with sparql update with writeback.
-                
+
                 1. Delete the value of the property of the file.
                 2. Insert a new value.
                 3. Verify the value is written to the file.
-                4. Run the instruction in for loop to test for all the files 
+                4. Run the instruction in for loop to test for all the files
                 present in a particular directory.
 		"""
 
@@ -850,15 +858,15 @@ class writeback(TestWriteback):
 
                 	insert = """
 				DELETE {?file mlo:location ?val }
-				WHERE { ?file mlo:location ?val ;nie:url <%s> } 
-				INSERT {?file mlo:location [ a mlo:GeoPoint ;mlo:country "clevland";mlo:city 'test_city';mlo:address 'doorno-32'] } 
+				WHERE { ?file mlo:location ?val ;nie:url <%s> }
+				INSERT {?file mlo:location [ a mlo:GeoPoint ;mlo:country "clevland";mlo:city 'test_city';mlo:address 'doorno-32'] }
 				WHERE { ?file nie:url <%s> }
                 		""" %(uri, uri)
 			print insert
                 	self.sparql_update (insert)
 
                 	""" verify the inserted item """
-			result=commands.getoutput(EXTRACT + ' -f' +' ' + uri +' | grep mlo:*')
+			result=commands.getoutput(tracker_ext + ' -f' +' ' + uri +' | grep mlo:*')
 			print result
                 	value=result.split()
 			if (result.find('mlo:address')!=-1)  and (value[value.index('mlo:address') + 1] == '"doorno-32"') and (result.find('mlo:city')!=-1)  and (value[value.index('mlo:city') + 1] == '"test_city"') and (result.find('mlo:country')!=-1)  and ('"clevland"' in value[value.index('mlo:country') + 1]) :
@@ -873,7 +881,5 @@ class writeback(TestWriteback):
                                 self.assert_(not k,'Writeback failed for following files for property %s\n\n' % (str(overallRes)) )
 
 
-if __name__ == "__main__":                                                     
-        unittest.main()                      
-
-
+if __name__ == "__main__":
+        unittest.main()



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