[tracker] functional-tests: New test cases for metadata extraction for images



commit af6cb99b54e62c7c0851de36f38f28af5a80f3f3
Author: Amit Jain <ext-amit 1 jain nokia com>
Date:   Thu Mar 18 15:59:52 2010 +0100

    functional-tests: New test cases for metadata extraction for images

 .../functional-tests/data/Images/test-image-1.jpg  |  Bin 4752 -> 7752 bytes
 tests/functional-tests/data/Makefile.am            |    3 +-
 tests/functional-tests/data/pickled_Images         |  Bin 0 -> 1203 bytes
 tests/functional-tests/metadata_extraction_tc.py   |  586 ++++++++++++++++++--
 tests/functional-tests/tests.xml                   |  382 ++++++++-----
 tests/functional-tests/writeback-tc.py             |    1 -
 6 files changed, 798 insertions(+), 174 deletions(-)
---
diff --git a/tests/functional-tests/data/Images/test-image-1.jpg b/tests/functional-tests/data/Images/test-image-1.jpg
index 42e61af..fdd227d 100644
Binary files a/tests/functional-tests/data/Images/test-image-1.jpg and b/tests/functional-tests/data/Images/test-image-1.jpg differ
diff --git a/tests/functional-tests/data/Makefile.am b/tests/functional-tests/data/Makefile.am
index 4365c62..d76ef21 100644
--- a/tests/functional-tests/data/Makefile.am
+++ b/tests/functional-tests/data/Makefile.am
@@ -8,7 +8,8 @@ if DIST_FUNCTIONAL_TESTS
 configdir = $(datadir)/tracker-tests/data
 
 config_DATA =			\
-	pickled_Music
+	pickled_Music		\
+	pickled_Images
 
 EXTRA_DIST = $(config_DATA)
 endif
diff --git a/tests/functional-tests/data/pickled_Images b/tests/functional-tests/data/pickled_Images
new file mode 100644
index 0000000..330cf46
Binary files /dev/null and b/tests/functional-tests/data/pickled_Images differ
diff --git a/tests/functional-tests/metadata_extraction_tc.py b/tests/functional-tests/metadata_extraction_tc.py
index f284e2b..5b4e0fb 100755
--- a/tests/functional-tests/metadata_extraction_tc.py
+++ b/tests/functional-tests/metadata_extraction_tc.py
@@ -34,9 +34,11 @@ RESOURCES_IFACE = "org.freedesktop.Tracker1.Resources"
 
 if target == '2':
 	"""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 
 
 print "MUSIC_FILE_PATH is %s" %(MUSIC_FILE_PATH)
@@ -75,39 +77,557 @@ class mydict:
     return self.nested_dict[key].keys ()
 
 
-#class images(TrackerHelpers):
-
-	#def test_get_images_height_1(self):
-		#dictList = self.de_pickle('pickled_Images')
-		#print dictList
-		#item = 'Image Height'
-		#flag = False
-                #for adict in dictList:
-		#	# adict is a file
-                #        testFile = adict['FILENAME']
-		#	file_uri = "file://" + testFile
-		#	#file_uri = MUSIC_FILE_PATH + testFile
-		#	print 'testfile is %s' %file_uri
-                #        for parm, expRes in adict.iteritems():
-		#		# iterate thro the dictaionary, file's fields
-		##		if re.compile('^'+item+'$',re.M).search(parm):
-		#			print 'parm val is %s' %parm
-		#			query = "SELECT ?height WHERE { \
-		#			<%s> a nfo:FileDataObject; \
-		#			nfo:height ?height.}" %(file_uri)
-		#			print query
-		#			results = self.query (query)
-		#			print results
-		##
-		#			print 'height of image retrieved is %d' (results[0][0])
-		#			print 'value in dic %s' %(expRes.strip())
-		#			if  not expRes.strip() == height:
-		#				flag = False
-		#				print 'Failed to get correct height of image %s' %testFile
-		#			else:
-		#				flag = True
-
-		#self.assert_(flag, "Get metadata for Images failed." )
+class images(TrackerHelpers):
+
+	def test_get_images_height_1(self):
+		"""
+		get the height of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for height """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Image Height':
+					query = "SELECT ?height WHERE { \
+					?uid nie:url <%s>; \
+					nfo:height ?height.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Actual = ' + results[0][0]
+					print  'Expected = ' + expRes.strip()
+					if  not expRes.strip() == results[0][0]:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct height for file %s' %testFile
+					else:
+						flag = True
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_width_1(self):
+		"""
+		get the width of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for width """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Image Width':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nfo:width ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Actual = ' + results[0][0]
+					print  'Expected = ' + expRes.strip()
+					if  not expRes.strip() == results[0][0]:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct width for file %s' %testFile
+					else:
+						flag = True
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+
+	def test_get_images_title_1(self):
+		"""
+		get the title of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for title """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Title':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nie:title ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Actual = ' + results[0][0]
+					print  'Expected = ' + expRes.strip()
+					if  not expRes.strip() == results[0][0]:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct title for file %s' %testFile
+					else:
+						flag = True
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+
+	def test_get_images_creator_1(self):
+		"""
+		get the creator of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for creator"""
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Creator':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nco:creator ?urn. \
+					?urn nco:fullname ?value}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Actual = ' + results[0][0]
+					print  'Expected = ' + expRes.strip()
+					if  not expRes.strip() == results[0][0]:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct creator for file %s' %testFile
+					else:
+						flag = True
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_mime_1(self):
+		"""
+		get the mime of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for mime"""
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'MIME Type':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nie:mimeType ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Actual = ' + results[0][0]
+					print  'Expected = ' + expRes.strip()
+					if  not expRes.strip() == results[0][0]:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct mime for file %s' %testFile
+					else:
+						flag = True
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+
+	def test_get_images_country_1(self):
+		"""
+		get the country of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for country"""
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Country':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					mlo:location ?urn. \
+					?urn mlo:country ?value}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Actual = ' + results[0][0]
+					print  'Expected = ' + expRes.strip()
+					if  not expRes.strip() == results[0][0]:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct country for file %s' %testFile
+					else:
+						flag = True
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_city_1(self):
+		"""
+		get the city of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for city"""
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'City':
+					print "amit"
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					mlo:location ?urn. \
+					?urn mlo:city ?value}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Actual = ' + results[0][0]
+					print  'Expected = ' + expRes.strip()
+					if  not expRes.strip() == results[0][0]:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct city for file %s' %testFile
+					else:
+						flag = True
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+
+
+	def test_get_images_res_1(self):
+		"""
+		get the X Resolution of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for X Resolution """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'X Resolution':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nfo:horizontalResolution ?value}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+						flag = True
+					else:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct X Resolution  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_res_2(self):
+		"""
+		get the Y Resolution of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for Y Resolution """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Y Resolution':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nfo:verticalResolution ?value}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+						flag = True
+					else:
+						Results[testFile]=parm
+						flag = False
+						print 'Failed to get correct Y Resolution  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_copyright_1(self):
+		"""
+		get the copyright of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for copyright """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Copyright':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nie:copyright ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+					else:
+						Results[testFile]=parm
+						print 'Failed to get correct copyright  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_fnumber_1(self):
+		"""
+		get the fnumber of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for fnumber """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'F Number':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nmm:fnumber ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+					else:
+						Results[testFile]=parm
+						print 'Failed to get correct fnumber  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_focal_length_1(self):
+		"""
+		get the focal_length of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for focal_length """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Focal Length':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nmm:focalLength ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+					else:
+						Results[testFile]=parm
+						print 'Failed to get correct focal_length  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_keyword_1(self):
+		"""
+		get the keyword of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for keyword """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Keyword':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nie:keyword ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+					else:
+						Results[testFile]=parm
+						print 'Failed to get correct keyword  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_comment_1(self):
+		"""
+		get the comment of the image files
+		and verify them with that present in the earlier created dictionary
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for comment """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'comment':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nie:comment ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+					else:
+						Results[testFile]=parm
+						print 'Failed to get correct comment  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+	def test_get_images_camera_1(self):
+		"""
+		get the camera of the image files
+		and verify them with that present in the earlier created dictionary
+		TODO: Have a image file with camera property.
+		"""
+		dictList = self.de_pickle('pickled_Images')
+		overallRes = []
+                for adict in dictList:
+			"""adict is a file"""
+			Results = {}
+                        testFile = adict['FILENAME']
+			print 'testfile is %s' %testFile
+			file_uri = IMAGE_FILE_PATH + testFile
+			"""browse the file's metadata list in dictionary for camera """
+                        for parm, expRes in adict.iteritems():
+				print parm
+                                if parm.rstrip() == 'Camera':
+					query = "SELECT ?value WHERE { \
+					?uid nie:url <%s>; \
+					nmm:camera ?value.}" %(file_uri)
+					print query
+					results = self.query (query)
+					print results
+					print  'Expected = ' + expRes.strip()
+					if len(results) > 0 and expRes.strip() == results[0][0]:
+						print  'Actual = ' + results[0][0]
+					else:
+						Results[testFile]=parm
+						print 'Failed to get correct camera  for file %s' %testFile
+
+			overallRes.append(Results)
+		for Result_dict in overallRes:
+			for k in Result_dict:
+				self.assert_(not k,'Get Metadata failed for following Image files %s\n\n' % (str(overallRes)) )
+
+
+
+
 
 class music(TrackerHelpers):
 
diff --git a/tests/functional-tests/tests.xml b/tests/functional-tests/tests.xml
index 5481109..5bffc84 100644
--- a/tests/functional-tests/tests.xml
+++ b/tests/functional-tests/tests.xml
@@ -1,182 +1,137 @@
 <testdefinition version="0.1">
   <suite name="tracker">
     <description />
-    <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>
+    <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="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="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_01-insertion.py">
-      <description>tracker:01-insertion.py</description>
-      <case name="01-insertion.py-s_batch_update.test_batch_insert_01">
-        <description>tracker:01-insertion.py:s_batch_update.test_batch_insert_01</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_batch_update.test_batch_insert_01</step>
+    <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">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_camera_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_camera_1</step>
       </case>
-      <case name="01-insertion.py-s_delete.test_delete_01">
-        <description>tracker:01-insertion.py:s_delete.test_delete_01</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_delete.test_delete_01</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_city_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_city_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_city_1</step>
       </case>
-      <case name="01-insertion.py-s_delete.test_delete_02">
-        <description>tracker:01-insertion.py:s_delete.test_delete_02</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_delete.test_delete_02</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_comment_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_comment_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_comment_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_01">
-        <description>tracker:01-insertion.py:s_insert.test_insert_01</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_01</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_copyright_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_copyright_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_copyright_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_02">
-        <description>tracker:01-insertion.py:s_insert.test_insert_02</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_02</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_country_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_country_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_country_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_03">
-        <description>tracker:01-insertion.py:s_insert.test_insert_03</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_03</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_creator_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_creator_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_creator_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_04">
-        <description>tracker:01-insertion.py:s_insert.test_insert_04</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_04</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_fnumber_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_fnumber_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_fnumber_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_01">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_01</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_01</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_focal_length_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_focal_length_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_focal_length_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_02">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_02</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_02</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_height_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_height_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_height_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_03">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_03</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_03</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_keyword_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_keyword_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_keyword_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_04">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_04</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_04</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_mime_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_mime_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_mime_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_05">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_05</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_05</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_res_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_res_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_res_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_06">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_06</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_06</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_res_2">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_res_2</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_res_2</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_07">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_07</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_07</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_title_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_title_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_title_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_08">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_08</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_08</step>
+      <case name="metadata_extraction_tc.py-images.test_get_images_width_1">
+        <description>tracker:metadata_extraction_tc.py:images.test_get_images_width_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py images.test_get_images_width_1</step>
       </case>
-      <case name="01-insertion.py-s_insert.test_insert_date_09">
-        <description>tracker:01-insertion.py:s_insert.test_insert_date_09</description>
-        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_09</step>
+      <case name="metadata_extraction_tc.py-music.test_get_music_album_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_album_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_album_1</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-music.test_get_music_title_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_title_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_title_1</step>
+      <case name="metadata_extraction_tc.py-music.test_get_music_comment_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_comment_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_comment_1</step>
       </case>
       <case name="metadata_extraction_tc.py-music.test_get_music_composer_1">
         <description>tracker:metadata_extraction_tc.py:music.test_get_music_composer_1</description>
         <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_composer_1</step>
       </case>
-      <case name="metadata_extraction_tc.py-music.test_get_music_genre_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_genre_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_genre_1</step>
-      </case>
-      <case name="metadata_extraction_tc.py-music.test_get_music_performer_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_performer_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_performer_1</step>
-      </case>
-      <case name="metadata_extraction_tc.py-music.test_get_music_album_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_album_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_album_1</step>
+      <case name="metadata_extraction_tc.py-music.test_get_music_contributor_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_contributor_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_contributor_1</step>
       </case>
       <case name="metadata_extraction_tc.py-music.test_get_music_copyright_1">
         <description>tracker:metadata_extraction_tc.py:music.test_get_music_copyright_1</description>
         <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_copyright_1</step>
       </case>
-      <case name="metadata_extraction_tc.py-music.test_get_music_track_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_track_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_track_1</step>
-      </case>
-      <case name="metadata_extraction_tc.py-music.test_get_music_mime_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_mime_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_mime_1</step>
-      </case>
-      <case name="metadata_extraction_tc.py-music.test_get_music_contributor_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_contributor_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_contributor_1</step>
-      </case>
       <case name="metadata_extraction_tc.py-music.test_get_music_duration_1">
         <description>tracker:metadata_extraction_tc.py:music.test_get_music_duration_1</description>
         <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_duration_1</step>
       </case>
-      <case name="metadata_extraction_tc.py-music.test_get_music_comment_1">
-        <description>tracker:metadata_extraction_tc.py:music.test_get_music_comment_1</description>
-        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_comment_1</step>
+      <case name="metadata_extraction_tc.py-music.test_get_music_genre_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_genre_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_genre_1</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="metadata_extraction_tc.py-music.test_get_music_mime_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_mime_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_mime_1</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 name="metadata_extraction_tc.py-music.test_get_music_performer_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_performer_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_performer_1</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 name="metadata_extraction_tc.py-music.test_get_music_title_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_title_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_title_1</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 name="metadata_extraction_tc.py-music.test_get_music_track_1">
+        <description>tracker:metadata_extraction_tc.py:music.test_get_music_track_1</description>
+        <step>/usr/share/tracker-tests/metadata_extraction_tc.py music.test_get_music_track_1</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_Virttual_02">
-        <description>tracker:virtual-files-tc.py:virtual_files.test_Virttual_02</description>
-        <step>/usr/share/tracker-tests/virtual-files-tc.py virtual_files.test_Virttual_02</step>
+    <set name="_usr_share_tracker-tests_08-unique-insertions.py">
+      <description>tracker:08-unique-insertions.py</description>
+      <case name="08-unique-insertions.py-TestFTSFunctions.test_unique_insertion">
+        <description>tracker:08-unique-insertions.py:TestFTSFunctions.test_unique_insertion</description>
+        <step>/usr/share/tracker-tests/08-unique-insertions.py TestFTSFunctions.test_unique_insertion</step>
       </case>
       <environments>
         <scratchbox>true</scratchbox>
@@ -185,25 +140,40 @@
     </set>
     <set name="_usr_share_tracker-tests_06-distance.py">
       <description>tracker:06-distance.py</description>
+      <case name="06-distance.py-TestCoalesce.test_distance_cartesian_proportion">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_cartesian_proportion</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_cartesian_proportion</step>
+      </case>
       <case name="06-distance.py-TestCoalesce.test_distance_cartesian_symmetry">
         <description>tracker:06-distance.py:TestCoalesce.test_distance_cartesian_symmetry</description>
         <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_cartesian_symmetry</step>
       </case>
-      <case name="06-distance.py-TestCoalesce.test_distance_haversine_symmetry">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_haversine_symmetry</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_haversine_symmetry</step>
-      </case>
-      <case name="06-distance.py-TestCoalesce.test_distance_cartesian_proportion">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_cartesian_proportion</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_cartesian_proportion</step>
+      <case name="06-distance.py-TestCoalesce.test_distance_different">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_different</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_different</step>
       </case>
       <case name="06-distance.py-TestCoalesce.test_distance_haversine_proportion">
         <description>tracker:06-distance.py:TestCoalesce.test_distance_haversine_proportion</description>
         <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_haversine_proportion</step>
       </case>
-      <case name="06-distance.py-TestCoalesce.test_distance_different">
-        <description>tracker:06-distance.py:TestCoalesce.test_distance_different</description>
-        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_different</step>
+      <case name="06-distance.py-TestCoalesce.test_distance_haversine_symmetry">
+        <description>tracker:06-distance.py:TestCoalesce.test_distance_haversine_symmetry</description>
+        <step>/usr/share/tracker-tests/06-distance.py TestCoalesce.test_distance_haversine_symmetry</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_02-metacontacts.py">
+      <description>tracker:02-metacontacts.py</description>
+      <case name="02-metacontacts.py-TestMetacontacts.test_metacontact_merge">
+        <description>tracker:02-metacontacts.py:TestMetacontacts.test_metacontact_merge</description>
+        <step>/usr/share/tracker-tests/02-metacontacts.py TestMetacontacts.test_metacontact_merge</step>
+      </case>
+      <case name="02-metacontacts.py-TestMetacontacts.test_metacontact_usage">
+        <description>tracker:02-metacontacts.py:TestMetacontacts.test_metacontact_usage</description>
+        <step>/usr/share/tracker-tests/02-metacontacts.py TestMetacontacts.test_metacontact_usage</step>
       </case>
       <environments>
         <scratchbox>true</scratchbox>
@@ -300,5 +270,139 @@
         <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_03-fts-functions.py">
+      <description>tracker:03-fts-functions.py</description>
+      <case name="03-fts-functions.py-TestFTSFunctions.test_fts_offsets">
+        <description>tracker:03-fts-functions.py:TestFTSFunctions.test_fts_offsets</description>
+        <step>/usr/share/tracker-tests/03-fts-functions.py TestFTSFunctions.test_fts_offsets</step>
+      </case>
+      <case name="03-fts-functions.py-TestFTSFunctions.test_fts_rank">
+        <description>tracker:03-fts-functions.py:TestFTSFunctions.test_fts_rank</description>
+        <step>/usr/share/tracker-tests/03-fts-functions.py TestFTSFunctions.test_fts_rank</step>
+      </case>
+      <environments>
+        <scratchbox>true</scratchbox>
+        <hardware>true</hardware>
+      </environments>
+    </set>
+    <set name="_usr_share_tracker-tests_configuration.py">
+      <description>tracker:configuration.py</description>
+      <environments>
+        <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_01-insertion.py">
+      <description>tracker:01-insertion.py</description>
+      <case name="01-insertion.py-s_batch_update.test_batch_insert_01">
+        <description>tracker:01-insertion.py:s_batch_update.test_batch_insert_01</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_batch_update.test_batch_insert_01</step>
+      </case>
+      <case name="01-insertion.py-s_delete.test_delete_01">
+        <description>tracker:01-insertion.py:s_delete.test_delete_01</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_delete.test_delete_01</step>
+      </case>
+      <case name="01-insertion.py-s_delete.test_delete_02">
+        <description>tracker:01-insertion.py:s_delete.test_delete_02</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_delete.test_delete_02</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_01">
+        <description>tracker:01-insertion.py:s_insert.test_insert_01</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_01</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_02">
+        <description>tracker:01-insertion.py:s_insert.test_insert_02</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_02</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_03">
+        <description>tracker:01-insertion.py:s_insert.test_insert_03</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_03</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_04">
+        <description>tracker:01-insertion.py:s_insert.test_insert_04</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_04</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_01">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_01</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_01</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_02">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_02</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_02</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_03">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_03</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_03</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_04">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_04</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_04</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_05">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_05</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_05</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_06">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_06</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_06</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_07">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_07</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_07</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_08">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_08</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_08</step>
+      </case>
+      <case name="01-insertion.py-s_insert.test_insert_date_09">
+        <description>tracker:01-insertion.py:s_insert.test_insert_date_09</description>
+        <step>/usr/share/tracker-tests/01-insertion.py s_insert.test_insert_date_09</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>
   </suite>
 </testdefinition>
diff --git a/tests/functional-tests/writeback-tc.py b/tests/functional-tests/writeback-tc.py
index 0bbd3fd..d0457c0 100644
--- a/tests/functional-tests/writeback-tc.py
+++ b/tests/functional-tests/writeback-tc.py
@@ -37,7 +37,6 @@ for pid in commands.getoutput("ps -ef| grep tracker-writeback | awk '{print $1}'
     os.kill(int(pid), signal.SIGKILL)
   except OSError, e:
     if not e.errno == 3 : raise e # error 3 is for noscuh process
-os.system('/usr/lib/tracker/tracker-writeback -v 3 &')
 os.system(configuration.TRACKER_WRITEBACK + ' -v 3 &')
 time.sleep(5)
 



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