blob: 01aed88c0f2117a8c10f77972653c1a89fbb4a83 [file] [log] [blame]
# Copyright 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(file_path=os.path.dirname(__file__))
self.page_set.AddPageWithDefaultRunNavigate("http://www.bar.com/")
self.page_set.AddPageWithDefaultRunNavigate("http://www.baz.com/")
self.page_set.AddPageWithDefaultRunNavigate("http://www.foo.com/")
@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])