Chromium Code Reviews| 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}} |