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

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

Issue 2345093002: [Findit] Extending versioned_model.py to support versioning multiple entities of the same class. (Closed)
Patch Set: Ignore this patch, uploaded unrelated change to wrong branch Created 4 years, 2 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
« no previous file with comments | « appengine/findit/waterfall/process_flake_swarming_task_result_pipeline.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 'other_info': 'N/A' 76 'other_info': 'N/A'
77 }, 77 },
78 { 78 {
79 'status': 'FAILURE', 79 'status': 'FAILURE',
80 'other_info': 'N/A' 80 'other_info': 'N/A'
81 } 81 }
82 ] 82 ]
83 } 83 }
84 ] 84 ]
85 } 85 }
86 _EXPECTED_TESTS_STATUESE = { 86 _EXPECTED_TEST_STATUS = {
87 'TestSuite1.test1': { 87 'TestSuite1.test1': {
88 'total_run': 2, 88 'total_run': 2,
89 'SUCCESS': 2 89 'SUCCESS': 2
90 }, 90 },
91 'TestSuite1.test2': { 91 'TestSuite1.test2': {
92 'total_run': 4, 92 'total_run': 4,
93 'SUCCESS': 2, 93 'SUCCESS': 2,
94 'FAILURE': 2 94 'FAILURE': 2
95 }, 95 },
96 'TestSuite1.test3': { 96 'TestSuite1.test3': {
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 164
165 call_params = ProcessFlakeSwarmingTaskResultPipeline._GetArgs( 165 call_params = ProcessFlakeSwarmingTaskResultPipeline._GetArgs(
166 self.pipeline, self.master_name, self.builder_name, 166 self.pipeline, self.master_name, self.builder_name,
167 self.build_number, self.step_name, self.build_number, 167 self.build_number, self.step_name, self.build_number,
168 self.test_name) 168 self.test_name)
169 169
170 tests_statuses = ( 170 tests_statuses = (
171 ProcessFlakeSwarmingTaskResultPipeline._CheckTestsRunStatuses( 171 ProcessFlakeSwarmingTaskResultPipeline._CheckTestsRunStatuses(
172 self.pipeline, 172 self.pipeline,
173 _SAMPLE_FAILURE_LOG, *call_params)) 173 _SAMPLE_FAILURE_LOG, *call_params))
174 self.assertEqual(_EXPECTED_TESTS_STATUESE, tests_statuses) 174 self.assertEqual(_EXPECTED_TEST_STATUS, tests_statuses)
175 175
176 def testCheckTestsRunStatusesWhenTestNotExist(self): 176 def testCheckTestsRunStatusesWhenTestDoesNotExist(self):
177 test_name = 'TestSuite1.new_test' 177 test_name = 'TestSuite1.new_test'
178 analysis = MasterFlakeAnalysis.Create( 178 analysis = MasterFlakeAnalysis.Create(
179 self.master_name, self.builder_name, 179 self.master_name, self.builder_name,
180 self.build_number, self.step_name, test_name) 180 self.build_number, self.step_name, test_name)
181 analysis.put() 181 analysis.put()
182 182
183 task = FlakeSwarmingTask.Create( 183 task = FlakeSwarmingTask.Create(
184 self.master_name, self.builder_name, 184 self.master_name, self.builder_name,
185 self.build_number, self.step_name, test_name) 185 self.build_number, self.step_name, test_name)
186 task.put() 186 task.put()
187 187
188 pipeline = ProcessFlakeSwarmingTaskResultPipeline() 188 pipeline = ProcessFlakeSwarmingTaskResultPipeline()
189 tests_statuses = pipeline._CheckTestsRunStatuses( 189 tests_statuses = pipeline._CheckTestsRunStatuses(
190 _SAMPLE_FAILURE_LOG, self.master_name, self.builder_name, 190 _SAMPLE_FAILURE_LOG, self.master_name, self.builder_name,
191 self.build_number, self.step_name, self.build_number, test_name) 191 self.build_number, self.step_name, self.build_number, test_name)
192 192
193 self.assertEqual(_EXPECTED_TESTS_STATUESE, tests_statuses) 193 self.assertEqual(_EXPECTED_TEST_STATUS, tests_statuses)
194 194
195 task = FlakeSwarmingTask.Get( 195 task = FlakeSwarmingTask.Get(
196 self.master_name, self.builder_name, 196 self.master_name, self.builder_name,
197 self.build_number, self.step_name, test_name) 197 self.build_number, self.step_name, test_name)
198 self.assertEqual(0, task.tries) 198 self.assertEqual(0, task.tries)
199 self.assertEqual(0, task.successes) 199 self.assertEqual(0, task.successes)
200 200
201 analysis = MasterFlakeAnalysis.Get( 201 analysis = MasterFlakeAnalysis.Get(
202 self.master_name, self.builder_name, 202 self.master_name, self.builder_name,
203 self.build_number, self.step_name, test_name) 203 self.build_number, self.step_name, test_name)
204 self.assertTrue(analysis.success_rates[-1] < 0) 204 self.assertTrue(analysis.pass_rates[-1] < 0)
205 205
206 def _MockedGetSwarmingTaskFailureLog(self, *_): 206 def _MockedGetSwarmingTaskFailureLog(self, *_):
207 return _SAMPLE_FAILURE_LOG 207 return _SAMPLE_FAILURE_LOG
208 208
209 def testProcessFlakeSwarmingTaskResultPipeline(self): 209 def testProcessFlakeSwarmingTaskResultPipeline(self):
210 210
211 self.mock(swarming_util, 'GetSwarmingTaskFailureLog', 211 self.mock(swarming_util, 'GetSwarmingTaskFailureLog',
212 self._MockedGetSwarmingTaskFailureLog) 212 self._MockedGetSwarmingTaskFailureLog)
213 213
214 task = FlakeSwarmingTask.Create( 214 task = FlakeSwarmingTask.Create(
(...skipping 13 matching lines...) Expand all
228 self.build_number, self.step_name, 228 self.build_number, self.step_name,
229 'task_id1', self.build_number, self.test_name) 229 'task_id1', self.build_number, self.test_name)
230 self.assertEqual('abc_tests', task_info) 230 self.assertEqual('abc_tests', task_info)
231 self.assertEqual(self.step_name, step_name) 231 self.assertEqual(self.step_name, step_name)
232 232
233 task = FlakeSwarmingTask.Get( 233 task = FlakeSwarmingTask.Get(
234 self.master_name, self.builder_name, self.build_number, 234 self.master_name, self.builder_name, self.build_number,
235 self.step_name, self.test_name) 235 self.step_name, self.test_name)
236 236
237 self.assertEqual(analysis_status.COMPLETED, task.status) 237 self.assertEqual(analysis_status.COMPLETED, task.status)
238 self.assertEqual(_EXPECTED_TESTS_STATUESE, task.tests_statuses) 238 self.assertEqual(_EXPECTED_TEST_STATUS, task.tests_statuses)
239 239
240 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220), 240 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 6, 538220),
241 task.created_time) 241 task.created_time)
242 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550), 242 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 32, 9, 90550),
243 task.started_time) 243 task.started_time)
244 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9), 244 self.assertEqual(datetime.datetime(2016, 2, 10, 18, 33, 9),
245 task.completed_time) 245 task.completed_time)
246 246
247 def testProcessFlakeSwarmingTaskResultPipelineTaskNotRunning(self): 247 def testProcessFlakeSwarmingTaskResultPipelineTaskNotRunning(self):
248 task = FlakeSwarmingTask.Create( 248 task = FlakeSwarmingTask.Create(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 self.build_number, self.step_name, 290 self.build_number, self.step_name,
291 'task_id1', self.build_number, self.test_name) 291 'task_id1', self.build_number, self.test_name)
292 self.assertEqual('abc_tests', task_info) 292 self.assertEqual('abc_tests', task_info)
293 self.assertEqual(self.step_name, step_name) 293 self.assertEqual(self.step_name, step_name)
294 294
295 task = FlakeSwarmingTask.Get( 295 task = FlakeSwarmingTask.Get(
296 self.master_name, self.builder_name, self.build_number, 296 self.master_name, self.builder_name, self.build_number,
297 self.step_name, self.test_name) 297 self.step_name, self.test_name)
298 self.assertEqual(analysis_status.ERROR, task.status) 298 self.assertEqual(analysis_status.ERROR, task.status)
299 self.assertEqual({}, task.tests_statuses) 299 self.assertEqual({}, task.tests_statuses)
OLDNEW
« no previous file with comments | « appengine/findit/waterfall/process_flake_swarming_task_result_pipeline.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698