Index: tools/telemetry/telemetry/page/page_measurement_results_unittest.py |
diff --git a/tools/telemetry/telemetry/page/page_measurement_results_unittest.py b/tools/telemetry/telemetry/page/page_measurement_results_unittest.py |
index 727eeb612d840770106b52019ee39dd5ba4963bc..2e48e6a943cc107fd77080d13a47491a8aa38b2f 100644 |
--- a/tools/telemetry/telemetry/page/page_measurement_results_unittest.py |
+++ b/tools/telemetry/telemetry/page/page_measurement_results_unittest.py |
@@ -13,8 +13,9 @@ def _MakePageSet(): |
"description": "hello", |
"archive_path": "foo.wpr", |
"pages": [ |
- {"url": "http://www.foo.com/"}, |
- {"url": "http://www.bar.com/"} |
+ {"url": "http://www.bar.com/"}, |
+ {"url": "http://www.baz.com/"}, |
+ {"url": "http://www.foo.com/"} |
] |
}, os.path.dirname(__file__)) |
@@ -37,69 +38,136 @@ class SummarySavingPageMeasurementResults( |
self.results.append(res) |
class PageMeasurementResultsTest(unittest.TestCase): |
+ def setUp(self): |
+ self._page_set = _MakePageSet() |
+ |
+ @property |
+ def pages(self): |
+ return self._page_set.pages |
+ |
def test_basic(self): |
- test_page_set = _MakePageSet() |
+ results = NonPrintingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
- measurement_results = NonPrintingPageMeasurementResults() |
- measurement_results.WillMeasurePage(test_page_set.pages[0]) |
- measurement_results.Add('a', 'seconds', 3) |
- measurement_results.DidMeasurePage() |
+ results.WillMeasurePage(self.pages[1]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
- measurement_results.WillMeasurePage(test_page_set.pages[1]) |
- measurement_results.Add('a', 'seconds', 3) |
- measurement_results.DidMeasurePage() |
+ results.PrintSummary() |
- measurement_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]) |
- def test_url_is_invalid_value(self): |
- test_page_set = _MakePageSet() |
+ values = results.FindAllPageSpecificValuesNamed('a') |
+ assert len(values) == 2 |
- measurement_results = NonPrintingPageMeasurementResults() |
- measurement_results.WillMeasurePage(test_page_set.pages[0]) |
+ def test_url_is_invalid_value(self): |
+ results = NonPrintingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
self.assertRaises( |
AssertionError, |
- lambda: measurement_results.Add('url', 'string', 'foo')) |
+ lambda: results.Add('url', 'string', 'foo')) |
+ |
+ def test_value_names_that_have_been_seen(self): |
+ results = NonPrintingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'a_units', 3) |
+ results.Add('b', 'b_units', 3) |
+ results.AddSummary('c', 'c_units', 3) |
+ results.DidMeasurePage() |
+ self.assertEquals(set(['a', 'b', 'c']), |
+ set(results.all_value_names_that_have_been_seen)) |
+ self.assertEquals('a_units', results.GetUnitsForValueName('a')) |
+ self.assertEquals('b_units', results.GetUnitsForValueName('b')) |
+ self.assertEquals('c_units', results.GetUnitsForValueName('c')) |
def test_unit_change(self): |
- test_page_set = _MakePageSet() |
- |
- measurement_results = NonPrintingPageMeasurementResults() |
- measurement_results.WillMeasurePage(test_page_set.pages[0]) |
- measurement_results.Add('a', 'seconds', 3) |
- measurement_results.DidMeasurePage() |
+ results = NonPrintingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
- measurement_results.WillMeasurePage(test_page_set.pages[1]) |
+ results.WillMeasurePage(self.pages[1]) |
self.assertRaises( |
AssertionError, |
- lambda: measurement_results.Add('a', 'foobgrobbers', 3)) |
+ lambda: results.Add('a', 'foobgrobbers', 3)) |
- def test_type_change(self): |
- test_page_set = _MakePageSet() |
+ self.assertEquals(['a'], results.all_value_names_that_have_been_seen) |
- measurement_results = NonPrintingPageMeasurementResults() |
- measurement_results.WillMeasurePage(test_page_set.pages[0]) |
- measurement_results.Add('a', 'seconds', 3) |
- measurement_results.DidMeasurePage() |
+ def test_type_change(self): |
+ results = NonPrintingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
- measurement_results.WillMeasurePage(test_page_set.pages[1]) |
+ results.WillMeasurePage(self.pages[1]) |
self.assertRaises( |
AssertionError, |
- lambda: measurement_results.Add('a', 'seconds', 3, data_type='histogram')) |
+ lambda: results.Add('a', 'seconds', 3, data_type='histogram')) |
def test_basic_summary_all_pages_fail(self): |
"""If all pages fail, no summary is printed.""" |
- test_page_set = _MakePageSet() |
- |
- measurement_results = SummarySavingPageMeasurementResults() |
- measurement_results.WillMeasurePage(test_page_set.pages[0]) |
- measurement_results.Add('a', 'seconds', 3) |
- measurement_results.DidMeasurePage() |
- measurement_results.AddFailureMessage(test_page_set.pages[0], 'message') |
- |
- measurement_results.WillMeasurePage(test_page_set.pages[1]) |
- measurement_results.Add('a', 'seconds', 7) |
- measurement_results.DidMeasurePage() |
- measurement_results.AddFailureMessage(test_page_set.pages[1], 'message') |
- |
- measurement_results.PrintSummary() |
- self.assertEquals(measurement_results.results, []) |
+ results = SummarySavingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
+ results.AddFailureMessage(self.pages[0], 'message') |
+ |
+ results.WillMeasurePage(self.pages[1]) |
+ results.Add('a', 'seconds', 7) |
+ results.DidMeasurePage() |
+ results.AddFailureMessage(self.pages[1], 'message') |
+ |
+ results.PrintSummary() |
+ self.assertEquals(results.results, []) |
+ |
+ def test_get_succesful_page_values_merged_no_failures(self): |
+ results = SummarySavingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'seconds', 3) |
+ self.assertEquals(1, len(results.page_specific_values_for_current_page)) |
+ results.DidMeasurePage() |
+ self.assertRaises(lambda: results.page_specific_values_for_current_page) |
+ |
+ def test_get_all_values_for_successful_pages(self): |
+ results = SummarySavingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
+ |
+ results.WillMeasurePage(self.pages[1]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
+ |
+ results.WillMeasurePage(self.pages[2]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
+ |
+ values = results.GetAllPageSpecificValuesForSuccessfulPages() |
+ self.assertEquals(3, len(values)) |
+ self.assertEquals([self.pages[0], self.pages[1], self.pages[2]], |
+ [v.page for v in values]) |
+ |
+ def test_get_all_values_for_successful_pages_one_page_fails(self): |
+ results = SummarySavingPageMeasurementResults() |
+ results.WillMeasurePage(self.pages[0]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
+ |
+ results.WillMeasurePage(self.pages[1]) |
+ results.AddFailureMessage(self.pages[1], "Failure") |
+ results.DidMeasurePage() |
+ |
+ results.WillMeasurePage(self.pages[2]) |
+ results.Add('a', 'seconds', 3) |
+ results.DidMeasurePage() |
+ |
+ values = results.GetAllPageSpecificValuesForSuccessfulPages() |
+ self.assertEquals(2, len(values)) |
+ self.assertEquals([self.pages[0], self.pages[2]], |
+ [v.page for v in values]) |