Index: tools/telemetry/telemetry/page/page_runner_unittest.py |
diff --git a/tools/telemetry/telemetry/page/page_runner_unittest.py b/tools/telemetry/telemetry/page/page_runner_unittest.py |
index 5797c75e4984366e75f21a801349485719004301..12384270bdbd94715f6848d8e353c242d2cfbacb 100644 |
--- a/tools/telemetry/telemetry/page/page_runner_unittest.py |
+++ b/tools/telemetry/telemetry/page/page_runner_unittest.py |
@@ -76,8 +76,7 @@ class PageRunnerTests(unittest.TestCase): |
SetUpPageRunnerArguments(options) |
results = page_runner.Run(Test(), ps, expectations, options) |
self.assertEquals(0, len(results.successes)) |
- self.assertEquals(0, len(results.failures)) |
- self.assertEquals(1, len(results.errors)) |
+ self.assertEquals(1, len(results.failures)) |
def testHandlingOfTestThatRaisesWithNonFatalUnknownExceptions(self): |
ps = page_set.PageSet() |
@@ -127,7 +126,6 @@ class PageRunnerTests(unittest.TestCase): |
Test(), ps, expectations, options) |
self.assertEquals(1, len(results.successes)) |
self.assertEquals(0, len(results.failures)) |
- self.assertEquals(0, len(results.errors)) |
def testRetryOnBrowserCrash(self): |
ps = page_set.PageSet() |
@@ -150,7 +148,6 @@ class PageRunnerTests(unittest.TestCase): |
self.assertEquals(1, len(results.successes)) |
self.assertEquals(0, len(results.failures)) |
- self.assertEquals(0, len(results.errors)) |
@decorators.Disabled('xp') # Flaky, http://crbug.com/390079. |
def testDiscardFirstResult(self): |
@@ -476,7 +473,6 @@ class PageRunnerTests(unittest.TestCase): |
self.assertFalse(test.will_navigate_to_page_called) |
self.assertEquals(0, len(results.successes)) |
self.assertEquals(0, len(results.failures)) |
- self.assertEquals(0, len(results.errors)) |
def TestUseLiveSitesFlag(self, options, expect_from_archive): |
ps = page_set.PageSet( |
@@ -521,3 +517,50 @@ class PageRunnerTests(unittest.TestCase): |
options.output_format = 'none' |
SetUpPageRunnerArguments(options) |
self.TestUseLiveSitesFlag(options, expect_from_archive=True) |
+ |
+ def testMaxFailuresOptionIsRespected(self): |
+ class TestPage(page_module.Page): |
+ def __init__(self, *args, **kwargs): |
+ super(TestPage, self).__init__(*args, **kwargs) |
+ self.was_run = False |
+ |
+ def RunNavigateSteps(self, action_runner): |
+ self.was_run = True |
+ raise Exception('Test exception') |
+ |
+ class Test(page_test.PageTest): |
+ def ValidatePage(self, *args): |
+ pass |
+ |
+ ps = page_set.PageSet() |
+ expectations = test_expectations.TestExpectations() |
+ page1 = TestPage( |
+ 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()) |
+ ps.pages.append(page1) |
+ page2 = TestPage( |
+ 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()) |
+ ps.pages.append(page2) |
+ page3 = TestPage( |
+ 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()) |
+ ps.pages.append(page3) |
+ page4 = TestPage( |
+ 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()) |
+ ps.pages.append(page4) |
+ page5 = TestPage( |
+ 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()) |
+ ps.pages.append(page5) |
+ |
+ options = options_for_unittests.GetCopy() |
+ options.output_format = 'none' |
+ SetUpPageRunnerArguments(options) |
+ results = page_runner.Run(Test(max_failures=2), ps, expectations, options) |
+ self.assertEquals(0, len(results.successes)) |
+ # Runs up to max_failures+1 failing tests before stopping, since |
+ # every tests after max_failures failures have been encountered |
+ # may all be passing. |
+ self.assertEquals(3, len(results.failures)) |
+ self.assertTrue(page1.was_run) |
+ self.assertTrue(page2.was_run) |
+ self.assertTrue(page3.was_run) |
+ self.assertFalse(page4.was_run) |
+ self.assertFalse(page5.was_run) |