Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Side by Side Diff: appengine/findit/waterfall/test/process_swarming_task_result_pipeline_test.py

Issue 2139093002: [Findit] Trigger swarming tasks after detech_first_faliure_pipeline (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Address comments Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 import datetime 5 import datetime
6 6
7 from model import analysis_status 7 from model import analysis_status
8 from model.wf_swarming_task import WfSwarmingTask 8 from model.wf_swarming_task import WfSwarmingTask
9 from waterfall import process_swarming_task_result_pipeline 9 from waterfall import process_swarming_task_result_pipeline
10 from waterfall import swarming_util 10 from waterfall import swarming_util
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 def testCheckTestsRunStatuses(self): 149 def testCheckTestsRunStatuses(self):
150 tests_statuses = ( 150 tests_statuses = (
151 process_swarming_task_result_pipeline._CheckTestsRunStatuses( 151 process_swarming_task_result_pipeline._CheckTestsRunStatuses(
152 _SAMPLE_FAILURE_LOG)) 152 _SAMPLE_FAILURE_LOG))
153 self.assertEqual(_EXPECTED_TESTS_STATUESE, tests_statuses) 153 self.assertEqual(_EXPECTED_TESTS_STATUESE, tests_statuses)
154 154
155 def _MockedGetSwarmingTaskFailureLog(self, *_): 155 def _MockedGetSwarmingTaskFailureLog(self, *_):
156 return _SAMPLE_FAILURE_LOG 156 return _SAMPLE_FAILURE_LOG
157 157
158 def testProcessSwarmingTaskResultPipeline(self): 158 def testProcessSwarmingTaskResultPipeline(self):
159 task_id = 'task_id1'
160 159
161 self.mock(swarming_util, 'GetSwarmingTaskFailureLog', 160 self.mock(swarming_util, 'GetSwarmingTaskFailureLog',
162 self._MockedGetSwarmingTaskFailureLog) 161 self._MockedGetSwarmingTaskFailureLog)
163 162
164 WfSwarmingTask.Create( 163 task = WfSwarmingTask.Create(
165 self.master_name, self.builder_name, 164 self.master_name, self.builder_name,
166 self.build_number, self.step_name).put() 165 self.build_number, self.step_name)
166 task.task_id = 'task_id1'
167 task.put()
167 168
168 pipeline = ProcessSwarmingTaskResultPipeline() 169 pipeline = ProcessSwarmingTaskResultPipeline()
169 step_name, task_info = pipeline.run( 170 step_name, task_info = pipeline.run(
170 self.master_name, self.builder_name, 171 self.master_name, self.builder_name,
171 self.build_number, self.step_name, task_id) 172 self.build_number, self.step_name)
172 173
173 self.assertEqual(self.step_name, step_name) 174 self.assertEqual(self.step_name, step_name)
174 self.assertEqual('abc_tests', task_info[0]) 175 self.assertEqual('abc_tests', task_info[0])
175 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task_info[1]) 176 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task_info[1])
176 177
177 task = WfSwarmingTask.Get( 178 task = WfSwarmingTask.Get(
178 self.master_name, self.builder_name, self.build_number, self.step_name) 179 self.master_name, self.builder_name, self.build_number, self.step_name)
179 180
180 self.assertEqual(analysis_status.COMPLETED, task.status) 181 self.assertEqual(analysis_status.COMPLETED, task.status)
181 self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses) 182 self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses)
182 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task.classified_tests) 183 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task.classified_tests)
183 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), 184 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
184 task.created_time) 185 task.created_time)
185 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), 186 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
186 task.started_time) 187 task.started_time)
187 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), 188 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
188 task.completed_time) 189 task.completed_time)
189 190
190 def testProcessSwarmingTaskResultPipelineTaskNotRunning(self): 191 def testProcessSwarmingTaskResultPipelineTaskNotRunning(self):
191 task_id = 'task_id2'
192 192
193 WfSwarmingTask.Create( 193 task = WfSwarmingTask.Create(
194 self.master_name, self.builder_name, 194 self.master_name, self.builder_name,
195 self.build_number, self.step_name).put() 195 self.build_number, self.step_name)
196 task.task_id = 'task_id2'
197 task.put()
196 198
197 pipeline = ProcessSwarmingTaskResultPipeline() 199 pipeline = ProcessSwarmingTaskResultPipeline()
198 step_name, task_info = pipeline.run( 200 step_name, task_info = pipeline.run(
199 self.master_name, self.builder_name, 201 self.master_name, self.builder_name,
200 self.build_number, self.step_name, task_id) 202 self.build_number, self.step_name)
201 203
202 self.assertEqual(self.step_name, step_name) 204 self.assertEqual(self.step_name, step_name)
203 self.assertIsNone(task_info[0]) 205 self.assertIsNone(task_info[0])
204 self.assertEqual({}, task_info[1]) 206 self.assertEqual({}, task_info[1])
205 207
206 task = WfSwarmingTask.Get( 208 task = WfSwarmingTask.Get(
207 self.master_name, self.builder_name, self.build_number, self.step_name) 209 self.master_name, self.builder_name, self.build_number, self.step_name)
208 210
209 self.assertEqual(analysis_status.ERROR, task.status) 211 self.assertEqual(analysis_status.ERROR, task.status)
210 self.assertEqual({}, task.tests_statuses) 212 self.assertEqual({}, task.tests_statuses)
211 self.assertEqual({}, task.classified_tests) 213 self.assertEqual({}, task.classified_tests)
212 214
213 def testProcessSwarmingTaskResultPipelineTaskTimeOut(self): 215 def testProcessSwarmingTaskResultPipelineTaskTimeOut(self):
214 task_id = 'task_id1'
215 216
216 # Override swarming config settings to force a timeout. 217 # Override swarming config settings to force a timeout.
217 override_swarming_settings = { 218 override_swarming_settings = {
218 'task_timeout_hours': -1 219 'task_timeout_hours': -1
219 } 220 }
220 self.UpdateUnitTestConfigSettings( 221 self.UpdateUnitTestConfigSettings(
221 'swarming_settings', override_swarming_settings) 222 'swarming_settings', override_swarming_settings)
222 223
223 WfSwarmingTask.Create( 224 task = WfSwarmingTask.Create(
224 self.master_name, self.builder_name, 225 self.master_name, self.builder_name,
225 self.build_number, self.step_name).put() 226 self.build_number, self.step_name)
227 task.task_id = 'task_id1'
228 task.put()
226 229
227 pipeline = ProcessSwarmingTaskResultPipeline() 230 pipeline = ProcessSwarmingTaskResultPipeline()
228 step_name, task_info = pipeline.run( 231 step_name, task_info = pipeline.run(
229 self.master_name, self.builder_name, 232 self.master_name, self.builder_name,
230 self.build_number, self.step_name, task_id) 233 self.build_number, self.step_name)
231 234
232 self.assertEqual(self.step_name, step_name) 235 self.assertEqual(self.step_name, step_name)
233 self.assertEqual('abc_tests', task_info[0]) 236 self.assertEqual('abc_tests', task_info[0])
234 self.assertEqual({}, task_info[1]) 237 self.assertEqual({}, task_info[1])
235 238
236 task = WfSwarmingTask.Get( 239 task = WfSwarmingTask.Get(
237 self.master_name, self.builder_name, self.build_number, self.step_name) 240 self.master_name, self.builder_name, self.build_number, self.step_name)
238 241
239 self.assertEqual(analysis_status.ERROR, task.status) 242 self.assertEqual(analysis_status.ERROR, task.status)
240 self.assertEqual({}, task.tests_statuses) 243 self.assertEqual({}, task.tests_statuses)
241 self.assertEqual({}, task.classified_tests) 244 self.assertEqual({}, task.classified_tests)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698