1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4import os 5from telemetry.results import base_test_results_unittest 6 7from telemetry.page import page_set 8from telemetry.results import page_test_results 9 10class NonPrintingPageTestResults( 11 page_test_results.PageTestResults): 12 def __init__(self): 13 super(NonPrintingPageTestResults, self).__init__() 14 15 def _PrintPerfResult(self, *args): 16 pass 17 18class PageTestResultsTest(base_test_results_unittest.BaseTestResultsUnittest): 19 def setUp(self): 20 self.page_set = page_set.PageSet(file_path=os.path.dirname(__file__)) 21 self.page_set.AddPageWithDefaultRunNavigate("http://www.bar.com/") 22 self.page_set.AddPageWithDefaultRunNavigate("http://www.baz.com/") 23 self.page_set.AddPageWithDefaultRunNavigate("http://www.foo.com/") 24 25 @property 26 def pages(self): 27 return self.page_set.pages 28 29 def test_failures(self): 30 results = NonPrintingPageTestResults() 31 results.AddFailure(self.pages[0], self.CreateException()) 32 results.AddSuccess(self.pages[1]) 33 self.assertEquals(results.pages_that_had_failures, 34 set([self.pages[0]])) 35 self.assertEquals(results.successes, [self.pages[1]]) 36 37 def test_errors(self): 38 results = NonPrintingPageTestResults() 39 results.AddError(self.pages[0], self.CreateException()) 40 results.AddSuccess(self.pages[1]) 41 self.assertEquals(results.pages_that_had_errors, 42 set([self.pages[0]])) 43 self.assertEquals(results.successes, [self.pages[1]]) 44 45 def test_errors_and_failures(self): 46 results = NonPrintingPageTestResults() 47 results.AddError(self.pages[0], self.CreateException()) 48 results.AddError(self.pages[1], self.CreateException()) 49 results.AddSuccess(self.pages[2]) 50 self.assertEquals(results.pages_that_had_errors_or_failures, 51 set([self.pages[0], self.pages[1]])) 52 self.assertEquals(results.successes, [self.pages[2]]) 53