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

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

Issue 1866883002: [Findit] A huge refactoring and some bug fixing. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Fix nit. Created 4 years, 8 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 wf_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
11 from waterfall.process_swarming_task_result_pipeline import ( 11 from waterfall.process_swarming_task_result_pipeline import (
12 ProcessSwarmingTaskResultPipeline) 12 ProcessSwarmingTaskResultPipeline)
13 from waterfall.test import wf_testcase 13 from waterfall.test import wf_testcase
14 14
15 15
16 _ISOLATED_SERVER = 'https://isolateserver.appspot.com' 16 _ISOLATED_SERVER = 'https://isolateserver.appspot.com'
17 _ISOLATED_STORAGE_URL = 'isolateserver.storage.googleapis.com' 17 _ISOLATED_STORAGE_URL = 'isolateserver.storage.googleapis.com'
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 self.master_name, self.builder_name, 170 self.master_name, self.builder_name,
171 self.build_number, self.step_name, task_id) 171 self.build_number, self.step_name, task_id)
172 172
173 self.assertEqual(self.step_name, step_name) 173 self.assertEqual(self.step_name, step_name)
174 self.assertEqual('abc_tests', task_info[0]) 174 self.assertEqual('abc_tests', task_info[0])
175 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task_info[1]) 175 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task_info[1])
176 176
177 task = WfSwarmingTask.Get( 177 task = WfSwarmingTask.Get(
178 self.master_name, self.builder_name, self.build_number, self.step_name) 178 self.master_name, self.builder_name, self.build_number, self.step_name)
179 179
180 self.assertEqual(wf_analysis_status.ANALYZED, task.status) 180 self.assertEqual(analysis_status.COMPLETED, task.status)
181 self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses) 181 self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses)
182 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task.classified_tests) 182 self.assertEqual(_EXPECTED_CLASSIFIED_TESTS, task.classified_tests)
183 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), 183 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
184 task.created_time) 184 task.created_time)
185 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), 185 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
186 task.started_time) 186 task.started_time)
187 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), 187 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
188 task.completed_time) 188 task.completed_time)
189 189
190 def testProcessSwarmingTaskResultPipelineTaskNotRunning(self): 190 def testProcessSwarmingTaskResultPipelineTaskNotRunning(self):
191 task_id = 'task_id2' 191 task_id = 'task_id2'
192 192
193 WfSwarmingTask.Create( 193 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).put()
196 196
197 pipeline = ProcessSwarmingTaskResultPipeline() 197 pipeline = ProcessSwarmingTaskResultPipeline()
198 step_name, task_info = pipeline.run( 198 step_name, task_info = pipeline.run(
199 self.master_name, self.builder_name, 199 self.master_name, self.builder_name,
200 self.build_number, self.step_name, task_id) 200 self.build_number, self.step_name, task_id)
201 201
202 self.assertEqual(self.step_name, step_name) 202 self.assertEqual(self.step_name, step_name)
203 self.assertIsNone(task_info[0]) 203 self.assertIsNone(task_info[0])
204 self.assertEqual({}, task_info[1]) 204 self.assertEqual({}, task_info[1])
205 205
206 task = WfSwarmingTask.Get( 206 task = WfSwarmingTask.Get(
207 self.master_name, self.builder_name, self.build_number, self.step_name) 207 self.master_name, self.builder_name, self.build_number, self.step_name)
208 208
209 self.assertEqual(wf_analysis_status.ERROR, task.status) 209 self.assertEqual(analysis_status.ERROR, task.status)
210 self.assertEqual({}, task.tests_statuses) 210 self.assertEqual({}, task.tests_statuses)
211 self.assertEqual({}, task.classified_tests) 211 self.assertEqual({}, task.classified_tests)
212 212
213 def testProcessSwarmingTaskResultPipelineTaskTimeOut(self): 213 def testProcessSwarmingTaskResultPipelineTaskTimeOut(self):
214 task_id = 'task_id1' 214 task_id = 'task_id1'
215 215
216 # Override swarming config settings to force a timeout. 216 # Override swarming config settings to force a timeout.
217 override_swarming_settings = { 217 override_swarming_settings = {
218 'task_timeout_hours': -1 218 'task_timeout_hours': -1
219 } 219 }
220 self.UpdateUnitTestConfigSettings( 220 self.UpdateUnitTestConfigSettings(
221 'swarming_settings', override_swarming_settings) 221 'swarming_settings', override_swarming_settings)
222 222
223 WfSwarmingTask.Create( 223 WfSwarmingTask.Create(
224 self.master_name, self.builder_name, 224 self.master_name, self.builder_name,
225 self.build_number, self.step_name).put() 225 self.build_number, self.step_name).put()
226 226
227 pipeline = ProcessSwarmingTaskResultPipeline() 227 pipeline = ProcessSwarmingTaskResultPipeline()
228 step_name, task_info = pipeline.run( 228 step_name, task_info = pipeline.run(
229 self.master_name, self.builder_name, 229 self.master_name, self.builder_name,
230 self.build_number, self.step_name, task_id) 230 self.build_number, self.step_name, task_id)
231 231
232 self.assertEqual(self.step_name, step_name) 232 self.assertEqual(self.step_name, step_name)
233 self.assertEqual('abc_tests', task_info[0]) 233 self.assertEqual('abc_tests', task_info[0])
234 self.assertEqual({}, task_info[1]) 234 self.assertEqual({}, task_info[1])
235 235
236 task = WfSwarmingTask.Get( 236 task = WfSwarmingTask.Get(
237 self.master_name, self.builder_name, self.build_number, self.step_name) 237 self.master_name, self.builder_name, self.build_number, self.step_name)
238 238
239 self.assertEqual(wf_analysis_status.ERROR, task.status) 239 self.assertEqual(analysis_status.ERROR, task.status)
240 self.assertEqual({}, task.tests_statuses) 240 self.assertEqual({}, task.tests_statuses)
241 self.assertEqual({}, task.classified_tests) 241 self.assertEqual({}, task.classified_tests)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698