ensure TKO custom fields work with the "extra_info" feature in get_latest_tests. adding tests for get_status_counts and get_latest_tests while i'm at it -- they we're previously untestable, but i recently added a mechanism to implement "if" in sqlite, making them testable
Signed-off-by: Steve Howard <showard@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@4152 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/frontend/tko/rpc_interface_unittest.py b/frontend/tko/rpc_interface_unittest.py
index 4cc2eb1..bbae95a 100644
--- a/frontend/tko/rpc_interface_unittest.py
+++ b/frontend/tko/rpc_interface_unittest.py
@@ -317,8 +317,7 @@
counts = rpc_interface.get_group_counts(['job_name'])
groups = counts['groups']
self.assertEquals(len(groups), 2)
- group1 = groups[0]
- group2 = groups[1]
+ group1, group2 = groups
self.assertEquals(group1['group_count'], 2)
self.assertEquals(group1['job_name'], 'myjob1')
@@ -331,8 +330,7 @@
extra_select_fields=extra)
groups = counts['groups']
self.assertEquals(len(groups), 2)
- group1 = groups[0]
- group2 = groups[1]
+ group1, group2 = groups
self.assertEquals(group1['group_count'], 2)
self.assertEquals(group1['header_indices'], [0])
@@ -343,17 +341,31 @@
def test_get_status_counts(self):
- """\
- This method cannot be tested with a sqlite3 test framework. The method
- relies on the IF function, which is not present in sqlite3.
- """
+ counts = rpc_interface.get_status_counts(group_by=['job_name'])
+ group1, group2 = counts['groups']
+ self.assertEquals(group1['pass_count'], 1)
+ self.assertEquals(group1['complete_count'], 2)
+ self.assertEquals(group1['incomplete_count'], 0)
+ self.assertEquals(group2['pass_count'], 1)
+ self.assertEquals(group2['complete_count'], 1)
+ self.assertEquals(group2['incomplete_count'], 0)
def test_get_latest_tests(self):
- """\
- This method cannot be tested with a sqlite3 test framework. The method
- relies on the IF function, which is not present in sqlite3.
- """
+ counts = rpc_interface.get_latest_tests(group_by=['job_name'])
+ group1, group2 = counts['groups']
+ self.assertEquals(group1['pass_count'], 0)
+ self.assertEquals(group1['complete_count'], 1)
+ self.assertEquals(group1['test_idx'], 2)
+ self.assertEquals(group2['test_idx'], 3)
+
+
+ def test_get_latest_tests_extra_info(self):
+ counts = rpc_interface.get_latest_tests(group_by=['job_name'],
+ extra_info=['job_tag'])
+ group1, group2 = counts['groups']
+ self.assertEquals(group1['extra_info'], ['1-myjobtag1'])
+ self.assertEquals(group2['extra_info'], ['2-myjobtag2'])
def test_get_job_ids(self):
@@ -439,6 +451,14 @@
self.assertEquals(groups[1]['group_count'], 1)
+ def test_extra_info_test_attributes(self):
+ counts = rpc_interface.get_latest_tests(
+ group_by=['test_idx'], extra_info=['attribute_myattr'],
+ test_attribute_fields=['myattr'])
+ group1 = counts['groups'][0]
+ self.assertEquals(group1['extra_info'], ['myval'])
+
+
def test_get_test_label_fields(self):
tests = rpc_interface.get_test_views(
test_label_fields=['testlabel1', 'testlabel2'])