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

Unified Diff: tools/telemetry/telemetry/results/page_test_results.py

Issue 962793004: [Telemetry] Make "discard_first_result" apply to user_stories too. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments. Created 5 years, 10 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: tools/telemetry/telemetry/results/page_test_results.py
diff --git a/tools/telemetry/telemetry/results/page_test_results.py b/tools/telemetry/telemetry/results/page_test_results.py
index 497a3aea9d0b5cce7fb7157abbbd1e6cad7b7af9..38b62e448bfdfdc43a322f4df8f9e66d7aa0b540 100644
--- a/tools/telemetry/telemetry/results/page_test_results.py
+++ b/tools/telemetry/telemetry/results/page_test_results.py
@@ -23,7 +23,7 @@ from telemetry.value import trace
class PageTestResults(object):
def __init__(self, output_stream=None, output_formatters=None,
progress_reporter=None, trace_tag='', output_dir=None,
- value_can_be_added_predicate=lambda v: True):
+ value_can_be_added_predicate=lambda v, is_first: True):
"""
Args:
output_stream: The output stream to use to write test results.
@@ -36,9 +36,10 @@ class PageTestResults(object):
used for buildbot.
output_dir: A string specified the directory where to store the test
artifacts, e.g: trace, videos,...
- value_can_be_added_predicate: A function that takes an value.Value
- instance as input. It returns True if the value can be added to the
- test results and False otherwise.
+ value_can_be_added_predicate: A function that takes two arguments:
+ a value.Value instance and a boolean (True when the value is part
+ of the first result for the user story). It returns True if the value
+ can be added to the test results and False otherwise.
"""
# TODO(chrishenry): Figure out if trace_tag is still necessary.
@@ -55,6 +56,7 @@ class PageTestResults(object):
self._current_page_run = None
self._all_page_runs = []
+ self._all_user_stories = set()
self._representative_value_for_each_value_name = {}
self._all_summary_values = []
self._serialized_trace_file_ids_to_paths = {}
@@ -153,23 +155,23 @@ class PageTestResults(object):
self._current_page_run = user_story_run.UserStoryRun(page)
self._progress_reporter.WillRunPage(self)
- def DidRunPage(self, page, discard_run=False): # pylint: disable=W0613
+ def DidRunPage(self, page): # pylint: disable=W0613
"""
Args:
page: The current page under test.
- discard_run: Whether to discard the entire run and all of its
- associated results.
"""
assert self._current_page_run, 'Did not call WillRunPage.'
self._progress_reporter.DidRunPage(self)
- if not discard_run:
- self._all_page_runs.append(self._current_page_run)
+ self._all_page_runs.append(self._current_page_run)
+ self._all_user_stories.add(self._current_page_run.user_story)
self._current_page_run = None
def AddValue(self, value):
assert self._current_page_run, 'Not currently running test.'
self._ValidateValue(value)
- if not self._value_can_be_added_predicate(value):
+ is_first_result = (
+ self._current_page_run.user_story not in self._all_user_stories)
+ if not self._value_can_be_added_predicate(value, is_first_result):
return
# TODO(eakuefner/chrishenry): Add only one skip per pagerun assert here
self._current_page_run.AddValue(value)
« no previous file with comments | « tools/telemetry/telemetry/benchmark_unittest.py ('k') | tools/telemetry/telemetry/results/page_test_results_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698