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

Unified Diff: tools/telemetry/telemetry/results/page_test_results_unittest.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_unittest.py
diff --git a/tools/telemetry/telemetry/results/page_test_results_unittest.py b/tools/telemetry/telemetry/results/page_test_results_unittest.py
index b9022b0bd59866e70435891e00ca7d88dd93e2d2..e172ccee4d2709a16e1e76d5532db88907b9ee4d 100644
--- a/tools/telemetry/telemetry/results/page_test_results_unittest.py
+++ b/tools/telemetry/telemetry/results/page_test_results_unittest.py
@@ -3,6 +3,7 @@
# found in the LICENSE file.
import os
+import unittest
from telemetry import page as page_module
from telemetry.page import page_set
@@ -44,7 +45,6 @@ class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
self.assertTrue(results.all_page_runs[0].failed)
self.assertTrue(results.all_page_runs[1].ok)
-
def testSkips(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
@@ -84,38 +84,6 @@ class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
values = results.FindAllPageSpecificValuesNamed('a')
assert len(values) == 2
- def testResultsFiltering(self):
- def AcceptValueNamed_a(value):
- return value.name == 'a'
- results = page_test_results.PageTestResults(
- value_can_be_added_predicate=AcceptValueNamed_a)
- results.WillRunPage(self.pages[0])
- results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
- results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 3))
- results.DidRunPage(self.pages[0])
-
- results.WillRunPage(self.pages[1])
- results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 3))
- results.AddValue(scalar.ScalarValue(self.pages[1], 'd', 'seconds', 3))
- results.DidRunPage(self.pages[1])
-
- results.PrintSummary()
-
- values = results.FindPageSpecificValuesForPage(self.pages[0], 'a')
- self.assertEquals(1, len(values))
- v = values[0]
- self.assertEquals(v.name, 'a')
- self.assertEquals(v.page, self.pages[0])
-
- values = results.FindPageSpecificValuesForPage(self.pages[0], 'b')
- self.assertEquals(0, len(values))
-
- values = results.FindAllPageSpecificValuesNamed('a')
- self.assertEquals(len(values), 2)
-
- values = results.all_page_specific_values
- self.assertEquals(len(values), 2)
-
def testUrlIsInvalidValue(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
@@ -266,3 +234,69 @@ class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
results.CleanUp()
self.assertFalse(results.FindAllTraceValues())
+
+
+class PageTestResultsFilterTest(unittest.TestCase):
+ def setUp(self):
+ ps = page_set.PageSet(file_path=os.path.dirname(__file__))
+ ps.AddUserStory(page_module.Page('http://www.foo.com/', ps, ps.base_dir))
+ ps.AddUserStory(page_module.Page('http://www.bar.com/', ps, ps.base_dir))
+ self.page_set = ps
+
+ @property
+ def pages(self):
+ return self.page_set.pages
+
+ def testFilterValue(self):
+ def AcceptValueNamed_a(value, _):
+ return value.name == 'a'
+ results = page_test_results.PageTestResults(
+ value_can_be_added_predicate=AcceptValueNamed_a)
+ results.WillRunPage(self.pages[0])
+ results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
+ results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 3))
+ results.DidRunPage(self.pages[0])
+
+ results.WillRunPage(self.pages[1])
+ results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 3))
+ results.AddValue(scalar.ScalarValue(self.pages[1], 'd', 'seconds', 3))
+ results.DidRunPage(self.pages[1])
+ results.PrintSummary()
+ self.assertEquals(
+ [('a', 'http://www.foo.com/'), ('a', 'http://www.bar.com/')],
+ [(v.name, v.page.url) for v in results.all_page_specific_values])
+
+ def testFilterIsFirstResult(self):
+ def AcceptSecondValues(_, is_first_result):
+ return not is_first_result
+ results = page_test_results.PageTestResults(
+ value_can_be_added_predicate=AcceptSecondValues)
+
+ # First results (filtered out)
+ results.WillRunPage(self.pages[0])
+ results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 7))
+ results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 8))
+ results.DidRunPage(self.pages[0])
+ results.WillRunPage(self.pages[1])
+ results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 5))
+ results.AddValue(scalar.ScalarValue(self.pages[1], 'd', 'seconds', 6))
+ results.DidRunPage(self.pages[1])
+
+ # Second results
+ results.WillRunPage(self.pages[0])
+ results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
+ results.AddValue(scalar.ScalarValue(self.pages[0], 'b', 'seconds', 4))
+ results.DidRunPage(self.pages[0])
+ results.WillRunPage(self.pages[1])
+ results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 1))
+ results.AddValue(scalar.ScalarValue(self.pages[1], 'd', 'seconds', 2))
+ results.DidRunPage(self.pages[1])
+ results.PrintSummary()
+ expected_values = [
+ ('a', 'http://www.foo.com/', 3),
+ ('b', 'http://www.foo.com/', 4),
+ ('a', 'http://www.bar.com/', 1),
+ ('d', 'http://www.bar.com/', 2)]
+ actual_values = [(v.name, v.page.url, v.value)
+ for v in results.all_page_specific_values]
+ self.assertEquals(expected_values, actual_values)
« no previous file with comments | « tools/telemetry/telemetry/results/page_test_results.py ('k') | tools/telemetry/telemetry/results/results_options.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698