add iterations from keyval properly when parsing

Signed-off-by: Martin J. Bligh <mbligh@google.com>



git-svn-id: http://test.kernel.org/svn/autotest/trunk@679 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/db.py b/tko/db.py
index 8017c9e..3322118 100644
--- a/tko/db.py
+++ b/tko/db.py
@@ -81,10 +81,19 @@
 	def insert_test(self, job, test):
 		kver = self.insert_kernel(test.kernel)
 		data = {'job_idx':job.index, 'test':test.testname,
-			'subdir':test.dir, 'kernel_idx':kver,
+			'subdir':test.subdir, 'kernel_idx':kver,
 			'status':self.status_idx[test.status],
 			'reason':test.reason, 'machine':test.machine }
 		self.insert('tests', data)
+		test_idx = self.find_test(job.index, test.subdir)
+		data = { 'test_idx':test_idx }
+
+		for i in test.iterations:
+			data['iteration'] = i.index
+			for key in i.keyval:
+				data['attribute'] = key
+				data['value'] = i.keyval[key]
+				self.insert('iteration_result', data)
 
 
 	def lookup_kernel(self, kernel):
@@ -118,6 +127,14 @@
 					'url':patch.reference, 
 					'hash':patch.hash})
 
+	def find_test(self, job_idx, subdir):
+		where = { 'job_idx':job_idx , 'subdir':subdir }
+		rows = self.select('test_idx', 'tests', where)
+		if rows:
+			return rows[0][0]
+		else:
+			return None
+
 
 	def find_job(self, tag):
 		rows = self.select('job_idx', 'jobs', {'tag': tag})