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