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

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

Issue 2597373002: [Findit] Flake checker: Get full build info for each flake build analyzed (Closed)
Patch Set: Removing incorrect line Created 3 years, 11 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 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 build_util
12 from waterfall import swarming_util 13 from waterfall import swarming_util
13 from waterfall import process_flake_swarming_task_result_pipeline 14 from waterfall.build_info import BuildInfo
14 from waterfall.process_base_swarming_task_result_pipeline import ( 15 from waterfall.process_base_swarming_task_result_pipeline import (
15 ProcessBaseSwarmingTaskResultPipeline) 16 ProcessBaseSwarmingTaskResultPipeline)
16 from waterfall.process_flake_swarming_task_result_pipeline import ( 17 from waterfall.process_flake_swarming_task_result_pipeline import (
17 ProcessFlakeSwarmingTaskResultPipeline) 18 ProcessFlakeSwarmingTaskResultPipeline)
18 from waterfall.process_swarming_task_result_pipeline import ( 19 from waterfall.process_swarming_task_result_pipeline import (
19 ProcessSwarmingTaskResultPipeline) 20 ProcessSwarmingTaskResultPipeline)
20 from waterfall.test import wf_testcase 21 from waterfall.test import wf_testcase
21 22
22 23
23 _ISOLATED_SERVER = 'https://isolateserver.appspot.com' 24 _ISOLATED_SERVER = 'https://isolateserver.appspot.com'
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 {}, 185 {},
185 ProcessBaseSwarmingTaskResultPipeline._CheckTestsRunStatuses( 186 ProcessBaseSwarmingTaskResultPipeline._CheckTestsRunStatuses(
186 self.pipeline, None, ())) 187 self.pipeline, None, ()))
187 188
188 def testCheckTestsRunStatuses(self): 189 def testCheckTestsRunStatuses(self):
189 tests_statuses = ( 190 tests_statuses = (
190 ProcessSwarmingTaskResultPipeline()._CheckTestsRunStatuses( 191 ProcessSwarmingTaskResultPipeline()._CheckTestsRunStatuses(
191 _SAMPLE_FAILURE_LOG)) 192 _SAMPLE_FAILURE_LOG))
192 self.assertEqual(_EXPECTED_TESTS_STATUS, tests_statuses) 193 self.assertEqual(_EXPECTED_TESTS_STATUS, tests_statuses)
193 194
194 @mock.patch.object(process_flake_swarming_task_result_pipeline, 195 @mock.patch.object(build_util, 'GetBuildInfo')
195 '_GetCommitPositionAndGitHash', 196 def testMonitorSwarmingTaskTimeOut(self, mocked_fn):
196 return_value=(12345, 'git_hash')) 197 build_info = BuildInfo(
197 def testMonitorSwarmingTaskTimeOut(self, _): 198 self.master_name, self.builder_name, self.build_number)
199 build_info.commit_position = 12345
200 build_info.chromium_revision = 'a1b2c3d4'
201 mocked_fn.return_value = build_info
202
198 # Override swarming config settings to force a timeout. 203 # Override swarming config settings to force a timeout.
199 override_swarming_settings = { 204 override_swarming_settings = {
200 'task_timeout_hours': -1 205 'task_timeout_hours': -1
201 } 206 }
202 self.UpdateUnitTestConfigSettings( 207 self.UpdateUnitTestConfigSettings(
203 'swarming_settings', override_swarming_settings) 208 'swarming_settings', override_swarming_settings)
204 209
205 task = FlakeSwarmingTask.Create( 210 task = FlakeSwarmingTask.Create(
206 self.master_name, self.builder_name, self.build_number, self.step_name, 211 self.master_name, self.builder_name, self.build_number, self.step_name,
207 self.test_name) 212 self.test_name)
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 self.assertEqual(analysis_status.COMPLETED, task.status) 387 self.assertEqual(analysis_status.COMPLETED, task.status)
383 self.assertEqual(_EXPECTED_TESTS_STATUS, task.tests_statuses) 388 self.assertEqual(_EXPECTED_TESTS_STATUS, task.tests_statuses)
384 self.assertEqual( 389 self.assertEqual(
385 _EXPECTED_CLASSIFIED_TESTS, task.classified_tests) 390 _EXPECTED_CLASSIFIED_TESTS, task.classified_tests)
386 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), 391 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
387 task.created_time) 392 task.created_time)
388 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), 393 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
389 task.started_time) 394 task.started_time)
390 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), 395 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
391 task.completed_time) 396 task.completed_time)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698