| 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 model import wf_analysis_status | 5 from model import analysis_status |
| 6 from model.wf_try_job import WfTryJob | 6 from model.wf_try_job import WfTryJob |
| 7 from waterfall import try_job_util | 7 from waterfall import try_job_util |
| 8 from waterfall.test import wf_testcase | 8 from waterfall.test import wf_testcase |
| 9 from waterfall.try_job_type import TryJobType | 9 from waterfall.try_job_type import TryJobType |
| 10 | 10 |
| 11 | 11 |
| 12 class _MockRootPipeline(object): | 12 class _MockRootPipeline(object): |
| 13 STARTED = False | 13 STARTED = False |
| 14 | 14 |
| 15 def __init__(self, *_): | 15 def __init__(self, *_): |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 137 failed_steps = { | 137 failed_steps = { |
| 138 'compile': { | 138 'compile': { |
| 139 'current_failure': 223, | 139 'current_failure': 223, |
| 140 'first_failure': 223, | 140 'first_failure': 223, |
| 141 'last_pass': 220 | 141 'last_pass': 220 |
| 142 } | 142 } |
| 143 } | 143 } |
| 144 | 144 |
| 145 try_job = WfTryJob.Create(master_name, builder_name, build_number) | 145 try_job = WfTryJob.Create(master_name, builder_name, build_number) |
| 146 try_job.compile_results = [['rev', 'failed']] | 146 try_job.compile_results = [['rev', 'failed']] |
| 147 try_job.status = wf_analysis_status.ANALYZED | 147 try_job.status = analysis_status.COMPLETED |
| 148 try_job.put() | 148 try_job.put() |
| 149 | 149 |
| 150 failure_result_map = {} | 150 failure_result_map = {} |
| 151 need_try_job, last_pass, try_job_type, targeted_tests = ( | 151 need_try_job, last_pass, try_job_type, targeted_tests = ( |
| 152 try_job_util._NeedANewTryJob(master_name, builder_name, build_number, | 152 try_job_util._NeedANewTryJob(master_name, builder_name, build_number, |
| 153 failed_steps, failure_result_map)) | 153 failed_steps, failure_result_map)) |
| 154 | 154 |
| 155 expected_failure_result_map = { | 155 expected_failure_result_map = { |
| 156 'compile': 'm/b/223' | 156 'compile': 'm/b/223' |
| 157 } | 157 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 168 build_number = 223 | 168 build_number = 223 |
| 169 failed_steps = { | 169 failed_steps = { |
| 170 'compile': { | 170 'compile': { |
| 171 'current_failure': 223, | 171 'current_failure': 223, |
| 172 'first_failure': 223, | 172 'first_failure': 223, |
| 173 'last_pass': 220 | 173 'last_pass': 220 |
| 174 } | 174 } |
| 175 } | 175 } |
| 176 | 176 |
| 177 try_job = WfTryJob.Create(master_name, builder_name, build_number) | 177 try_job = WfTryJob.Create(master_name, builder_name, build_number) |
| 178 try_job.status = wf_analysis_status.ERROR | 178 try_job.status = analysis_status.ERROR |
| 179 try_job.put() | 179 try_job.put() |
| 180 | 180 |
| 181 failure_result_map = {} | 181 failure_result_map = {} |
| 182 need_try_job, last_pass, try_job_type, targeted_tests = ( | 182 need_try_job, last_pass, try_job_type, targeted_tests = ( |
| 183 try_job_util._NeedANewTryJob(master_name, builder_name, build_number, | 183 try_job_util._NeedANewTryJob(master_name, builder_name, build_number, |
| 184 failed_steps, failure_result_map)) | 184 failed_steps, failure_result_map)) |
| 185 | 185 |
| 186 expected_failure_result_map = { | 186 expected_failure_result_map = { |
| 187 'compile': 'm/b/223' | 187 'compile': 'm/b/223' |
| 188 } | 188 } |
| 189 self.assertTrue(need_try_job) | 189 self.assertTrue(need_try_job) |
| 190 self.assertEqual(expected_failure_result_map, failure_result_map) | 190 self.assertEqual(expected_failure_result_map, failure_result_map) |
| 191 self.assertEqual(220, last_pass) | 191 self.assertEqual(220, last_pass) |
| 192 self.assertEqual(TryJobType.COMPILE, try_job_type) | 192 self.assertEqual(TryJobType.COMPILE, try_job_type) |
| 193 self.assertIsNone(targeted_tests) | 193 self.assertIsNone(targeted_tests) |
| 194 | 194 |
| 195 def testNotNeedANewTryJobIfLastPassCannotDetermine(self): | 195 def testNotNeedANewTryJobIfLastPassCannotDetermine(self): |
| 196 master_name = 'm' | 196 master_name = 'm' |
| 197 builder_name = 'b' | 197 builder_name = 'b' |
| 198 build_number = 223 | 198 build_number = 223 |
| 199 failed_steps = { | 199 failed_steps = { |
| 200 'compile': { | 200 'compile': { |
| 201 'current_failure': 223, | 201 'current_failure': 223, |
| 202 'first_failure': 223 | 202 'first_failure': 223 |
| 203 } | 203 } |
| 204 } | 204 } |
| 205 | 205 |
| 206 try_job = WfTryJob.Create(master_name, builder_name, build_number) | 206 try_job = WfTryJob.Create(master_name, builder_name, build_number) |
| 207 try_job.status = wf_analysis_status.ERROR | 207 try_job.status = analysis_status.ERROR |
| 208 try_job.put() | 208 try_job.put() |
| 209 | 209 |
| 210 failure_result_map = {} | 210 failure_result_map = {} |
| 211 need_try_job, last_pass, try_job_type, targeted_tests = ( | 211 need_try_job, last_pass, try_job_type, targeted_tests = ( |
| 212 try_job_util._NeedANewTryJob(master_name, builder_name, build_number, | 212 try_job_util._NeedANewTryJob(master_name, builder_name, build_number, |
| 213 failed_steps, failure_result_map)) | 213 failed_steps, failure_result_map)) |
| 214 | 214 |
| 215 self.assertFalse(need_try_job) | 215 self.assertFalse(need_try_job) |
| 216 self.assertEqual({}, failure_result_map) | 216 self.assertEqual({}, failure_result_map) |
| 217 self.assertIsNone(last_pass) | 217 self.assertIsNone(last_pass) |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 393 'failed_targets': [ | 393 'failed_targets': [ |
| 394 {'source': 'b.cc', 'target': 'b.o'}, | 394 {'source': 'b.cc', 'target': 'b.o'}, |
| 395 ] | 395 ] |
| 396 } | 396 } |
| 397 } | 397 } |
| 398 | 398 |
| 399 self.assertEqual( | 399 self.assertEqual( |
| 400 try_job_util._GetFailedTargetsFromSignals( | 400 try_job_util._GetFailedTargetsFromSignals( |
| 401 signals, 'master1', 'builder1'), | 401 signals, 'master1', 'builder1'), |
| 402 ['b.o']) | 402 ['b.o']) |
| OLD | NEW |