OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 from testing_utils import testing | 5 from testing_utils import testing |
6 | 6 |
7 from common.git_repository import GitRepository | |
8 from common.waterfall import failure_type | 7 from common.waterfall import failure_type |
| 8 from lib.gitiles.gitiles_repository import GitilesRepository |
9 from model import analysis_approach_type | 9 from model import analysis_approach_type |
10 from model import analysis_status | 10 from model import analysis_status |
11 from model import result_status | 11 from model import result_status |
12 from model.wf_analysis import WfAnalysis | 12 from model.wf_analysis import WfAnalysis |
13 from model.wf_suspected_cl import WfSuspectedCL | 13 from model.wf_suspected_cl import WfSuspectedCL |
| 14 from model.wf_try_job_data import WfTryJobData |
14 from model.wf_try_job import WfTryJob | 15 from model.wf_try_job import WfTryJob |
15 from model.wf_try_job_data import WfTryJobData | |
16 from waterfall import build_util | 16 from waterfall import build_util |
17 from waterfall import identify_try_job_culprit_pipeline | 17 from waterfall import identify_try_job_culprit_pipeline |
18 from waterfall.identify_try_job_culprit_pipeline import( | 18 from waterfall.identify_try_job_culprit_pipeline import( |
19 IdentifyTryJobCulpritPipeline) | 19 IdentifyTryJobCulpritPipeline) |
20 | 20 |
21 | 21 |
22 class IdentifyTryJobCulpritPipelineTest(testing.AppengineTestCase): | 22 class IdentifyTryJobCulpritPipelineTest(testing.AppengineTestCase): |
23 | 23 |
24 def _MockGetChangeLog(self, revision): | 24 def _MockGetChangeLog(self, revision): |
25 class MockedChangeLog(object): | 25 class MockedChangeLog(object): |
26 | 26 |
27 def __init__(self, commit_position, code_review_url): | 27 def __init__(self, commit_position, code_review_url): |
28 self.commit_position = commit_position | 28 self.commit_position = commit_position |
29 self.code_review_url = code_review_url | 29 self.code_review_url = code_review_url |
30 | 30 |
31 mock_change_logs = {} | 31 mock_change_logs = {} |
32 mock_change_logs['rev1'] = MockedChangeLog(1, 'url_1') | 32 mock_change_logs['rev1'] = MockedChangeLog(1, 'url_1') |
33 mock_change_logs['rev2'] = MockedChangeLog(2, 'url_2') | 33 mock_change_logs['rev2'] = MockedChangeLog(2, 'url_2') |
34 return mock_change_logs.get(revision) | 34 return mock_change_logs.get(revision) |
35 | 35 |
36 def setUp(self): | 36 def setUp(self): |
37 super(IdentifyTryJobCulpritPipelineTest, self).setUp() | 37 super(IdentifyTryJobCulpritPipelineTest, self).setUp() |
38 | 38 |
39 self.mock(GitRepository, 'GetChangeLog', self._MockGetChangeLog) | 39 self.mock(GitilesRepository, 'GetChangeLog', self._MockGetChangeLog) |
40 | 40 |
41 def testGetFailedRevisionFromResultsDict(self): | 41 def testGetFailedRevisionFromResultsDict(self): |
42 self.assertIsNone( | 42 self.assertIsNone( |
43 identify_try_job_culprit_pipeline._GetFailedRevisionFromResultsDict({})) | 43 identify_try_job_culprit_pipeline._GetFailedRevisionFromResultsDict({})) |
44 self.assertEqual( | 44 self.assertEqual( |
45 None, | 45 None, |
46 identify_try_job_culprit_pipeline._GetFailedRevisionFromResultsDict( | 46 identify_try_job_culprit_pipeline._GetFailedRevisionFromResultsDict( |
47 {'rev1': 'passed'})) | 47 {'rev1': 'passed'})) |
48 self.assertEqual( | 48 self.assertEqual( |
49 'rev1', | 49 'rev1', |
(...skipping 1117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1167 | 1167 |
1168 identify_try_job_culprit_pipeline._NotifyCulprits( | 1168 identify_try_job_culprit_pipeline._NotifyCulprits( |
1169 master_name, builder_name, build_number, None, | 1169 master_name, builder_name, build_number, None, |
1170 heuristic_cls, compile_suspected_cl) | 1170 heuristic_cls, compile_suspected_cl) |
1171 self.assertEqual(1, len(instances)) | 1171 self.assertEqual(1, len(instances)) |
1172 self.assertTrue(instances[0].started) | 1172 self.assertTrue(instances[0].started) |
1173 | 1173 |
1174 def testGetTestFailureCausedByCLResultNone(self): | 1174 def testGetTestFailureCausedByCLResultNone(self): |
1175 self.assertIsNone( | 1175 self.assertIsNone( |
1176 identify_try_job_culprit_pipeline._GetTestFailureCausedByCL(None)) | 1176 identify_try_job_culprit_pipeline._GetTestFailureCausedByCL(None)) |
OLD | NEW |