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

Unified Diff: appengine/findit/crash/findit_for_client.py

Issue 2378133004: [Findit] Rerun if the regression range is different. (Closed)
Patch Set: 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 side-by-side diff with in-line comments
Download patch
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}

Powered by Google App Engine
This is Rietveld 408576698