| Index: tools/telemetry/telemetry/user_story/user_story_runner_unittest.py
|
| diff --git a/tools/telemetry/telemetry/user_story/user_story_runner_unittest.py b/tools/telemetry/telemetry/user_story/user_story_runner_unittest.py
|
| index cceaeed42f4ddbdb1752b0d88a03b34bd744543a..eed754fa2d1455df09d887446df3bc6546161ef9 100644
|
| --- a/tools/telemetry/telemetry/user_story/user_story_runner_unittest.py
|
| +++ b/tools/telemetry/telemetry/user_story/user_story_runner_unittest.py
|
| @@ -105,7 +105,7 @@ class DummyLocalUserStory(user_story.UserStory):
|
| def _GetOptionForUnittest():
|
| options = options_for_unittests.GetCopy()
|
| options.output_formats = ['none']
|
| - options.suppress_gtest_report = True
|
| + options.suppress_gtest_report = False
|
| parser = options.CreateParser()
|
| user_story_runner.AddCommandLineArgs(parser)
|
| options.MergeDefaultValues(parser.get_default_values())
|
| @@ -127,6 +127,9 @@ def GetNumberOfSuccessfulPageRuns(results):
|
| class UserStoryRunnerTest(unittest.TestCase):
|
|
|
| def setUp(self):
|
| + self.fake_stdout = StringIO.StringIO()
|
| + self.actual_stdout = sys.stdout
|
| + sys.stdout = self.fake_stdout
|
| self.options = _GetOptionForUnittest()
|
| self.expectations = test_expectations.TestExpectations()
|
| self.results = results_options.CreateResults(
|
| @@ -146,6 +149,7 @@ class UserStoryRunnerTest(unittest.TestCase):
|
| self._user_story_runner_logging_stub = None
|
|
|
| def tearDown(self):
|
| + sys.stdout = self.actual_stdout
|
| self.RestoreExceptionFormatter()
|
|
|
| def testGetUserStoryGroupsWithSameSharedUserStoryClass(self):
|
| @@ -237,21 +241,24 @@ class UserStoryRunnerTest(unittest.TestCase):
|
| us = user_story_set.UserStorySet()
|
| class SharedUserStoryThatCausesAppCrash(TestSharedPageState):
|
| def WillRunUserStory(self, user_storyz):
|
| - raise exceptions.AppCrashException()
|
| + raise exceptions.AppCrashException('App Foo crashes')
|
|
|
| us.AddUserStory(DummyLocalUserStory(SharedUserStoryThatCausesAppCrash))
|
| user_story_runner.Run(
|
| DummyTest(), us, self.expectations, self.options, self.results)
|
| self.assertEquals(1, len(self.results.failures))
|
| self.assertEquals(0, GetNumberOfSuccessfulPageRuns(self.results))
|
| + self.assertIn('App Foo crashes', self.fake_stdout.getvalue())
|
|
|
| def testUnknownExceptionIsFatal(self):
|
| self.SuppressExceptionFormatting()
|
| - us = user_story_set.UserStorySet()
|
| + uss = user_story_set.UserStorySet()
|
|
|
| class UnknownException(Exception):
|
| pass
|
|
|
| + # This erroneous test is set up to raise exception for the 2nd user story
|
| + # run.
|
| class Test(page_test.PageTest):
|
| def __init__(self, *args):
|
| super(Test, self).__init__(*args)
|
| @@ -260,18 +267,23 @@ class UserStoryRunnerTest(unittest.TestCase):
|
| def RunPage(self, *_):
|
| old_run_count = self.run_count
|
| self.run_count += 1
|
| - if old_run_count == 0:
|
| - raise UnknownException
|
| + if old_run_count == 1:
|
| + raise UnknownException('FooBarzException')
|
|
|
| def ValidateAndMeasurePage(self, page, tab, results):
|
| pass
|
|
|
| - us.AddUserStory(DummyLocalUserStory(TestSharedPageState))
|
| - us.AddUserStory(DummyLocalUserStory(TestSharedPageState))
|
| + us1 = DummyLocalUserStory(TestSharedPageState)
|
| + us2 = DummyLocalUserStory(TestSharedPageState)
|
| + uss.AddUserStory(us1)
|
| + uss.AddUserStory(us2)
|
| test = Test()
|
| with self.assertRaises(UnknownException):
|
| user_story_runner.Run(
|
| - test, us, self.expectations, self.options, self.results)
|
| + test, uss, self.expectations, self.options, self.results)
|
| + self.assertEqual(set([us2]), self.results.pages_that_failed)
|
| + self.assertEqual(set([us1]), self.results.pages_that_succeeded)
|
| + self.assertIn('FooBarzException', self.fake_stdout.getvalue())
|
|
|
| def testRaiseBrowserGoneExceptionFromRunPage(self):
|
| self.SuppressExceptionFormatting()
|
| @@ -415,23 +427,17 @@ class UserStoryRunnerTest(unittest.TestCase):
|
| self.options.page_repeat = 1
|
| self.options.pageset_repeat = 2
|
| self.options.output_formats = ['buildbot']
|
| - output = StringIO.StringIO()
|
| - real_stdout = sys.stdout
|
| - sys.stdout = output
|
| - try:
|
| - results = results_options.CreateResults(
|
| - EmptyMetadataForTest(), self.options)
|
| - user_story_runner.Run(
|
| - Measurement(), us, self.expectations, self.options, results)
|
| - results.PrintSummary()
|
| - contents = output.getvalue()
|
| - self.assertEquals(4, GetNumberOfSuccessfulPageRuns(results))
|
| - self.assertEquals(0, len(results.failures))
|
| - self.assertIn('RESULT metric: blank= [1,3] unit', contents)
|
| - self.assertIn('RESULT metric: green= [2,4] unit', contents)
|
| - self.assertIn('*RESULT metric: metric= [1,2,3,4] unit', contents)
|
| - finally:
|
| - sys.stdout = real_stdout
|
| + results = results_options.CreateResults(
|
| + EmptyMetadataForTest(), self.options)
|
| + user_story_runner.Run(
|
| + Measurement(), us, self.expectations, self.options, results)
|
| + results.PrintSummary()
|
| + contents = self.fake_stdout.getvalue()
|
| + self.assertEquals(4, GetNumberOfSuccessfulPageRuns(results))
|
| + self.assertEquals(0, len(results.failures))
|
| + self.assertIn('RESULT metric: blank= [1,3] unit', contents)
|
| + self.assertIn('RESULT metric: green= [2,4] unit', contents)
|
| + self.assertIn('*RESULT metric: metric= [1,2,3,4] unit', contents)
|
|
|
| def testUpdateAndCheckArchives(self):
|
| uss = user_story_set.UserStorySet()
|
|
|