Chromium Code Reviews| Index: appengine/findit/crash/findit_for_client.py |
| diff --git a/appengine/findit/crash/findit_for_client.py b/appengine/findit/crash/findit_for_client.py |
| index 7a8cb1c73675592ca9560c1c920df7d9d910b0da..dd72d183c0cca822c1dbdf56142f0294f60eb72f 100644 |
| --- a/appengine/findit/crash/findit_for_client.py |
| +++ b/appengine/findit/crash/findit_for_client.py |
| @@ -16,7 +16,9 @@ from google.appengine.ext import ndb |
| from common import appengine_util |
| from common import time_util |
| +from crash import detect_regression_range |
| from crash import findit_for_chromecrash |
| +from crash.chromecrash_parser import ChromeCrashParser |
| from crash.type_enums import CrashClient |
| from model import analysis_status |
| from model.crash.crash_config import CrashConfig |
| @@ -99,7 +101,8 @@ def CreateAnalysisForClient(crash_identifiers, client_id): |
| def ResetAnalysis(analysis, chrome_version, signature, |
| - client_id, platform, stack_trace, customized_data): |
| + client_id, platform, stack_trace, customized_data, |
| + regression_range): |
| """Sets necessary info in the analysis for findit to run analysis.""" |
| analysis.Reset() |
| @@ -109,6 +112,7 @@ def ResetAnalysis(analysis, chrome_version, signature, |
| analysis.signature = signature |
| analysis.platform = platform |
| analysis.client_id = client_id |
| + analysis.regression_range = regression_range |
| if client_id == CrashClient.FRACAS or client_id == CrashClient.CRACAS: |
| # Set customized properties. |
| @@ -148,18 +152,38 @@ def GetPublishResultFromAnalysis(analysis, crash_identifiers, client_id): |
| } |
| -def FindCulprit(analysis): |
| - result = {'found': False} |
| - tags = {'found_suspects': False, |
| - 'has_regression_range': False} |
| +def GetRegressionRange(client_id, customized_data): |
| + if client_id == CrashClient.FRACAS or client_id == CrashClient.CRACAS: |
| + return detect_regression_range.DetectRegressionRange( |
| + customized_data.get('historical_metadata')) |
| + elif client_id == CrashClient.CLUSTERFUZZ: # pragma: no cover. |
| + # TODO(katesonia): Get regression range from customized_data from |
| + # clusterfuzz. |
| + return None |
| + |
| + return None |
| + |
| + |
| +def GetStacktraceParser(client_id): |
|
stgao
2016/10/07 20:29:35
This seems unused for now.
Sharu Jiang
2016/10/07 22:05:03
Oops, should have deleted this.
|
| + if (client_id == CrashClient.FRACAS or |
| + client_id == CrashClient.CRACAS): |
| + return ChromeCrashParser() |
| + elif client_id == CrashClient.CLUSTERFUZZ: # pragma: no cover. |
| + # TODO(katesonia): Implement findit_for_clusterfuzz. |
| + return None |
| + |
| + return None |
| + |
| +def FindCulprit(analysis): |
| if (analysis.client_id == CrashClient.FRACAS or |
| analysis.client_id == CrashClient.CRACAS): |
| - result, tags = findit_for_chromecrash.FinditForChromeCrash().FindCulprit( |
| + return findit_for_chromecrash.FinditForChromeCrash().FindCulprit( |
| analysis.signature, analysis.platform, analysis.stack_trace, |
| - analysis.crashed_version, analysis.historical_metadata) |
| - elif analysis.client_id == CrashClient.CLUSTERFUZZ: # pragma: no cover. |
| + analysis.crashed_version, analysis.regression_range) |
| + elif analysis.client_id == CrashClient.CLUSTERFUZZ: # pragma: no cover. |
| # TODO(katesonia): Implement findit_for_clusterfuzz. |
| - pass |
| + return {}, {} |
| - return result, tags |
| + return {'found': False}, {'found_suspects': False, |
| + 'has_regression_range': False} |