| Index: tools/telemetry/telemetry/page/page_test_results_unittest.py
|
| diff --git a/tools/telemetry/telemetry/page/page_test_results_unittest.py b/tools/telemetry/telemetry/page/page_test_results_unittest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..03a9526f4adadf82f8554ed7d0fcd81d72d8d586
|
| --- /dev/null
|
| +++ b/tools/telemetry/telemetry/page/page_test_results_unittest.py
|
| @@ -0,0 +1,67 @@
|
| +# Copyright (c) 2013 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 sys
|
| +import unittest
|
| +
|
| +from telemetry.page import page_test_results
|
| +from telemetry.page import page_set
|
| +
|
| +class NonPrintingPageTestResults(
|
| + page_test_results.PageTestResults):
|
| + def __init__(self):
|
| + super(NonPrintingPageTestResults, self).__init__()
|
| +
|
| + def _PrintPerfResult(self, *args):
|
| + pass
|
| +
|
| +class PageTestResultsTest(unittest.TestCase):
|
| + def setUp(self):
|
| + self.page_set = page_set.PageSet.FromDict({
|
| + "description": "hello",
|
| + "archive_path": "foo.wpr",
|
| + "pages": [
|
| + {"url": "http://www.bar.com/"},
|
| + {"url": "http://www.baz.com/"},
|
| + {"url": "http://www.foo.com/"}
|
| + ]
|
| + }, os.path.dirname(__file__))
|
| +
|
| + @property
|
| + def pages(self):
|
| + return self.page_set.pages
|
| +
|
| + def CreateException(self):
|
| + try:
|
| + raise Exception('Intentional exception')
|
| + except Exception:
|
| + return sys.exc_info()
|
| +
|
| + def test_failures(self):
|
| + results = NonPrintingPageTestResults()
|
| + results.AddFailure(self.pages[0], self.CreateException())
|
| + results.AddSuccess(self.pages[1])
|
| + self.assertEquals(results.pages_that_had_failures,
|
| + set([self.pages[0]]))
|
| + self.assertEquals(results.successes,
|
| + [self.pages[1].display_name])
|
| +
|
| + def test_errors(self):
|
| + results = NonPrintingPageTestResults()
|
| + results.AddError(self.pages[0], self.CreateException())
|
| + results.AddSuccess(self.pages[1])
|
| + self.assertEquals(results.pages_that_had_errors,
|
| + set([self.pages[0]]))
|
| + self.assertEquals(results.successes,
|
| + [self.pages[1].display_name])
|
| +
|
| + def test_errors_and_failures(self):
|
| + results = NonPrintingPageTestResults()
|
| + results.AddError(self.pages[0], self.CreateException())
|
| + results.AddError(self.pages[1], self.CreateException())
|
| + results.AddSuccess(self.pages[2])
|
| + self.assertEquals(results.pages_that_had_errors_or_failures,
|
| + set([self.pages[0], self.pages[1]]))
|
| + self.assertEquals(results.successes,
|
| + [self.pages[2].display_name])
|
|
|