| OLD | NEW |
| 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 |
| 11 from model.wf_swarming_task import WfSwarmingTask | 11 from model.wf_swarming_task import WfSwarmingTask |
| 12 from waterfall import swarming_util | 12 from waterfall import swarming_util |
| 13 from waterfall import process_flake_swarming_task_result_pipeline |
| 13 from waterfall.process_base_swarming_task_result_pipeline import ( | 14 from waterfall.process_base_swarming_task_result_pipeline import ( |
| 14 ProcessBaseSwarmingTaskResultPipeline) | 15 ProcessBaseSwarmingTaskResultPipeline) |
| 15 from waterfall.process_flake_swarming_task_result_pipeline import ( | 16 from waterfall.process_flake_swarming_task_result_pipeline import ( |
| 16 ProcessFlakeSwarmingTaskResultPipeline) | 17 ProcessFlakeSwarmingTaskResultPipeline) |
| 17 from waterfall.process_swarming_task_result_pipeline import ( | 18 from waterfall.process_swarming_task_result_pipeline import ( |
| 18 ProcessSwarmingTaskResultPipeline) | 19 ProcessSwarmingTaskResultPipeline) |
| 19 from waterfall.test import wf_testcase | 20 from waterfall.test import wf_testcase |
| 20 | 21 |
| 21 | 22 |
| 22 _ISOLATED_SERVER = 'https://isolateserver.appspot.com' | 23 _ISOLATED_SERVER = 'https://isolateserver.appspot.com' |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 {}, | 184 {}, |
| 184 ProcessBaseSwarmingTaskResultPipeline._CheckTestsRunStatuses( | 185 ProcessBaseSwarmingTaskResultPipeline._CheckTestsRunStatuses( |
| 185 self.pipeline, None, ())) | 186 self.pipeline, None, ())) |
| 186 | 187 |
| 187 def testCheckTestsRunStatuses(self): | 188 def testCheckTestsRunStatuses(self): |
| 188 tests_statuses = ( | 189 tests_statuses = ( |
| 189 ProcessSwarmingTaskResultPipeline()._CheckTestsRunStatuses( | 190 ProcessSwarmingTaskResultPipeline()._CheckTestsRunStatuses( |
| 190 _SAMPLE_FAILURE_LOG)) | 191 _SAMPLE_FAILURE_LOG)) |
| 191 self.assertEqual(_EXPECTED_TESTS_STATUS, tests_statuses) | 192 self.assertEqual(_EXPECTED_TESTS_STATUS, tests_statuses) |
| 192 | 193 |
| 193 def testMonitorSwarmingTaskTimeOut(self): | 194 @mock.patch.object(process_flake_swarming_task_result_pipeline, |
| 195 '_GetCommitPositionAndGitHash', |
| 196 return_value=(12345, 'git_hash')) |
| 197 def testMonitorSwarmingTaskTimeOut(self, _): |
| 194 # Override swarming config settings to force a timeout. | 198 # Override swarming config settings to force a timeout. |
| 195 override_swarming_settings = { | 199 override_swarming_settings = { |
| 196 'task_timeout_hours': -1 | 200 'task_timeout_hours': -1 |
| 197 } | 201 } |
| 198 self.UpdateUnitTestConfigSettings( | 202 self.UpdateUnitTestConfigSettings( |
| 199 'swarming_settings', override_swarming_settings) | 203 'swarming_settings', override_swarming_settings) |
| 200 | 204 |
| 201 task = FlakeSwarmingTask.Create( | 205 task = FlakeSwarmingTask.Create( |
| 202 self.master_name, self.builder_name, self.build_number, self.step_name, | 206 self.master_name, self.builder_name, self.build_number, self.step_name, |
| 203 self.test_name) | 207 self.test_name) |
| (...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 self.assertEqual(analysis_status.COMPLETED, task.status) | 382 self.assertEqual(analysis_status.COMPLETED, task.status) |
| 379 self.assertEqual(_EXPECTED_TESTS_STATUS, task.tests_statuses) | 383 self.assertEqual(_EXPECTED_TESTS_STATUS, task.tests_statuses) |
| 380 self.assertEqual( | 384 self.assertEqual( |
| 381 _EXPECTED_CLASSIFIED_TESTS, task.classified_tests) | 385 _EXPECTED_CLASSIFIED_TESTS, task.classified_tests) |
| 382 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), | 386 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), |
| 383 task.created_time) | 387 task.created_time) |
| 384 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), | 388 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), |
| 385 task.started_time) | 389 task.started_time) |
| 386 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), | 390 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), |
| 387 task.completed_time) | 391 task.completed_time) |
| OLD | NEW |