| 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 51bd95c31f811a0214032c2f5d5f3bb80f524e27..966c20949c29709f8d0f45761c9dd0c93e4a50e5 100644
|
| --- a/tools/telemetry/telemetry/page/page_runner_unittest.py
|
| +++ b/tools/telemetry/telemetry/page/page_runner_unittest.py
|
| @@ -155,6 +155,67 @@ class PageRunnerTests(unittest.TestCase):
|
| self.assertEquals(1, len(GetSuccessfulPageRuns(results)))
|
| self.assertEquals(1, len(results.failures))
|
|
|
| + def testRaiseBrowserGoneExceptionFromValidatePage(self):
|
| + self.SuppressExceptionFormatting()
|
| + ps = page_set.PageSet()
|
| + expectations = test_expectations.TestExpectations()
|
| + ps.pages.append(page_module.Page(
|
| + 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()))
|
| + ps.pages.append(page_module.Page(
|
| + 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()))
|
| +
|
| + class Test(page_test.PageTest):
|
| + def __init__(self, *args):
|
| + super(Test, self).__init__(*args)
|
| + self.run_count = 0
|
| + def ValidatePage(self, *_):
|
| + old_run_count = self.run_count
|
| + self.run_count += 1
|
| + if old_run_count == 0:
|
| + raise exceptions.BrowserGoneException()
|
| +
|
| + options = options_for_unittests.GetCopy()
|
| + options.output_formats = ['none']
|
| + options.suppress_gtest_report = True
|
| + test = Test()
|
| + SetUpPageRunnerArguments(options)
|
| + results = results_options.CreateResults(EmptyMetadataForTest(), options)
|
| + page_runner.Run(test, ps, expectations, options, results)
|
| + self.assertEquals(2, test.run_count)
|
| + self.assertEquals(1, len(GetSuccessfulPageRuns(results)))
|
| + self.assertEquals(1, len(results.failures))
|
| +
|
| + def testRaiseBrowserGoneExceptionFromRestartBrowserBeforeEachPage(self):
|
| + self.SuppressExceptionFormatting()
|
| + ps = page_set.PageSet()
|
| + expectations = test_expectations.TestExpectations()
|
| + ps.pages.append(page_module.Page(
|
| + 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()))
|
| + ps.pages.append(page_module.Page(
|
| + 'file://blank.html', ps, base_dir=util.GetUnittestDataDir()))
|
| +
|
| + class Test(page_test.PageTest):
|
| + def __init__(self, *args):
|
| + super(Test, self).__init__(*args)
|
| + self.run_count = 0
|
| + def RestartBrowserBeforeEachPage(self):
|
| + old_run_count = self.run_count
|
| + self.run_count += 1
|
| + if old_run_count == 0:
|
| + raise exceptions.BrowserGoneException(None)
|
| + return self._needs_browser_restart_after_each_page
|
| +
|
| + options = options_for_unittests.GetCopy()
|
| + options.output_formats = ['none']
|
| + options.suppress_gtest_report = True
|
| + test = Test()
|
| + SetUpPageRunnerArguments(options)
|
| + results = results_options.CreateResults(EmptyMetadataForTest(), options)
|
| + page_runner.Run(test, ps, expectations, options, results)
|
| + self.assertEquals(2, test.run_count)
|
| + self.assertEquals(1, len(GetSuccessfulPageRuns(results)))
|
| + self.assertEquals(1, len(results.failures))
|
| +
|
| def testHandlingOfCrashedTabWithExpectedFailure(self):
|
| self.SuppressExceptionFormatting()
|
| ps = page_set.PageSet()
|
|
|