Index: build/android/pylib/results/json_results_test.py |
diff --git a/build/android/pylib/results/json_results_test.py b/build/android/pylib/results/json_results_test.py |
new file mode 100755 |
index 0000000000000000000000000000000000000000..1bc730d4cf5f880fa2962faba3bc340833c950aa |
--- /dev/null |
+++ b/build/android/pylib/results/json_results_test.py |
@@ -0,0 +1,133 @@ |
+#!/usr/bin/env python |
+# Copyright 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import unittest |
+ |
+from pylib.base import base_test_result |
+from pylib.results import json_results |
+ |
+ |
+class JsonResultsTest(unittest.TestCase): |
+ |
+ def testGenerateResultsDict_passedResult(self): |
+ result = base_test_result.BaseTestResult( |
+ 'test.package.TestName', base_test_result.ResultType.PASS) |
+ |
+ all_results = base_test_result.TestRunResults() |
+ all_results.AddResult(result) |
+ |
+ results_dict = json_results.GenerateResultsDict(all_results) |
+ self.assertEquals( |
+ ['test.package.TestName'], |
+ results_dict['all_tests']) |
+ self.assertEquals(1, len(results_dict['per_iteration_data'])) |
+ |
+ iteration_result = results_dict['per_iteration_data'][0] |
+ self.assertTrue('test.package.TestName' in iteration_result) |
+ self.assertEquals(1, len(iteration_result['test.package.TestName'])) |
+ |
+ test_iteration_result = iteration_result['test.package.TestName'][0] |
+ self.assertTrue('status' in test_iteration_result) |
+ self.assertEquals('SUCCESS', test_iteration_result['status']) |
+ |
+ def testGenerateResultsDict_skippedResult(self): |
+ result = base_test_result.BaseTestResult( |
+ 'test.package.TestName', base_test_result.ResultType.SKIP) |
+ |
+ all_results = base_test_result.TestRunResults() |
+ all_results.AddResult(result) |
+ |
+ results_dict = json_results.GenerateResultsDict(all_results) |
+ self.assertEquals( |
+ ['test.package.TestName'], |
+ results_dict['all_tests']) |
+ self.assertEquals(1, len(results_dict['per_iteration_data'])) |
+ |
+ iteration_result = results_dict['per_iteration_data'][0] |
+ self.assertTrue('test.package.TestName' in iteration_result) |
+ self.assertEquals(1, len(iteration_result['test.package.TestName'])) |
+ |
+ test_iteration_result = iteration_result['test.package.TestName'][0] |
+ self.assertTrue('status' in test_iteration_result) |
+ self.assertEquals('SKIPPED', test_iteration_result['status']) |
+ |
+ def testGenerateResultsDict_failedResult(self): |
+ result = base_test_result.BaseTestResult( |
+ 'test.package.TestName', base_test_result.ResultType.FAIL) |
+ |
+ all_results = base_test_result.TestRunResults() |
+ all_results.AddResult(result) |
+ |
+ results_dict = json_results.GenerateResultsDict(all_results) |
+ self.assertEquals( |
+ ['test.package.TestName'], |
+ results_dict['all_tests']) |
+ self.assertEquals(1, len(results_dict['per_iteration_data'])) |
+ |
+ iteration_result = results_dict['per_iteration_data'][0] |
+ self.assertTrue('test.package.TestName' in iteration_result) |
+ self.assertEquals(1, len(iteration_result['test.package.TestName'])) |
+ |
+ test_iteration_result = iteration_result['test.package.TestName'][0] |
+ self.assertTrue('status' in test_iteration_result) |
+ self.assertEquals('FAILURE', test_iteration_result['status']) |
+ |
+ def testGenerateResultsDict_duration(self): |
+ result = base_test_result.BaseTestResult( |
+ 'test.package.TestName', base_test_result.ResultType.PASS, duration=123) |
+ |
+ all_results = base_test_result.TestRunResults() |
+ all_results.AddResult(result) |
+ |
+ results_dict = json_results.GenerateResultsDict(all_results) |
+ self.assertEquals( |
+ ['test.package.TestName'], |
+ results_dict['all_tests']) |
+ self.assertEquals(1, len(results_dict['per_iteration_data'])) |
+ |
+ iteration_result = results_dict['per_iteration_data'][0] |
+ self.assertTrue('test.package.TestName' in iteration_result) |
+ self.assertEquals(1, len(iteration_result['test.package.TestName'])) |
+ |
+ test_iteration_result = iteration_result['test.package.TestName'][0] |
+ self.assertTrue('elapsed_time_ms' in test_iteration_result) |
+ self.assertEquals(123, test_iteration_result['elapsed_time_ms']) |
+ |
+ def testGenerateResultsDict_multipleResults(self): |
+ result1 = base_test_result.BaseTestResult( |
+ 'test.package.TestName1', base_test_result.ResultType.PASS) |
+ result2 = base_test_result.BaseTestResult( |
+ 'test.package.TestName2', base_test_result.ResultType.PASS) |
+ |
+ all_results = base_test_result.TestRunResults() |
+ all_results.AddResult(result1) |
+ all_results.AddResult(result2) |
+ |
+ results_dict = json_results.GenerateResultsDict(all_results) |
+ self.assertEquals( |
+ ['test.package.TestName1', 'test.package.TestName2'], |
+ results_dict['all_tests']) |
+ self.assertEquals(2, len(results_dict['per_iteration_data'])) |
+ |
+ expected_tests = set([ |
+ 'test.package.TestName1', |
+ 'test.package.TestName2', |
+ ]) |
+ |
+ for iteration_result in results_dict['per_iteration_data']: |
+ self.assertEquals(1, len(iteration_result)) |
+ name = iteration_result.keys()[0] |
+ self.assertTrue(name in expected_tests) |
+ expected_tests.remove(name) |
+ self.assertEquals(1, len(iteration_result[name])) |
+ |
+ test_iteration_result = iteration_result[name][0] |
+ self.assertTrue('status' in test_iteration_result) |
+ self.assertEquals('SUCCESS', test_iteration_result['status']) |
+ |
+ |
+if __name__ == '__main__': |
+ unittest.main(verbosity=2) |
+ |