Chromium Code Reviews| Index: appengine/findit/handlers/test/try_job_result_test.py |
| diff --git a/appengine/findit/handlers/test/try_job_result_test.py b/appengine/findit/handlers/test/try_job_result_test.py |
| index f646a6e70f8807a221da4d5acc7193032af62700..7eb5a86317abbbd3f1a4c053d6ced0373b31065b 100644 |
| --- a/appengine/findit/handlers/test/try_job_result_test.py |
| +++ b/appengine/findit/handlers/test/try_job_result_test.py |
| @@ -29,20 +29,7 @@ class TryJobResultTest(testing.AppengineTestCase): |
| self.master_name, self.builder_name, self.build_number) |
| analysis.put() |
| - result = try_job_result._GetTryJobResult( |
| - self.master_name, self.builder_name, self.build_number) |
| - |
| - self.assertEqual({}, result) |
| - |
| - def testGetTryJobResultReturnNoneIfNoCompileFailure(self): |
| - analysis = WfAnalysis.Create( |
| - self.master_name, self.builder_name, self.build_number) |
| - analysis.failure_result_map = { |
| - 'browser_tests': 'm/b/121' |
| - } |
| - analysis.put() |
| - |
| - result = try_job_result._GetTryJobResult( |
| + result = try_job_result._GetAllTryJobResults( |
| self.master_name, self.builder_name, self.build_number) |
| self.assertEqual({}, result) |
| @@ -55,10 +42,18 @@ class TryJobResultTest(testing.AppengineTestCase): |
| } |
| analysis.put() |
| - result = try_job_result._GetTryJobResult( |
| + result = try_job_result._GetAllTryJobResults( |
| self.master_name, self.builder_name, self.build_number) |
| - self.assertEqual({}, result) |
| + expected_result = { |
| + 'compile':{ |
| + 'step': 'compile', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/121' |
| + } |
| + } |
| + |
| + self.assertEqual(expected_result, result) |
| def testGetTryJobResultOnlyReturnStatusIfPending(self): |
| @@ -73,11 +68,16 @@ class TryJobResultTest(testing.AppengineTestCase): |
| self.master_name, self.builder_name, self.build_number) |
| try_job.put() |
| - result = try_job_result._GetTryJobResult( |
| + result = try_job_result._GetAllTryJobResults( |
| self.master_name, self.builder_name, self.build_number) |
| expected_result = { |
| - 'status': 'Pending' |
| + 'compile':{ |
| + 'step': 'compile', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/121', |
| + 'status': 'Pending' |
| + } |
| } |
| self.assertEqual(expected_result, result) |
| @@ -96,19 +96,26 @@ class TryJobResultTest(testing.AppengineTestCase): |
| try_job.compile_results = [ |
| { |
| 'result': None, |
| - 'url': 'url' |
| + 'url': ('http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121') |
| } |
| ] |
| try_job.put() |
| - result = try_job_result._GetTryJobResult( |
| + result = try_job_result._GetAllTryJobResults( |
| self.master_name, self.builder_name, self.build_number) |
| expected_result = { |
| - 'status': 'Analyzing', |
| - 'try_job_url': 'url' |
| + 'compile':{ |
| + 'step': 'compile', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/121', |
| + 'status': 'Running', |
| + 'try_job_build_number': 121, |
| + 'try_job_url': ('http://build.chromium.org/p/tryserver.chromium.' |
| + 'linux/builders/linux_chromium_variable/builds/121') |
| + } |
| } |
| - |
| self.assertEqual(expected_result, result) |
| def testGetTryJobResultOnlyReturnStatusIfError(self): |
| @@ -129,11 +136,16 @@ class TryJobResultTest(testing.AppengineTestCase): |
| ] |
| try_job.put() |
| - result = try_job_result._GetTryJobResult( |
| + result = try_job_result._GetAllTryJobResults( |
| self.master_name, self.builder_name, self.build_number) |
| expected_result = { |
| - 'status': 'Error' |
| + 'compile':{ |
| + 'step': 'compile', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/121', |
| + 'status': 'Error' |
| + } |
| } |
| self.assertEqual(expected_result, result) |
| @@ -155,26 +167,37 @@ class TryJobResultTest(testing.AppengineTestCase): |
| ['rev1', 'passed'], |
| ['rev2', 'failed'] |
| ], |
| - 'url': 'url', |
| + 'url': ('http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121'), |
| 'try_job_id': '1', |
| 'culprit': { |
| - 'revision': 'rev2', |
| - 'commit_position': '2', |
| - 'review_url': 'url_2' |
| + 'compile': { |
| + 'revision': 'rev2', |
| + 'commit_position': '2', |
| + 'review_url': 'url_2' |
| + } |
| } |
| } |
| ] |
| try_job.put() |
| - result = try_job_result._GetTryJobResult( |
| + result = try_job_result._GetAllTryJobResults( |
| self.master_name, self.builder_name, self.build_number) |
| expected_result = { |
| - 'status': 'Analyzed', |
| - 'try_job_url': 'url', |
| - 'revision': 'rev2', |
| - 'commit_position': '2', |
| - 'review_url': 'url_2' |
| + 'compile':{ |
| + 'step': 'compile', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/121', |
| + 'try_job_build_number': 121, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121'), |
| + 'revision': 'rev2', |
| + 'commit_position': '2', |
| + 'review_url': 'url_2' |
| + } |
| } |
| self.assertEqual(expected_result, result) |
| @@ -196,17 +219,26 @@ class TryJobResultTest(testing.AppengineTestCase): |
| ['rev1', 'passed'], |
| ['rev2', 'passed'] |
| ], |
| - 'url': 'url' |
| + 'url': ('http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121') |
| } |
| ] |
| try_job.put() |
| - result = try_job_result._GetTryJobResult( |
| + result = try_job_result._GetAllTryJobResults( |
| self.master_name, self.builder_name, self.build_number) |
| expected_result = { |
| - 'status': 'Analyzed', |
| - 'try_job_url': 'url' |
| + 'compile':{ |
|
stgao
2016/02/02 21:08:32
nit: space ": {".
I guess pylint or gpylint will
chanli
2016/02/02 22:18:12
Done.
|
| + 'step': 'compile', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/121', |
| + 'try_job_build_number': 121, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121') |
| + } |
| } |
| self.assertEqual(expected_result, result) |
| @@ -219,3 +251,244 @@ class TryJobResultTest(testing.AppengineTestCase): |
| self.assertEqual(200, response.status_int) |
| self.assertEqual(expected_results, response.json_body) |
| + |
| + |
| + def testGetTryJobResultWhenTryJobForTestCompleted(self): |
| + analysis = WfAnalysis.Create( |
| + self.master_name, self.builder_name, self.build_number) |
| + analysis.failure_result_map = { |
| + 'a_test': { |
| + 'a_test1': 'm/b/121', |
| + 'a_test2': 'm/b/121', |
| + 'a_test3': 'm/b/120' |
| + }, |
| + 'b_test': { |
| + 'b_test1': 'm/b/121' |
| + }, |
| + 'c_test': 'm/b/121', |
| + 'd_test': 'm/b/122' |
| + } |
| + analysis.put() |
| + |
| + try_job_120 = WfTryJob.Create( |
| + self.master_name, self.builder_name, 120) |
| + try_job_120.status = wf_analysis_status.ANALYZED |
| + try_job_120.test_results = [ |
| + { |
| + 'result': { |
| + 'rev0': { |
| + 'a_test': { |
| + 'status': 'failed', |
| + 'valid': True, |
| + 'failures': ['a_test3'] |
| + } |
| + } |
| + }, |
| + 'url': ('http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/120'), |
| + 'try_job_id': '0', |
| + 'culprit': { |
| + 'a_test': { |
| + 'tests': { |
| + 'a_test3': { |
| + 'revision': 'rev0', |
| + 'commit_position': '0', |
| + 'review_url': 'url_0' |
| + } |
| + } |
| + } |
| + } |
| + } |
| + ] |
| + try_job_120.put() |
| + |
| + try_job_121 = WfTryJob.Create( |
| + self.master_name, self.builder_name, self.build_number) |
| + try_job_121.status = wf_analysis_status.ANALYZED |
| + try_job_121.test_results = [ |
| + { |
| + 'result': { |
| + 'rev1': { |
| + 'a_test': { |
| + 'status': 'failed', |
| + 'valid': True, |
| + 'failures': ['a_test1'] |
| + }, |
| + 'b_test': { |
| + 'status': 'failed', |
| + 'valid': True, |
| + 'failures': ['b_test1'] |
| + }, |
| + 'c_test': { |
| + 'status': 'passed', |
| + 'valid': True |
| + } |
| + }, |
| + 'rev2': { |
| + 'a_test': { |
| + 'status': 'failed', |
| + 'valid': True, |
| + 'failures': ['a_test1', 'a_test2'] |
| + }, |
| + 'b_test': { |
| + 'status': 'passed', |
| + 'valid': True |
| + }, |
| + 'c_test': { |
| + 'status': 'failed', |
| + 'valid': True, |
| + 'failures': [] |
| + } |
| + } |
| + }, |
| + 'url': ('http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121'), |
| + 'try_job_id': '1', |
| + 'culprit': { |
| + 'a_test': { |
| + 'tests': { |
| + 'a_test1': { |
| + 'revision': 'rev1', |
| + 'commit_position': '1', |
| + 'review_url': 'url_1' |
| + }, |
| + 'a_test2': { |
| + 'revision': 'rev2', |
| + 'commit_position': '2', |
| + 'review_url': 'url_2' |
| + } |
| + } |
| + }, |
| + 'b_test': { |
| + 'tests': { |
| + 'b_test1': { |
| + 'revision': 'rev1', |
| + 'commit_position': '1', |
| + 'review_url': 'url_1' |
| + } |
| + } |
| + }, |
| + 'c_test': { |
| + 'revision': 'rev2', |
| + 'commit_position': '2', |
| + 'review_url': 'url_2', |
| + 'tests': {} |
| + } |
| + } |
| + } |
| + ] |
| + try_job_121.put() |
| + |
| + try_job_122 = WfTryJob.Create( |
| + self.master_name, self.builder_name, 122) |
| + try_job_122.status = wf_analysis_status.ANALYZED |
| + try_job_122.test_results = [ |
| + { |
| + 'result': { |
| + 'rev3': { |
| + 'd_test': { |
| + 'status': 'failed', |
| + 'valid': True, |
| + 'failures': [] |
| + } |
| + } |
| + }, |
| + 'url': ('http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/122'), |
| + 'try_job_id': '2', |
| + 'culprit': { |
| + 'd_test': { |
| + 'revision': 'rev3', |
| + 'commit_position': '3', |
| + 'review_url': 'url_3', |
| + 'tests': {} |
| + } |
| + } |
| + } |
| + ] |
| + try_job_122.put() |
| + |
| + result = try_job_result._GetAllTryJobResults( |
| + self.master_name, self.builder_name, self.build_number) |
| + |
| + expected_result = { |
| + 'a_test-a_test1':{ |
| + 'step': 'a_test', |
| + 'test': 'a_test1', |
| + 'try_job_key': 'm/b/121', |
| + 'try_job_build_number': 121, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121'), |
| + 'revision': 'rev1', |
| + 'commit_position': '1', |
| + 'review_url': 'url_1' |
| + }, |
| + 'a_test-a_test2':{ |
| + 'step': 'a_test', |
| + 'test': 'a_test2', |
| + 'try_job_key': 'm/b/121', |
| + 'try_job_build_number': 121, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121'), |
| + 'revision': 'rev2', |
| + 'commit_position': '2', |
| + 'review_url': 'url_2' |
| + }, |
| + 'a_test-a_test3':{ |
| + 'step': 'a_test', |
| + 'test': 'a_test3', |
| + 'try_job_key': 'm/b/120', |
| + 'try_job_build_number': 120, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/120'), |
| + 'revision': 'rev0', |
| + 'commit_position': '0', |
| + 'review_url': 'url_0' |
| + }, |
| + 'b_test-b_test1':{ |
| + 'step': 'b_test', |
| + 'test': 'b_test1', |
| + 'try_job_key': 'm/b/121', |
| + 'try_job_build_number': 121, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121'), |
| + 'revision': 'rev1', |
| + 'commit_position': '1', |
| + 'review_url': 'url_1' |
| + }, |
| + 'c_test':{ |
| + 'step': 'c_test', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/121', |
| + 'try_job_build_number': 121, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/121'), |
| + 'revision': 'rev2', |
| + 'commit_position': '2', |
| + 'review_url': 'url_2' |
| + }, |
| + 'd_test':{ |
| + 'step': 'd_test', |
| + 'test': 'N/A', |
| + 'try_job_key': 'm/b/122', |
| + 'try_job_build_number': 122, |
| + 'status': 'Completed', |
| + 'try_job_url': ( |
| + 'http://build.chromium.org/p/tryserver.chromium.linux/' |
| + 'builders/linux_chromium_variable/builds/122'), |
| + 'revision': 'rev3', |
| + 'commit_position': '3', |
| + 'review_url': 'url_3' |
| + } |
| + } |
| + self.assertEqual(expected_result, result) |