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

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

Issue 2536723005: [Findit] Fix bugs when pulling gtest result. (Closed)
Patch Set: . Created 4 years 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 import mock 6 import mock
7 7
8 from model import analysis_status 8 from model import analysis_status
9 from model.flake.flake_swarming_task import FlakeSwarmingTask 9 from model.flake.flake_swarming_task import FlakeSwarmingTask
10 from model.flake.master_flake_analysis import MasterFlakeAnalysis 10 from model.flake.master_flake_analysis import MasterFlakeAnalysis
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 'completed_ts': '2016-02-10T18:33:09' 109 'completed_ts': '2016-02-10T18:33:09'
110 }, 110 },
111 'task_id2': { 111 'task_id2': {
112 'state': 'TIMED_OUT', 112 'state': 'TIMED_OUT',
113 'outputs_ref': None 113 'outputs_ref': None
114 }, 114 },
115 'task_id3': { 115 'task_id3': {
116 'state': 'COMPLETED', 116 'state': 'COMPLETED',
117 'exit_code': '2', # Swarming task failed. 117 'exit_code': '2', # Swarming task failed.
118 }, 118 },
119 'task_id4': {
120 'state': 'COMPLETED',
121 'exit_code': '1',
122 },
119 } 123 }
120 124
121 125
122 _EXPECTED_TESTS_STATUS = { 126 _EXPECTED_TESTS_STATUS = {
123 'TestSuite1.test1': { 127 'TestSuite1.test1': {
124 'total_run': 2, 128 'total_run': 2,
125 'SUCCESS': 2 129 'SUCCESS': 2
126 }, 130 },
127 'TestSuite1.test2': { 131 'TestSuite1.test2': {
128 'total_run': 4, 132 'total_run': 4,
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 293
290 self.assertEqual(analysis_status.ERROR, task.status) 294 self.assertEqual(analysis_status.ERROR, task.status)
291 self.assertEqual( 295 self.assertEqual(
292 task.error, 296 task.error,
293 { 297 {
294 'code': swarming_util.TASK_FAILED, 298 'code': swarming_util.TASK_FAILED,
295 'message': swarming_util.EXIT_CODE_DESCRIPTIONS[ 299 'message': swarming_util.EXIT_CODE_DESCRIPTIONS[
296 swarming_util.TASK_FAILED] 300 swarming_util.TASK_FAILED]
297 }) 301 })
298 302
303 def testMonitorSwarmingTaskWhereNoTaskOutputs(self):
304 task = WfSwarmingTask.Create(
305 self.master_name, self.builder_name,
306 self.build_number, self.step_name)
307 task.task_id = 'task_id4'
308 task.put()
309
310 pipeline = ProcessSwarmingTaskResultPipeline()
311 pipeline.run(
312 self.master_name, self.builder_name, self.build_number, self.step_name)
313
314 self.assertEqual(analysis_status.ERROR, task.status)
315 self.assertEqual(
316 task.error,
317 {
318 'code': swarming_util.NO_TASK_OUTPUTS,
319 'message': 'outputs_ref is None'
320 })
321
299 def testProcessSwarmingTaskResultPipeline(self): 322 def testProcessSwarmingTaskResultPipeline(self):
300 # End to end test. 323 # End to end test.
301 self.mock(swarming_util, 'GetSwarmingTaskFailureLog', 324 self.mock(swarming_util, 'GetSwarmingTaskFailureLog',
302 self._MockedGetSwarmingTaskFailureLog) 325 self._MockedGetSwarmingTaskFailureLog)
303 326
304 task = WfSwarmingTask.Create( 327 task = WfSwarmingTask.Create(
305 self.master_name, self.builder_name, 328 self.master_name, self.builder_name,
306 self.build_number, self.step_name) 329 self.build_number, self.step_name)
307 task.task_id = 'task_id1' 330 task.task_id = 'task_id1'
308 task.put() 331 task.put()
(...skipping 14 matching lines...) Expand all
323 self.assertEqual(analysis_status.COMPLETED, task.status) 346 self.assertEqual(analysis_status.COMPLETED, task.status)
324 self.assertEqual(_EXPECTED_TESTS_STATUS, task.tests_statuses) 347 self.assertEqual(_EXPECTED_TESTS_STATUS, task.tests_statuses)
325 self.assertEqual( 348 self.assertEqual(
326 _EXPECTED_CLASSIFIED_TESTS, task.classified_tests) 349 _EXPECTED_CLASSIFIED_TESTS, task.classified_tests)
327 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), 350 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
328 task.created_time) 351 task.created_time)
329 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), 352 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
330 task.started_time) 353 task.started_time)
331 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), 354 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
332 task.completed_time) 355 task.completed_time)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698