Commit dd3863f8 authored by nednguyen@google.com's avatar nednguyen@google.com

Remove page_measurement_results.

BUG=346956

Review URL: https://codereview.chromium.org/436453002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@287734 0039d316-1c4b-4281-b951-d872f2087c98
parent dfeed63c
......@@ -7,7 +7,7 @@ import unittest
from integration_tests import chrome_proxy_metrics as metrics
from integration_tests import network_metrics_unittest as network_unittest
from metrics import test_page_measurement_results
from metrics import test_page_test_results
# Timeline events used in tests.
......@@ -121,7 +121,7 @@ class ChromeProxyMetricTest(unittest.TestCase):
metric.SetEvents(events)
self.assertTrue(len(events), len(list(metric.IterResponses(None))))
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
metric.AddResultsForDataSaving(None, results)
results.AssertHasPageSpecificScalarValue('resources_via_proxy', 'count', 2)
......@@ -136,7 +136,7 @@ class ChromeProxyMetricTest(unittest.TestCase):
EVENT_IMAGE_PROXY_CACHED,
EVENT_IMAGE_DIRECT])
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
missing_via_exception = False
try:
......@@ -160,7 +160,7 @@ class ChromeProxyMetricTest(unittest.TestCase):
EVENT_HTML_PROXY_DEPRECATED_VIA,
EVENT_IMAGE_PROXY_CACHED,
EVENT_IMAGE_DIRECT])
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
bypass_exception = False
try:
......@@ -180,7 +180,7 @@ class ChromeProxyMetricTest(unittest.TestCase):
metric.SetEvents([
EVENT_HTML_PROXY,
EVENT_HTML_PROXY_DEPRECATED_VIA])
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
fallback_exception = False
info = {}
......@@ -216,13 +216,13 @@ class ChromeProxyMetricTest(unittest.TestCase):
def testChromeProxyMetricForSafebrowsing(self):
metric = metrics.ChromeProxyMetric()
metric.SetEvents([EVENT_MALWARE_PROXY])
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
metric.AddResultsForSafebrowsing(None, results)
results.AssertHasPageSpecificScalarValue('safebrowsing', 'boolean', True)
# Clear results and metrics to test no response for safebrowsing
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
metric.SetEvents([])
metric.AddResultsForSafebrowsing(None, results)
results.AssertHasPageSpecificScalarValue('safebrowsing', 'boolean', True)
......@@ -6,7 +6,7 @@ import base64
import unittest
from integration_tests import network_metrics
from metrics import test_page_measurement_results
from metrics import test_page_test_results
from telemetry.timeline import event
......@@ -159,7 +159,7 @@ class NetworkMetricTest(unittest.TestCase):
metric.compute_data_saving = True
self.assertTrue(len(events), len(list(metric.IterResponses(None))))
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
metric.AddResults(None, results)
cl = len(HTML_BODY) + GZIPPED_HTML_LEN + len(IMAGE_BODY)
......
......@@ -6,7 +6,7 @@ import unittest
from telemetry.core import browser_options
from telemetry.page import page_runner
from telemetry.results import page_measurement_results
from telemetry.results import page_test_results
from telemetry.unittest import simple_mock
from measurements import page_cycler
......@@ -142,7 +142,7 @@ class PageCyclerUnitTest(unittest.TestCase):
tab = FakeTab()
for i in range(5):
results = page_measurement_results.PageMeasurementResults()
results = page_test_results.PageTestResults()
results.WillRunPage(page)
cycler.WillNavigateToPage(page, tab)
self.assertEqual(max(0, i - 2), tab.clear_cache_calls,
......@@ -167,7 +167,7 @@ class PageCyclerUnitTest(unittest.TestCase):
tab = FakeTab()
for i in range(3):
for page in pages:
results = page_measurement_results.PageMeasurementResults()
results = page_test_results.PageTestResults()
results.WillRunPage(page)
cycler.WillNavigateToPage(page, tab)
cycler.MeasurePage(page, tab, results)
......@@ -192,7 +192,7 @@ class PageCyclerUnitTest(unittest.TestCase):
for i in range(2):
for page in pages:
results = page_measurement_results.PageMeasurementResults()
results = page_test_results.PageTestResults()
results.WillRunPage(page)
cycler.WillNavigateToPage(page, tab)
cycler.MeasurePage(page, tab, results)
......
......@@ -35,7 +35,7 @@ class Metric(object):
"""Add the data collected into the results object for a measurement.
Metrics may implement AddResults to provide a common way to add results
to the PageMeasurementResults in PageMeasurement.AddMeasurement --
to the PageTestResults in PageMeasurement.AddMeasurement --
results should be added with results.AddValue(...).
"""
raise NotImplementedError()
......@@ -3,14 +3,14 @@
# found in the LICENSE file.
from telemetry.page import page as page_module
from telemetry.results import page_measurement_results
from telemetry.results import page_test_results
from telemetry.value import scalar
class TestPageMeasurementResults(
page_measurement_results.PageMeasurementResults):
class TestPageTestResults(
page_test_results.PageTestResults):
def __init__(self, test):
super(TestPageMeasurementResults, self).__init__()
super(TestPageTestResults, self).__init__()
self.test = test
page = page_module.Page("http://www.google.com", {})
self.WillRunPage(page)
......
......@@ -4,7 +4,7 @@
import unittest
from metrics import test_page_measurement_results
from metrics import test_page_test_results
from metrics import timeline
from telemetry.timeline import model as model_module
from telemetry.web_perf import timeline_interaction_record as tir_module
......@@ -15,7 +15,7 @@ def _GetInteractionRecord(start, end):
class LoadTimesTimelineMetric(unittest.TestCase):
def GetResults(self, metric, model, renderer_thread, interaction_records):
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
metric.AddResults(model, renderer_thread, interaction_records, results)
return results
......@@ -90,7 +90,7 @@ class LoadTimesTimelineMetric(unittest.TestCase):
class ThreadTimesTimelineMetricUnittest(unittest.TestCase):
def GetResults(self, metric, model, renderer_thread, interaction_record):
results = test_page_measurement_results.TestPageMeasurementResults(self)
results = test_page_test_results.TestPageTestResults(self)
metric.AddResults(model, renderer_thread, interaction_record,
results)
return results
......
......@@ -16,7 +16,7 @@ from telemetry.page import page_set
from telemetry.page import page_test
from telemetry.page import profile_creator
from telemetry.page import test_expectations
from telemetry.results import page_measurement_results
from telemetry.results import page_test_results
from telemetry.results import results_options
......@@ -63,9 +63,9 @@ class RecorderPageTest(page_test.PageTest): # pylint: disable=W0223
time.sleep(3)
# When running record_wpr, results is a GTestTestResults, so we create a
# dummy PageMeasurementResults that implements the functions we use.
# dummy PageTestResults that implements the functions we use.
# TODO(chrishenry): Fix the need for a dummy_results object.
dummy_results = page_measurement_results.PageMeasurementResults()
dummy_results = page_test_results.PageTestResults()
if self.page_test:
self._action_name_to_run = self.page_test.action_name_to_run
......
# 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.
from telemetry.results import page_test_results
class PageMeasurementResults(page_test_results.PageTestResults):
def __init__(self, output_stream=None, trace_tag=''):
super(PageMeasurementResults, self).__init__(output_stream, trace_tag)
self._trace_tag = trace_tag
# 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 perf_tests_helper
from telemetry.page import page_set
from telemetry.results import page_measurement_results
from telemetry.value import failure
from telemetry.value import histogram
from telemetry.value import scalar
def _MakePageSet():
ps = page_set.PageSet(file_path=os.path.dirname(__file__))
ps.AddPageWithDefaultRunNavigate("http://www.bar.com/")
ps.AddPageWithDefaultRunNavigate("http://www.baz.com/")
ps.AddPageWithDefaultRunNavigate("http://www.foo.com/")
return ps
class NonPrintingPageMeasurementResults(
page_measurement_results.PageMeasurementResults):
def __init__(self):
super(NonPrintingPageMeasurementResults, self).__init__()
def _PrintPerfResult(self, *args):
pass
class SummarySavingPageMeasurementResults(
page_measurement_results.PageMeasurementResults):
def __init__(self):
super(SummarySavingPageMeasurementResults, self).__init__()
self.results = []
def _PrintPerfResult(self, *args):
res = perf_tests_helper.PrintPerfResult(*args, print_to_stdout=False)
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):
results = NonPrintingPageMeasurementResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
results.AddValue(scalar.ScalarValue(self.pages[1], 'a', '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.FindAllPageSpecificValuesNamed('a')
assert len(values) == 2
def test_url_is_invalid_value(self):
results = NonPrintingPageMeasurementResults()
results.WillRunPage(self.pages[0])
self.assertRaises(
AssertionError,
lambda: results.AddValue(scalar.ScalarValue(
self.pages[0], 'url', 'string', 'foo')))
def test_add_summary_value_with_page_specified(self):
results = NonPrintingPageMeasurementResults()
results.WillRunPage(self.pages[0])
self.assertRaises(
AssertionError,
lambda: results.AddSummaryValue(scalar.ScalarValue(self.pages[0],
'a', 'units', 3)))
def test_unit_change(self):
results = NonPrintingPageMeasurementResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
self.assertRaises(
AssertionError,
lambda: results.AddValue(scalar.ScalarValue(
self.pages[1], 'a', 'foobgrobbers', 3)))
def test_type_change(self):
results = NonPrintingPageMeasurementResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
self.assertRaises(
AssertionError,
lambda: results.AddValue(histogram.HistogramValue(
self.pages[1], 'a', 'seconds',
raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}')))
def test_basic_summary_all_pages_fail(self):
"""If all pages fail, no summary is printed."""
results = SummarySavingPageMeasurementResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.AddValue(failure.FailureValue.FromMessage(self.pages[0], 'message'))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 7))
results.AddValue(failure.FailureValue.FromMessage(self.pages[1], 'message'))
results.DidRunPage(self.pages[1])
results.PrintSummary()
self.assertEquals(results.results, [])
def test_get_successful_page_values_merged_no_failures(self):
results = SummarySavingPageMeasurementResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
self.assertEquals(1, len(results.all_page_specific_values))
results.DidRunPage(self.pages[0])
def test_get_all_values_for_successful_pages(self):
results = SummarySavingPageMeasurementResults()
results.WillRunPage(self.pages[0])
value1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)
results.AddValue(value1)
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
value2 = scalar.ScalarValue(self.pages[1], 'a', 'seconds', 3)
results.AddValue(value2)
results.DidRunPage(self.pages[1])
results.WillRunPage(self.pages[2])
value3 = scalar.ScalarValue(self.pages[2], 'a', 'seconds', 3)
results.AddValue(value3)
results.DidRunPage(self.pages[2])
self.assertEquals(
[value1, value2, value3], results.all_page_specific_values)
def test_get_all_values_for_successful_pages_one_page_fails(self):
results = SummarySavingPageMeasurementResults()
results.WillRunPage(self.pages[0])
value1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)
results.AddValue(value1)
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
value2 = failure.FailureValue.FromMessage(self.pages[1], 'Failure')
results.AddValue(value2)
results.DidRunPage(self.pages[1])
results.WillRunPage(self.pages[2])
value3 = scalar.ScalarValue(self.pages[2], 'a', 'seconds', 3)
results.AddValue(value3)
results.DidRunPage(self.pages[2])
self.assertEquals(
[value1, value2, value3], results.all_page_specific_values)
......@@ -9,13 +9,9 @@ from telemetry.results import base_test_results_unittest
from telemetry.results import page_test_results
from telemetry.value import failure
from telemetry.value import skip
from telemetry.value import histogram
from telemetry.value import scalar
class NonPrintingPageTestResults(page_test_results.PageTestResults):
def __init__(self):
super(NonPrintingPageTestResults, self).__init__()
def _PrintPerfResult(self, *args):
pass
class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
def setUp(self):
......@@ -29,7 +25,7 @@ class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
return self.page_set.pages
def testFailures(self):
results = NonPrintingPageTestResults()
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
results.AddValue(
failure.FailureValue(self.pages[0], self.CreateException()))
......@@ -46,7 +42,7 @@ class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
self.assertTrue(results.all_page_runs[1].ok)
def testSkips(self):
results = NonPrintingPageTestResults()
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
results.AddValue(skip.SkipValue(self.pages[0], 'testing reason'))
results.DidRunPage(self.pages[0])
......@@ -62,3 +58,127 @@ class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
self.assertEqual(2, len(results.all_page_runs))
self.assertTrue(results.all_page_runs[0].skipped)
self.assertTrue(results.all_page_runs[1].ok)
def test_basic(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
results.AddValue(scalar.ScalarValue(self.pages[1], 'a', '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.FindAllPageSpecificValuesNamed('a')
assert len(values) == 2
def test_url_is_invalid_value(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
self.assertRaises(
AssertionError,
lambda: results.AddValue(scalar.ScalarValue(
self.pages[0], 'url', 'string', 'foo')))
def test_add_summary_value_with_page_specified(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
self.assertRaises(
AssertionError,
lambda: results.AddSummaryValue(scalar.ScalarValue(self.pages[0],
'a', 'units', 3)))
def test_unit_change(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
self.assertRaises(
AssertionError,
lambda: results.AddValue(scalar.ScalarValue(
self.pages[1], 'a', 'foobgrobbers', 3)))
def test_type_change(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
self.assertRaises(
AssertionError,
lambda: results.AddValue(histogram.HistogramValue(
self.pages[1], 'a', 'seconds',
raw_value_json='{"buckets": [{"low": 1, "high": 2, "count": 1}]}')))
def test_get_pages_that_succeeded_all_pages_fail(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
results.AddValue(failure.FailureValue.FromMessage(self.pages[0], 'message'))
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
results.AddValue(scalar.ScalarValue(self.pages[1], 'a', 'seconds', 7))
results.AddValue(failure.FailureValue.FromMessage(self.pages[1], 'message'))
results.DidRunPage(self.pages[1])
results.PrintSummary()
self.assertEquals(0, len(results.pages_that_succeeded))
def test_get_successful_page_values_merged_no_failures(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
results.AddValue(scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3))
self.assertEquals(1, len(results.all_page_specific_values))
results.DidRunPage(self.pages[0])
def test_get_all_values_for_successful_pages(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
value1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)
results.AddValue(value1)
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
value2 = scalar.ScalarValue(self.pages[1], 'a', 'seconds', 3)
results.AddValue(value2)
results.DidRunPage(self.pages[1])
results.WillRunPage(self.pages[2])
value3 = scalar.ScalarValue(self.pages[2], 'a', 'seconds', 3)
results.AddValue(value3)
results.DidRunPage(self.pages[2])
self.assertEquals(
[value1, value2, value3], results.all_page_specific_values)
def test_get_all_values_for_successful_pages_one_page_fails(self):
results = page_test_results.PageTestResults()
results.WillRunPage(self.pages[0])
value1 = scalar.ScalarValue(self.pages[0], 'a', 'seconds', 3)
results.AddValue(value1)
results.DidRunPage(self.pages[0])
results.WillRunPage(self.pages[1])
value2 = failure.FailureValue.FromMessage(self.pages[1], 'Failure')
results.AddValue(value2)
results.DidRunPage(self.pages[1])
results.WillRunPage(self.pages[2])
value3 = scalar.ScalarValue(self.pages[2], 'a', 'seconds', 3)
results.AddValue(value3)
results.DidRunPage(self.pages[2])
self.assertEquals(
[value1, value2, value3], results.all_page_specific_values)
......@@ -9,7 +9,7 @@ import unittest
from telemetry.web_perf.metrics import fast_metric
from telemetry.timeline import model as model_module
from telemetry.timeline import async_slice
from telemetry.results import page_measurement_results
from telemetry.results import page_test_results
from telemetry.web_perf import timeline_interaction_record as tir_module
......@@ -40,7 +40,7 @@ class RendererThreadHelper(object):
interaction_records = [
tir_module.TimelineInteractionRecord.FromAsyncEvent(s)
for s in self._async_slices]
results = page_measurement_results.PageMeasurementResults()
results = page_test_results.PageTestResults()
fake_page = None
results.WillRunPage(fake_page)
metric.AddResults(self._model, self._renderer_thread, interaction_records,
......
......@@ -11,7 +11,7 @@ from telemetry.page import page as page_module
from telemetry.page import page_measurement_unittest_base
from telemetry.page import page_set
from telemetry.page import page as page_module
from telemetry.results import page_measurement_results
from telemetry.results import page_test_results
from telemetry.timeline import async_slice
from telemetry.timeline import model as model_module
from telemetry.unittest import options_for_unittests
......@@ -68,7 +68,7 @@ class TimelineBasedMetricTestData(object):
renderer_process = self._model.GetOrCreateProcess(1)
self._renderer_thread = renderer_process.GetOrCreateThread(2)
self._renderer_thread.name = 'CrRendererMain'
self._results = page_measurement_results.PageMeasurementResults()
self._results = page_test_results.PageTestResults()
self._metric = None
self._ps = None
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment