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

Side by Side Diff: appengine/findit/handlers/build_failure.py

Issue 1912243003: [Findit] Add more tests to improve code coverage. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Created 4 years, 8 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 | « no previous file | appengine/findit/handlers/test/build_failure_test.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 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 from collections import defaultdict 5 from collections import defaultdict
6 import copy 6 import copy
7 from datetime import datetime 7 from datetime import datetime
8 import logging 8 import logging
9 import os 9 import os
10 10
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 'analysis_request_time': _FormatDatetime(analysis.request_time), 287 'analysis_request_time': _FormatDatetime(analysis.request_time),
288 'analysis_start_time': _FormatDatetime(analysis.start_time), 288 'analysis_start_time': _FormatDatetime(analysis.start_time),
289 'analysis_end_time': _FormatDatetime(analysis.end_time), 289 'analysis_end_time': _FormatDatetime(analysis.end_time),
290 'analysis_duration': analysis.duration, 290 'analysis_duration': analysis.duration,
291 'analysis_update_time': _FormatDatetime(analysis.updated_time), 291 'analysis_update_time': _FormatDatetime(analysis.updated_time),
292 'analysis_completed': analysis.completed, 292 'analysis_completed': analysis.completed,
293 'analysis_failed': analysis.failed, 293 'analysis_failed': analysis.failed,
294 'analysis_correct': analysis.correct, 294 'analysis_correct': analysis.correct,
295 'triage_history': _GetTriageHistory(analysis), 295 'triage_history': _GetTriageHistory(analysis),
296 'show_triage_help_button': self._ShowTriageHelpButton(), 296 'show_triage_help_button': self._ShowTriageHelpButton(),
297 'status_message_map': result_status.STATUS_MESSAGE_MAP
298 } 297 }
299 298
300 @staticmethod 299 @staticmethod
301 def _PrepareTryJobDataForCompileFailure(analysis): 300 def _PrepareTryJobDataForCompileFailure(analysis):
302 try_job_data = {} 301 try_job_data = {}
303 if not (analysis.failure_result_map and # pragma: no branch. 302 if not (analysis.failure_result_map and # pragma: no branch.
304 constants.COMPILE_STEP_NAME in analysis.failure_result_map): 303 constants.COMPILE_STEP_NAME in analysis.failure_result_map):
305 return try_job_data # pragma: no cover. 304 return try_job_data # pragma: no cover.
306 305
307 referred_build_keys = analysis.failure_result_map[ 306 referred_build_keys = analysis.failure_result_map[
(...skipping 30 matching lines...) Expand all
338 337
339 # Check result from heuristic analysis. 338 # Check result from heuristic analysis.
340 self._PopulateHeuristicDataForCompileFailure(analysis, data) 339 self._PopulateHeuristicDataForCompileFailure(analysis, data)
341 # Check result from try job. 340 # Check result from try job.
342 data['try_job'] = self._PrepareTryJobDataForCompileFailure(analysis) 341 data['try_job'] = self._PrepareTryJobDataForCompileFailure(analysis)
343 342
344 return data 343 return data
345 344
346 def _PrepareDataForTestFailures(self, analysis, build_info): 345 def _PrepareDataForTestFailures(self, analysis, build_info):
347 data = self._PrepareCommonDataForFailure(analysis) 346 data = self._PrepareCommonDataForFailure(analysis)
347 data['status_message_map'] = result_status.STATUS_MESSAGE_MAP
348 348
349 organized_results = _GetOrganizedAnalysisResultBySuspectedCL( 349 organized_results = _GetOrganizedAnalysisResultBySuspectedCL(
350 analysis.result) 350 analysis.result)
351 analysis_result = _GetAnalysisResultWithTryJobInfo( 351 analysis_result = _GetAnalysisResultWithTryJobInfo(
352 organized_results, *build_info) 352 organized_results, *build_info)
353 data['analysis_result'] = analysis_result 353 data['analysis_result'] = analysis_result
354 354
355 return data 355 return data
356 356
357 def HandleGet(self): 357 def HandleGet(self):
(...skipping 25 matching lines...) Expand all
383 # Only allow admin to force a re-run and set the build_completed. 383 # Only allow admin to force a re-run and set the build_completed.
384 force = (users.is_current_user_admin() and 384 force = (users.is_current_user_admin() and
385 self.request.get('force') == '1') 385 self.request.get('force') == '1')
386 build_completed = (users.is_current_user_admin() and 386 build_completed = (users.is_current_user_admin() and
387 self.request.get('build_completed') == '1') 387 self.request.get('build_completed') == '1')
388 analysis = build_failure_analysis_pipelines.ScheduleAnalysisIfNeeded( 388 analysis = build_failure_analysis_pipelines.ScheduleAnalysisIfNeeded(
389 master_name, builder_name, build_number, 389 master_name, builder_name, build_number,
390 build_completed=build_completed, force=force, 390 build_completed=build_completed, force=force,
391 queue_name=constants.WATERFALL_ANALYSIS_QUEUE) 391 queue_name=constants.WATERFALL_ANALYSIS_QUEUE)
392 392
393 if analysis.failure_type == failure_type.COMPILE: # pragma: no branch 393 if analysis.failure_type == failure_type.COMPILE:
394 return { 394 return {
395 'template': 'waterfall/compile_failure.html', 395 'template': 'waterfall/compile_failure.html',
396 'data': self._PrepareDataForCompileFailure(analysis), 396 'data': self._PrepareDataForCompileFailure(analysis),
397 } 397 }
398 else: 398 else:
399 return { 399 return {
400 'template': 'build_failure.html', 400 'template': 'build_failure.html',
401 'data': self._PrepareDataForTestFailures(analysis, build_info), 401 'data': self._PrepareDataForTestFailures(analysis, build_info),
402 } 402 }
403 403
404 def HandlePost(self): # pragma: no cover 404 def HandlePost(self): # pragma: no cover
405 return self.HandleGet() 405 return self.HandleGet()
OLDNEW
« no previous file with comments | « no previous file | appengine/findit/handlers/test/build_failure_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698