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

Unified Diff: appengine/findit/handlers/triage_analysis.py

Issue 2086113004: [Findit] Show build analysis references in UI for Findit Cross-platform auto-triage (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@build-matching
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: appengine/findit/handlers/triage_analysis.py
diff --git a/appengine/findit/handlers/triage_analysis.py b/appengine/findit/handlers/triage_analysis.py
index 004cc3c538eb70b4deeed4d339126d93adb19765..242af366f51b5440d0c3a6b92cfb3240611ba235 100644
--- a/appengine/findit/handlers/triage_analysis.py
+++ b/appengine/findit/handlers/triage_analysis.py
@@ -46,6 +46,7 @@ def _GenPotentialCulpritTupleList(analysis):
# Iterates through the failures, tests, and suspected_cls, appending potential
# (step_name, test_name, revision) and (step_name, revision) culprit tuples to
# the list.
+
for failure in analysis.result['failures']:
if failure.get('tests'):
for test in failure['tests']:
@@ -88,7 +89,8 @@ def _DoAnalysesMatch(analysis_1, analysis_2):
sorted(potential_culprit_tuple_list_2))
-def _AppendTriageHistoryRecord(analysis, is_correct, user_name):
+def _AppendTriageHistoryRecord(
+ analysis, is_correct, user_name, duplicate=False):
"""Appends a triage history record to the given analysis.
Args:
@@ -99,7 +101,10 @@ def _AppendTriageHistoryRecord(analysis, is_correct, user_name):
"""
if is_correct:
if analysis.suspected_cls:
- analysis.result_status = result_status.FOUND_CORRECT
+ if duplicate:
+ analysis.result_status = result_status.FOUND_CORRECT_DUPLICATE
+ else:
+ analysis.result_status = result_status.FOUND_CORRECT
analysis.culprit_cls = analysis.suspected_cls
else:
analysis.result_status = result_status.NOT_FOUND_CORRECT
@@ -107,7 +112,10 @@ def _AppendTriageHistoryRecord(analysis, is_correct, user_name):
else:
analysis.culprit_cls = None
if analysis.suspected_cls:
- analysis.result_status = result_status.FOUND_INCORRECT
+ if duplicate:
+ analysis.result_status = result_status.FOUND_INCORRECT_DUPLICATE
+ else:
+ analysis.result_status = result_status.FOUND_INCORRECT
else:
analysis.result_status = result_status.NOT_FOUND_INCORRECT
@@ -131,6 +139,10 @@ def _UpdateAnalysisResultStatus(
if not analysis or not analysis.completed:
return False, None
+ analysis.triage_reference_analysis_master_name = None
+ analysis.triage_reference_analysis_builder_name = None
+ analysis.triage_reference_analysis_build_number = None
chanli 2016/06/24 18:24:20 These lines are not needed.
+
_AppendTriageHistoryRecord(analysis, is_correct, user_name)
return True, analysis
@@ -166,7 +178,15 @@ def _TriageDuplicateResults(original_analysis, is_correct, user_name=None):
matching_analyses = _GetDuplicateAnalyses(original_analysis)
for analysis in matching_analyses:
- _AppendTriageHistoryRecord(analysis, is_correct, user_name)
+ analysis.triage_reference_analysis_master_name = (
+ original_analysis.master_name)
+ analysis.triage_reference_analysis_builder_name = (
+ original_analysis.builder_name)
+ analysis.triage_reference_analysis_build_number = (
+ original_analysis.build_number)
+ _AppendTriageHistoryRecord(analysis, is_correct, user_name, duplicate=True)
+
+ return len(matching_analyses)
class TriageAnalysis(BaseHandler):
@@ -193,6 +213,9 @@ class TriageAnalysis(BaseHandler):
user_name = users.get_current_user().email().split('@')[0]
success, original_analysis = _UpdateAnalysisResultStatus(
master_name, builder_name, build_number, is_correct, user_name)
+ num_duplicate_analyses = 0
if success:
- _TriageDuplicateResults(original_analysis, is_correct, user_name)
- return {'data': {'success': success}}
+ num_duplicate_analyses = _TriageDuplicateResults(
+ original_analysis, is_correct, user_name)
+ return {'data': {'success': success,
+ 'num_duplicate_analyses': num_duplicate_analyses}}

Powered by Google App Engine
This is Rietveld 408576698