| Index: tools/telemetry/telemetry/value/summary_unittest.py
|
| diff --git a/tools/telemetry/telemetry/value/summary_unittest.py b/tools/telemetry/telemetry/value/summary_unittest.py
|
| deleted file mode 100644
|
| index 75ba4a306bc6606e53a8e7adbac3da93ac0e1359..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/value/summary_unittest.py
|
| +++ /dev/null
|
| @@ -1,425 +0,0 @@
|
| -# Copyright 2014 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -import os
|
| -import unittest
|
| -
|
| -from telemetry import story
|
| -from telemetry.internal.results import page_test_results
|
| -from telemetry import page as page_module
|
| -from telemetry.value import failure
|
| -from telemetry.value import histogram
|
| -from telemetry.value import improvement_direction
|
| -from telemetry.value import list_of_scalar_values
|
| -from telemetry.value import scalar
|
| -from telemetry.value import summary as summary_module
|
| -
|
| -
|
| -class TestBase(unittest.TestCase):
|
| - def setUp(self):
|
| - story_set = story.StorySet(base_dir=os.path.dirname(__file__))
|
| - story_set.AddStory(
|
| - page_module.Page('http://www.bar.com/', story_set, story_set.base_dir))
|
| - story_set.AddStory(
|
| - page_module.Page('http://www.baz.com/', story_set, story_set.base_dir))
|
| - story_set.AddStory(
|
| - page_module.Page('http://www.foo.com/', story_set, story_set.base_dir))
|
| - self.story_set = story_set
|
| -
|
| - @property
|
| - def pages(self):
|
| - return self.story_set.stories
|
| -
|
| -
|
| -class SummaryTest(TestBase):
|
| - def testBasicSummary(self):
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| -
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v1 = scalar.ScalarValue(page1, 'a', 'seconds', 7,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page1)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - v0_list = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'a', 'seconds', [3],
|
| - improvement_direction=improvement_direction.UP)
|
| - v1_list = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'a', 'seconds', [7],
|
| - improvement_direction=improvement_direction.UP)
|
| - merged_value = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'a', 'seconds', [3, 7],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(3, len(values))
|
| - self.assertIn(v0_list, values)
|
| - self.assertIn(v1_list, values)
|
| - self.assertIn(merged_value, values)
|
| -
|
| - def testBasicSummaryWithOnlyOnePage(self):
|
| - page0 = self.pages[0]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| -
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - results.DidRunPage(page0)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - v0_list = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'a', 'seconds', [3],
|
| - improvement_direction=improvement_direction.UP)
|
| - merged_list = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'a', 'seconds', [3],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(2, len(values))
|
| - self.assertIn(v0_list, values)
|
| - self.assertIn(merged_list, values)
|
| -
|
| - def testBasicSummaryNonuniformResults(self):
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| - page2 = self.pages[2]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - v1 = scalar.ScalarValue(page0, 'b', 'seconds', 10,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v2 = scalar.ScalarValue(page1, 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v2)
|
| - v3 = scalar.ScalarValue(page1, 'b', 'seconds', 10,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v3)
|
| - results.DidRunPage(page1)
|
| -
|
| - results.WillRunPage(page2)
|
| - v4 = scalar.ScalarValue(page2, 'a', 'seconds', 7,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v4)
|
| - # Note, page[2] does not report a 'b' metric.
|
| - results.DidRunPage(page2)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - v0_list = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'a', 'seconds', [3],
|
| - improvement_direction=improvement_direction.UP)
|
| - v1_list = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'b', 'seconds', [10],
|
| - improvement_direction=improvement_direction.UP)
|
| - v2_list = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'a', 'seconds', [3],
|
| - improvement_direction=improvement_direction.UP)
|
| - v3_list = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'b', 'seconds', [10],
|
| - improvement_direction=improvement_direction.UP)
|
| - v4_list = list_of_scalar_values.ListOfScalarValues(
|
| - page2, 'a', 'seconds', [7],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - a_summary = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'a', 'seconds', [3, 3, 7],
|
| - improvement_direction=improvement_direction.UP)
|
| - b_summary = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'b', 'seconds', [10, 10],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(7, len(values))
|
| - self.assertIn(v0_list, values)
|
| - self.assertIn(v1_list, values)
|
| - self.assertIn(v2_list, values)
|
| - self.assertIn(v3_list, values)
|
| - self.assertIn(v4_list, values)
|
| - self.assertIn(a_summary, values)
|
| - self.assertIn(b_summary, values)
|
| -
|
| - def testBasicSummaryPassAndFailPage(self):
|
| - """If a page failed, only print summary for individual pages."""
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - v1 = failure.FailureValue.FromMessage(page0, 'message')
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v2 = scalar.ScalarValue(page1, 'a', 'seconds', 7,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v2)
|
| - results.DidRunPage(page1)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - v0_list = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'a', 'seconds', [3],
|
| - improvement_direction=improvement_direction.UP)
|
| - v2_list = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'a', 'seconds', [7],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(2, len(values))
|
| - self.assertIn(v0_list, values)
|
| - self.assertIn(v2_list, values)
|
| -
|
| - def testRepeatedPagesetOneIterationOnePageFails(self):
|
| - """Page fails on one iteration, no averaged results should print."""
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v1 = scalar.ScalarValue(page1, 'a', 'seconds', 7,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - v2 = failure.FailureValue.FromMessage(page1, 'message')
|
| - results.AddValue(v2)
|
| - results.DidRunPage(page1)
|
| -
|
| - results.WillRunPage(page0)
|
| - v3 = scalar.ScalarValue(page0, 'a', 'seconds', 4,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v3)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v4 = scalar.ScalarValue(page1, 'a', 'seconds', 8,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v4)
|
| - results.DidRunPage(page1)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - page0_aggregated = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'a', 'seconds', [3, 4],
|
| - improvement_direction=improvement_direction.UP)
|
| - page1_aggregated = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'a', 'seconds', [7, 8],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(2, len(values))
|
| - self.assertIn(page0_aggregated, values)
|
| - self.assertIn(page1_aggregated, values)
|
| -
|
| - def testRepeatedPages(self):
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page0)
|
| - v2 = scalar.ScalarValue(page0, 'a', 'seconds', 4,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v2)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v1 = scalar.ScalarValue(page1, 'a', 'seconds', 7,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page1)
|
| -
|
| - results.WillRunPage(page1)
|
| - v3 = scalar.ScalarValue(page1, 'a', 'seconds', 8,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v3)
|
| - results.DidRunPage(page1)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - page0_aggregated = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'a', 'seconds', [3, 4],
|
| - improvement_direction=improvement_direction.UP)
|
| - page1_aggregated = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'a', 'seconds', [7, 8],
|
| - improvement_direction=improvement_direction.UP)
|
| - a_summary = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'a', 'seconds', [3, 4, 7, 8],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(3, len(values))
|
| - self.assertIn(page0_aggregated, values)
|
| - self.assertIn(page1_aggregated, values)
|
| - self.assertIn(a_summary, values)
|
| -
|
| - def testPageRunsTwice(self):
|
| - page0 = self.pages[0]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| -
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'b', 'seconds', 2,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page0)
|
| - v1 = scalar.ScalarValue(page0, 'b', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page0)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - page0_aggregated = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'b', 'seconds', [2, 3],
|
| - improvement_direction=improvement_direction.UP)
|
| - b_summary = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'b', 'seconds', [2, 3],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(2, len(values))
|
| - self.assertIn(page0_aggregated, values)
|
| - self.assertIn(b_summary, values)
|
| -
|
| - def testListValue(self):
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| -
|
| - results.WillRunPage(page0)
|
| - v0 = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'b', 'seconds', [2, 2],
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v1 = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'b', 'seconds', [3, 3],
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page1)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - b_summary = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'b', 'seconds', [2, 2, 3, 3], std=0.0,
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(3, len(values))
|
| - self.assertIn(v0, values)
|
| - self.assertIn(v1, values)
|
| - self.assertIn(b_summary, values)
|
| -
|
| - def testHistogram(self):
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(page0)
|
| - v0 = histogram.HistogramValue(
|
| - page0, 'a', 'units',
|
| - raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}',
|
| - important=False, improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v1 = histogram.HistogramValue(
|
| - page1, 'a', 'units',
|
| - raw_value_json='{"buckets": [{"low": 2, "high": 3, "count": 1}]}',
|
| - important=False, improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page1)
|
| -
|
| - summary = summary_module.Summary(results.all_page_specific_values)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - self.assertEquals(2, len(values))
|
| - self.assertIn(v0, values)
|
| - self.assertIn(v1, values)
|
| -
|
| - def testSummaryUsesKeyFunc(self):
|
| - page0 = self.pages[0]
|
| - page1 = self.pages[1]
|
| -
|
| - results = page_test_results.PageTestResults()
|
| -
|
| - results.WillRunPage(page0)
|
| - v0 = scalar.ScalarValue(page0, 'a', 'seconds', 20,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| -
|
| - v1 = scalar.ScalarValue(page0, 'b', 'seconds', 42,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(page0)
|
| -
|
| - results.WillRunPage(page1)
|
| - v2 = scalar.ScalarValue(page1, 'a', 'seconds', 20,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v2)
|
| -
|
| - v3 = scalar.ScalarValue(page1, 'b', 'seconds', 42,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v3)
|
| - results.DidRunPage(page1)
|
| -
|
| - summary = summary_module.Summary(
|
| - results.all_page_specific_values,
|
| - key_func=lambda v: True)
|
| - values = summary.interleaved_computed_per_page_values_and_summaries
|
| -
|
| - v0_list = list_of_scalar_values.ListOfScalarValues(
|
| - page0, 'a', 'seconds', [20, 42],
|
| - improvement_direction=improvement_direction.UP)
|
| - v2_list = list_of_scalar_values.ListOfScalarValues(
|
| - page1, 'a', 'seconds', [20, 42],
|
| - improvement_direction=improvement_direction.UP)
|
| - merged_value = list_of_scalar_values.ListOfScalarValues(
|
| - None, 'a', 'seconds', [20, 42, 20, 42],
|
| - improvement_direction=improvement_direction.UP)
|
| -
|
| - self.assertEquals(3, len(values))
|
| - self.assertIn(v0_list, values)
|
| - self.assertIn(v2_list, values)
|
| - self.assertIn(merged_value, values)
|
|
|