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) |