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

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

Issue 2491473002: [Findit] Implementing swarming task error detection (Closed)
Patch Set: Rebase Created 4 years, 1 month 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.flake.flake_swarming_task import FlakeSwarmingTask 8 from model.flake.flake_swarming_task import FlakeSwarmingTask
9 from model.flake.master_flake_analysis import MasterFlakeAnalysis 9 from model.flake.master_flake_analysis import MasterFlakeAnalysis
10 from waterfall import swarming_util 10 from waterfall import swarming_util
11 from waterfall.process_flake_swarming_task_result_pipeline import ( 11 from waterfall.process_flake_swarming_task_result_pipeline import (
12 ProcessFlakeSwarmingTaskResultPipeline) 12 ProcessFlakeSwarmingTaskResultPipeline)
13 from waterfall.test import ( 13 from waterfall.test import (
14 process_base_swarming_task_result_pipeline_test as base_test) 14 process_base_swarming_task_result_pipeline_test as base_test)
15 from waterfall.test import wf_testcase 15 from waterfall.test import wf_testcase
16 16
17 17
18 class ProcessFlakeSwarmingTaskResultPipelineTest(wf_testcase.WaterfallTestCase): 18 class ProcessFlakeSwarmingTaskResultPipelineTest(wf_testcase.WaterfallTestCase):
19 19
20 def _MockedGetSwarmingTaskResultById(self, task_id, _): 20 def _MockedGetSwarmingTaskResultById(self, task_id, _):
21 return base_test._SWARMING_TASK_RESULTS[task_id] 21 return base_test._SWARMING_TASK_RESULTS[task_id], None
22 22
23 def setUp(self): 23 def setUp(self):
24 super(ProcessFlakeSwarmingTaskResultPipelineTest, self).setUp() 24 super(ProcessFlakeSwarmingTaskResultPipelineTest, self).setUp()
25 self.pipeline = ProcessFlakeSwarmingTaskResultPipeline() 25 self.pipeline = ProcessFlakeSwarmingTaskResultPipeline()
26 self.master_name = 'm' 26 self.master_name = 'm'
27 self.builder_name = 'b' 27 self.builder_name = 'b'
28 self.build_number = 121 28 self.build_number = 121
29 self.step_name = 'abc_tests on platform' 29 self.step_name = 'abc_tests on platform'
30 self.test_name = 'TestSuite1.test1' 30 self.test_name = 'TestSuite1.test1'
31 self.version_number = 1 31 self.version_number = 1
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 self.build_number, self.step_name, test_name) 79 self.build_number, self.step_name, test_name)
80 self.assertEqual(0, task.tries) 80 self.assertEqual(0, task.tries)
81 self.assertEqual(0, task.successes) 81 self.assertEqual(0, task.successes)
82 82
83 analysis = MasterFlakeAnalysis.GetVersion( 83 analysis = MasterFlakeAnalysis.GetVersion(
84 self.master_name, self.builder_name, 84 self.master_name, self.builder_name,
85 self.build_number, self.step_name, test_name, self.version_number) 85 self.build_number, self.step_name, test_name, self.version_number)
86 self.assertTrue(analysis.data_points[-1].pass_rate < 0) 86 self.assertTrue(analysis.data_points[-1].pass_rate < 0)
87 87
88 def _MockedGetSwarmingTaskFailureLog(self, *_): 88 def _MockedGetSwarmingTaskFailureLog(self, *_):
89 return base_test._SAMPLE_FAILURE_LOG 89 return base_test._SAMPLE_FAILURE_LOG, None
90 90
91 def testProcessFlakeSwarmingTaskResultPipeline(self): 91 def testProcessFlakeSwarmingTaskResultPipeline(self):
92 # End to end test. 92 # End to end test.
93 self.mock(swarming_util, 'GetSwarmingTaskFailureLog', 93 self.mock(swarming_util, 'GetSwarmingTaskFailureLog',
94 self._MockedGetSwarmingTaskFailureLog) 94 self._MockedGetSwarmingTaskFailureLog)
95 95
96 task = FlakeSwarmingTask.Create( 96 task = FlakeSwarmingTask.Create(
97 self.master_name, self.builder_name, 97 self.master_name, self.builder_name,
98 self.build_number, self.step_name, self.test_name) 98 self.build_number, self.step_name, self.test_name)
99 task.task_id = 'task_id1' 99 task.task_id = 'task_id1'
(...skipping 19 matching lines...) Expand all
119 119
120 self.assertEqual(analysis_status.COMPLETED, task.status) 120 self.assertEqual(analysis_status.COMPLETED, task.status)
121 self.assertEqual(base_test._EXPECTED_TESTS_STATUS, task.tests_statuses) 121 self.assertEqual(base_test._EXPECTED_TESTS_STATUS, task.tests_statuses)
122 122
123 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), 123 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
124 task.created_time) 124 task.created_time)
125 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), 125 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
126 task.started_time) 126 task.started_time)
127 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), 127 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
128 task.completed_time) 128 task.completed_time)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698