| Index: tools/telemetry/telemetry/internal/results/page_test_results_unittest.py
|
| diff --git a/tools/telemetry/telemetry/internal/results/page_test_results_unittest.py b/tools/telemetry/telemetry/internal/results/page_test_results_unittest.py
|
| deleted file mode 100644
|
| index b5b543d75830de02ecb0a7bfe907eb936842b62a..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/internal/results/page_test_results_unittest.py
|
| +++ /dev/null
|
| @@ -1,427 +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 base_test_results_unittest
|
| -from telemetry.internal.results import page_test_results
|
| -from telemetry import page as page_module
|
| -from telemetry.timeline import trace_data
|
| -from telemetry.value import failure
|
| -from telemetry.value import histogram
|
| -from telemetry.value import improvement_direction
|
| -from telemetry.value import scalar
|
| -from telemetry.value import skip
|
| -from telemetry.value import trace
|
| -
|
| -class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest):
|
| - 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
|
| -
|
| - def testFailures(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(
|
| - failure.FailureValue(self.pages[0], self.CreateException()))
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - self.assertEqual(set([self.pages[0]]), results.pages_that_failed)
|
| - self.assertEqual(set([self.pages[1]]), results.pages_that_succeeded)
|
| -
|
| - self.assertEqual(2, len(results.all_page_runs))
|
| - 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])
|
| - results.AddValue(skip.SkipValue(self.pages[0], 'testing reason'))
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - self.assertTrue(results.all_page_runs[0].skipped)
|
| - self.assertEqual(self.pages[0], results.all_page_runs[0].story)
|
| - self.assertEqual(set([self.pages[0], self.pages[1]]),
|
| - results.pages_that_succeeded)
|
| -
|
| - 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 testBasic(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - 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 testUrlIsInvalidValue(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',
|
| - improvement_direction=improvement_direction.UP)))
|
| -
|
| - def testAddSummaryValueWithPageSpecified(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,
|
| - improvement_direction=improvement_direction.UP)))
|
| -
|
| - def testUnitChange(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - self.assertRaises(
|
| - AssertionError,
|
| - lambda: results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'a', 'foobgrobbers', 3,
|
| - improvement_direction=improvement_direction.UP)))
|
| -
|
| - def testTypeChange(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - 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}]}',
|
| - improvement_direction=improvement_direction.UP)))
|
| -
|
| - def testGetPagesThatSucceededAllPagesFail(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - 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,
|
| - improvement_direction=improvement_direction.UP))
|
| - 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 testGetSuccessfulPageValuesMergedNoFailures(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - self.assertEquals(1, len(results.all_page_specific_values))
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - def testGetAllValuesForSuccessfulPages(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - value1 = scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(value1)
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - value2 = scalar.ScalarValue(
|
| - self.pages[1], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(value2)
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - results.WillRunPage(self.pages[2])
|
| - value3 = scalar.ScalarValue(
|
| - self.pages[2], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(value3)
|
| - results.DidRunPage(self.pages[2])
|
| -
|
| - self.assertEquals(
|
| - [value1, value2, value3], results.all_page_specific_values)
|
| -
|
| - def testGetAllValuesForSuccessfulPagesOnePageFails(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - value1 = scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - 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,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(value3)
|
| - results.DidRunPage(self.pages[2])
|
| -
|
| - self.assertEquals(
|
| - [value1, value2, value3], results.all_page_specific_values)
|
| -
|
| - def testFindValues(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - v0 = scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - v1 = scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 4,
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - values = results.FindValues(lambda v: v.value == 3)
|
| - self.assertEquals([v0], values)
|
| -
|
| - def testValueWithTIRLabel(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - v0 = scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3, tir_label='foo',
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v0)
|
| - v1 = scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3, tir_label='bar',
|
| - improvement_direction=improvement_direction.UP)
|
| - results.AddValue(v1)
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - values = results.FindAllPageSpecificValuesFromIRNamed('foo', 'a')
|
| - self.assertEquals([v0], values)
|
| -
|
| - def testTraceValue(self):
|
| - results = page_test_results.PageTestResults()
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(trace.TraceValue(None, trace_data.TraceData({'test' : 1})))
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - results.AddValue(trace.TraceValue(None, trace_data.TraceData({'test' : 2})))
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - results.PrintSummary()
|
| -
|
| - values = results.FindAllTraceValues()
|
| - self.assertEquals(2, len(values))
|
| -
|
| - def testCleanUpCleansUpTraceValues(self):
|
| - results = page_test_results.PageTestResults()
|
| - v0 = trace.TraceValue(None, trace_data.TraceData({'test': 1}))
|
| - v1 = trace.TraceValue(None, trace_data.TraceData({'test': 2}))
|
| -
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(v0)
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - results.AddValue(v1)
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - results.CleanUp()
|
| - self.assertTrue(v0.cleaned_up)
|
| - self.assertTrue(v1.cleaned_up)
|
| -
|
| - def testNoTracesLeftAfterCleanUp(self):
|
| - results = page_test_results.PageTestResults()
|
| - v0 = trace.TraceValue(None, trace_data.TraceData({'test': 1}))
|
| - v1 = trace.TraceValue(None, trace_data.TraceData({'test': 2}))
|
| -
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(v0)
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - results.AddValue(v1)
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - results.CleanUp()
|
| - self.assertFalse(results.FindAllTraceValues())
|
| -
|
| -
|
| -class PageTestResultsFilterTest(unittest.TestCase):
|
| - def setUp(self):
|
| - story_set = story.StorySet(base_dir=os.path.dirname(__file__))
|
| - story_set.AddStory(
|
| - page_module.Page('http://www.foo.com/', story_set, story_set.base_dir))
|
| - story_set.AddStory(
|
| - page_module.Page('http://www.bar.com/', story_set, story_set.base_dir))
|
| - self.story_set = story_set
|
| -
|
| - @property
|
| - def pages(self):
|
| - return self.story_set.stories
|
| -
|
| - 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,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'b', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.DidRunPage(self.pages[0])
|
| -
|
| - results.WillRunPage(self.pages[1])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'd', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - 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,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'b', 'seconds', 8,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.DidRunPage(self.pages[0])
|
| - results.WillRunPage(self.pages[1])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'a', 'seconds', 5,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'd', 'seconds', 6,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.DidRunPage(self.pages[1])
|
| -
|
| - # Second results
|
| - results.WillRunPage(self.pages[0])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'a', 'seconds', 3,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'b', 'seconds', 4,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.DidRunPage(self.pages[0])
|
| - results.WillRunPage(self.pages[1])
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'a', 'seconds', 1,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[1], 'd', 'seconds', 2,
|
| - improvement_direction=improvement_direction.UP))
|
| - 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)
|
| -
|
| - def testFailureValueCannotBeFiltered(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], 'b', 'seconds', 8,
|
| - improvement_direction=improvement_direction.UP))
|
| - failure_value = failure.FailureValue.FromMessage(self.pages[0], 'failure')
|
| - results.AddValue(failure_value)
|
| - results.DidRunPage(self.pages[0])
|
| - results.PrintSummary()
|
| -
|
| - # Although predicate says only accept values named 'a', the failure value is
|
| - # added anyway.
|
| - self.assertEquals(len(results.all_page_specific_values), 1)
|
| - self.assertIn(failure_value, results.all_page_specific_values)
|
| -
|
| - def testSkipValueCannotBeFiltered(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])
|
| - skip_value = skip.SkipValue(self.pages[0], 'skip for testing')
|
| - results.AddValue(scalar.ScalarValue(
|
| - self.pages[0], 'b', 'seconds', 8,
|
| - improvement_direction=improvement_direction.UP))
|
| - results.AddValue(skip_value)
|
| - results.DidRunPage(self.pages[0])
|
| - results.PrintSummary()
|
| -
|
| - # Although predicate says only accept value with named 'a', skip value is
|
| - # added anyway.
|
| - self.assertEquals(len(results.all_page_specific_values), 1)
|
| - self.assertIn(skip_value, results.all_page_specific_values)
|
|
|