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 49704db124ed7cf6540c668138f886b191f3b70c..e58a6197ebd1c4e8b26a1b5a806de24c0b51d7a3 100644 |
--- a/tools/telemetry/telemetry/user_story/user_story_runner_unittest.py |
+++ b/tools/telemetry/telemetry/user_story/user_story_runner_unittest.py |
@@ -3,23 +3,16 @@ |
# found in the LICENSE file. |
import unittest |
-import StringIO |
-import sys |
from telemetry import benchmark |
from telemetry import user_story |
-from telemetry.core import exceptions |
from telemetry.page import page_test |
from telemetry.page import test_expectations |
from telemetry.results import results_options |
from telemetry.unittest_util import options_for_unittests |
-from telemetry.unittest_util import system_stub |
from telemetry.user_story import shared_user_story_state |
from telemetry.user_story import user_story_runner |
from telemetry.user_story import user_story_set |
-from telemetry.util import exception_formatter as exception_formatter_module |
-from telemetry.value import scalar |
-from telemetry.value import string |
class FakePlatform(object): |
@@ -38,22 +31,19 @@ |
def __init__(self, test, options, user_story_setz): |
super(TestSharedUserStoryState, self).__init__( |
test, options, user_story_setz) |
- self._test = test |
- self._current_user_story = None |
@property |
def platform(self): |
return self._platform |
def WillRunUserStory(self, user_storyz): |
- self._current_user_story = user_storyz |
+ pass |
def GetTestExpectationAndSkipValue(self, expectations): |
return 'pass', None |
def RunUserStory(self, results): |
- self._test.RunPage(self._current_user_story, None, results) |
- |
+ pass |
def DidRunUserStory(self, results): |
pass |
@@ -71,7 +61,7 @@ |
class DummyTest(page_test.PageTest): |
- def RunPage(self, *_): |
+ def ValidatePage(self, *_): |
pass |
@@ -91,17 +81,6 @@ |
return options |
-class FakeExceptionFormatterModule(object): |
- @staticmethod |
- def PrintFormattedException( |
- exception_class=None, exception=None, tb=None, msg=None): |
- pass |
- |
- |
-def GetNumberOfSuccessfulPageRuns(results): |
- return len([run for run in results.all_page_runs if run.ok or run.skipped]) |
- |
- |
class UserStoryRunnerTest(unittest.TestCase): |
def setUp(self): |
@@ -109,22 +88,6 @@ |
self.expectations = test_expectations.TestExpectations() |
self.results = results_options.CreateResults( |
EmptyMetadataForTest(), self.options) |
- self._user_story_runner_logging_stub = None |
- |
- def SuppressExceptionFormatting(self): |
- ''' Fake out exception formatter to avoid spamming the unittest stdout. ''' |
- user_story_runner.exception_formatter = FakeExceptionFormatterModule |
- self._user_story_runner_logging_stub = system_stub.Override( |
- user_story_runner, ['logging']) |
- |
- def RestoreExceptionFormatter(self): |
- user_story_runner.exception_formatter = exception_formatter_module |
- if self._user_story_runner_logging_stub: |
- self._user_story_runner_logging_stub.Restore() |
- self._user_story_runner_logging_stub = None |
- |
- def tearDown(self): |
- self.RestoreExceptionFormatter() |
def testGetUserStoryGroupsWithSameSharedUserStoryClass(self): |
us = user_story_set.UserStorySet() |
@@ -151,153 +114,4 @@ |
user_story_runner.Run( |
DummyTest(), us, self.expectations, self.options, self.results) |
self.assertEquals(0, len(self.results.failures)) |
- self.assertEquals(3, GetNumberOfSuccessfulPageRuns(self.results)) |
- |
- def testHandlingOfCrashedApp(self): |
- self.SuppressExceptionFormatting() |
- us = user_story_set.UserStorySet() |
- class SharedUserStoryThatCausesAppCrash(TestSharedUserStoryState): |
- def WillRunUserStory(self, user_storyz): |
- raise exceptions.AppCrashException() |
- |
- us.AddUserStory(user_story.UserStory(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)) |
- |
- def testHandlingOfTestThatRaisesWithNonFatalUnknownExceptions(self): |
- self.SuppressExceptionFormatting() |
- us = user_story_set.UserStorySet() |
- |
- class ExpectedException(Exception): |
- pass |
- |
- class Test(page_test.PageTest): |
- def __init__(self, *args): |
- super(Test, self).__init__(*args) # pylint: disable=bad-super-call |
- self.run_count = 0 |
- def RunPage(self, *_): |
- old_run_count = self.run_count |
- self.run_count += 1 |
- if old_run_count == 0: |
- raise ExpectedException() |
- |
- us.AddUserStory(user_story.UserStory(TestSharedUserStoryState)) |
- us.AddUserStory(user_story.UserStory(TestSharedUserStoryState)) |
- test = Test() |
- user_story_runner.Run( |
- test, us, self.expectations, self.options, self.results) |
- self.assertEquals(2, test.run_count) |
- self.assertEquals(1, len(self.results.failures)) |
- self.assertEquals(1, GetNumberOfSuccessfulPageRuns(self.results)) |
- |
- def testRaiseBrowserGoneExceptionFromRunPage(self): |
- self.SuppressExceptionFormatting() |
- us = user_story_set.UserStorySet() |
- |
- class Test(page_test.PageTest): |
- def __init__(self, *args): |
- super(Test, self).__init__(*args) # pylint: disable=bad-super-call |
- self.run_count = 0 |
- def RunPage(self, *_): |
- old_run_count = self.run_count |
- self.run_count += 1 |
- if old_run_count == 0: |
- raise exceptions.BrowserGoneException() |
- |
- us.AddUserStory(user_story.UserStory(TestSharedUserStoryState)) |
- us.AddUserStory(user_story.UserStory(TestSharedUserStoryState)) |
- test = Test() |
- user_story_runner.Run( |
- test, us, self.expectations, self.options, self.results) |
- self.assertEquals(2, test.run_count) |
- self.assertEquals(1, len(self.results.failures)) |
- self.assertEquals(1, GetNumberOfSuccessfulPageRuns(self.results)) |
- |
- def testDiscardFirstResult(self): |
- us = user_story_set.UserStorySet() |
- us.AddUserStory(user_story.UserStory(TestSharedUserStoryState)) |
- us.AddUserStory(user_story.UserStory(TestSharedUserStoryState)) |
- class Measurement(page_test.PageTest): |
- @property |
- def discard_first_result(self): |
- return True |
- |
- def RunPage(self, page, _, results): |
- results.AddValue(string.StringValue(page, 'test', 't', page.name)) |
- |
- results = results_options.CreateResults( |
- EmptyMetadataForTest(), self.options) |
- user_story_runner.Run( |
- Measurement(), us, self.expectations, self.options, results) |
- |
- self.assertEquals(0, GetNumberOfSuccessfulPageRuns(results)) |
- self.assertEquals(0, len(results.failures)) |
- self.assertEquals(0, len(results.all_page_specific_values)) |
- |
- |
- results = results_options.CreateResults( |
- EmptyMetadataForTest(), self.options) |
- self.options.page_repeat = 1 |
- self.options.pageset_repeat = 2 |
- user_story_runner.Run( |
- Measurement(), us, self.expectations, self.options, results) |
- self.assertEquals(2, GetNumberOfSuccessfulPageRuns(results)) |
- self.assertEquals(0, len(results.failures)) |
- self.assertEquals(2, len(results.all_page_specific_values)) |
- |
- results = results_options.CreateResults( |
- EmptyMetadataForTest(), self.options) |
- self.options.page_repeat = 2 |
- self.options.pageset_repeat = 1 |
- user_story_runner.Run( |
- Measurement(), us, self.expectations, self.options, results) |
- self.assertEquals(2, GetNumberOfSuccessfulPageRuns(results)) |
- self.assertEquals(0, len(results.failures)) |
- self.assertEquals(2, len(results.all_page_specific_values)) |
- |
- results = results_options.CreateResults( |
- EmptyMetadataForTest(), self.options) |
- self.options.page_repeat = 1 |
- self.options.pageset_repeat = 1 |
- user_story_runner.Run( |
- Measurement(), us, self.expectations, self.options, results) |
- self.assertEquals(0, GetNumberOfSuccessfulPageRuns(results)) |
- self.assertEquals(0, len(results.failures)) |
- self.assertEquals(0, len(results.all_page_specific_values)) |
- |
- def testPagesetRepeat(self): |
- us = user_story_set.UserStorySet() |
- us.AddUserStory(user_story.UserStory( |
- TestSharedUserStoryState, name='blank')) |
- us.AddUserStory(user_story.UserStory( |
- TestSharedUserStoryState, name='green')) |
- |
- class Measurement(page_test.PageTest): |
- i = 0 |
- def RunPage(self, page, _, results): |
- self.i += 1 |
- results.AddValue(scalar.ScalarValue( |
- page, 'metric', 'unit', self.i)) |
- |
- 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 |
+ self.assertEquals(3, len(self.results.pages_that_succeeded)) |