| Index: appengine/findit/util_scripts/crash_queries/delta_test/delta_test.py
|
| diff --git a/appengine/findit/util_scripts/crash_queries/delta_test/delta_test.py b/appengine/findit/util_scripts/crash_queries/delta_test/delta_test.py
|
| index cf1220d2263c04746ed7ec311d936f0e1ef1e7b2..02869d7a7ea77bcac2f438bf3a670b9a7ebeeebd 100644
|
| --- a/appengine/findit/util_scripts/crash_queries/delta_test/delta_test.py
|
| +++ b/appengine/findit/util_scripts/crash_queries/delta_test/delta_test.py
|
| @@ -184,7 +184,7 @@ def GetResults(crashes, client_id, app_id, git_hash, result_path,
|
| # TODO(crbug.com/662540): Add unittests.
|
| def DeltaEvaluator(git_hash1, git_hash2,
|
| client_id, app_id,
|
| - start_date, end_date, batch_size,
|
| + start_date, end_date, batch_size, max_n,
|
| property_values=None, verbose=False): # pragma: no cover.
|
| """Evaluates delta between git_hash1 and git_hash2 on a set of Testcases.
|
|
|
| @@ -199,6 +199,7 @@ def DeltaEvaluator(git_hash1, git_hash2,
|
| 'cluterfuzz'.
|
| app_id (str): Appengine app id to query.
|
| batch_size (int): Size of a batch that can be queried at one time.
|
| + max_n: (int): Maximum total number of crashes.
|
| property_values (dict): Property values to query.
|
| batch_size (int): The size of crashes that can be queried at one time.
|
| verbose (bool): If True, print all the findit results.
|
| @@ -221,12 +222,17 @@ def DeltaEvaluator(git_hash1, git_hash2,
|
| end_date=end_date,
|
| batch_size=batch_size,
|
| batch_run=True)):
|
| + # Truncate crashes and make it contain at most max_n crashes.
|
| + if crash_count + len(crashes) > max_n:
|
| + crashes = crashes[:(max_n - crash_count)]
|
| +
|
| results = []
|
| for git_hash in [git_hash1, git_hash2]:
|
| + # Generate result path to store culprit results for this batch.
|
| result_path = os.path.join(
|
| PREDATOR_RESULTS_DIRECTORY, delta_util.GenerateFileName(
|
| client_id, property_values, start_date, end_date,
|
| - batch_size, index, git_hash))
|
| + batch_size, index, max_n, git_hash))
|
| # Get the culprit results of this batch of crashes.
|
| results.append(GetResults(crashes, client_id, app_id,
|
| git_hash, result_path,
|
| @@ -239,6 +245,8 @@ def DeltaEvaluator(git_hash1, git_hash2,
|
| print '========= Delta of this batch ========='
|
| delta_util.PrintDelta(batch_deltas, len(crashes), app_id)
|
| deltas.update(batch_deltas)
|
| + if crash_count >= max_n:
|
| + break
|
|
|
| return deltas, crash_count
|
| finally:
|
|
|