Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(874)

Side by Side Diff: telemetry/telemetry/internal/story_runner_unittest.py

Issue 2163583002: Revert of [Telemetry] Ensure that story display names are unique (Closed) Base URL: git@github.com:catapult-project/catapult.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | telemetry/telemetry/page/page_run_end_to_end_unittest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import math 5 import math
6 import os 6 import os
7 import StringIO 7 import StringIO
8 import sys 8 import sys
9 import unittest 9 import unittest
10 10
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 class MixedStateStorySet(story_module.StorySet): 127 class MixedStateStorySet(story_module.StorySet):
128 @property 128 @property
129 def allow_mixed_story_states(self): 129 def allow_mixed_story_states(self):
130 return True 130 return True
131 131
132 def SetupStorySet(allow_multiple_story_states, story_state_list): 132 def SetupStorySet(allow_multiple_story_states, story_state_list):
133 if allow_multiple_story_states: 133 if allow_multiple_story_states:
134 story_set = MixedStateStorySet() 134 story_set = MixedStateStorySet()
135 else: 135 else:
136 story_set = story_module.StorySet() 136 story_set = story_module.StorySet()
137 for i, story_state in enumerate(story_state_list): 137 for story_state in story_state_list:
138 story_set.AddStory(DummyLocalStory(story_state, 138 story_set.AddStory(DummyLocalStory(story_state))
139 name='story%d' % i))
140 return story_set 139 return story_set
141 140
142 def _GetOptionForUnittest(): 141 def _GetOptionForUnittest():
143 options = options_for_unittests.GetCopy() 142 options = options_for_unittests.GetCopy()
144 options.output_formats = ['none'] 143 options.output_formats = ['none']
145 options.suppress_gtest_report = False 144 options.suppress_gtest_report = False
146 parser = options.CreateParser() 145 parser = options.CreateParser()
147 story_runner.AddCommandLineArgs(parser) 146 story_runner.AddCommandLineArgs(parser)
148 options.MergeDefaultValues(parser.get_default_values()) 147 options.MergeDefaultValues(parser.get_default_values())
149 story_runner.ProcessCommandLineArgs(parser, options) 148 story_runner.ProcessCommandLineArgs(parser, options)
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
290 289
291 manager = mock.MagicMock() 290 manager = mock.MagicMock()
292 test.WillRunStory = mock.MagicMock() 291 test.WillRunStory = mock.MagicMock()
293 test.Measure = mock.MagicMock() 292 test.Measure = mock.MagicMock()
294 test.DidRunStory = mock.MagicMock() 293 test.DidRunStory = mock.MagicMock()
295 manager.attach_mock(test.WillRunStory, TEST_WILL_RUN_STORY) 294 manager.attach_mock(test.WillRunStory, TEST_WILL_RUN_STORY)
296 manager.attach_mock(test.Measure, TEST_MEASURE) 295 manager.attach_mock(test.Measure, TEST_MEASURE)
297 manager.attach_mock(test.DidRunStory, TEST_DID_RUN_STORY) 296 manager.attach_mock(test.DidRunStory, TEST_DID_RUN_STORY)
298 297
299 story_set = story_module.StorySet() 298 story_set = story_module.StorySet()
300 story_set.AddStory(DummyLocalStory(TestSharedTbmState, name='foo')) 299 story_set.AddStory(DummyLocalStory(TestSharedTbmState))
301 story_set.AddStory(DummyLocalStory(TestSharedTbmState, name='bar')) 300 story_set.AddStory(DummyLocalStory(TestSharedTbmState))
302 story_set.AddStory(DummyLocalStory(TestSharedTbmState, name='baz')) 301 story_set.AddStory(DummyLocalStory(TestSharedTbmState))
303 story_runner.Run( 302 story_runner.Run(
304 test, story_set, self.options, self.results) 303 test, story_set, self.options, self.results)
305 self.assertEquals(0, len(self.results.failures)) 304 self.assertEquals(0, len(self.results.failures))
306 self.assertEquals(3, GetNumberOfSuccessfulPageRuns(self.results)) 305 self.assertEquals(3, GetNumberOfSuccessfulPageRuns(self.results))
307 306
308 self.assertEquals(3*EXPECTED_CALLS_IN_ORDER, 307 self.assertEquals(3*EXPECTED_CALLS_IN_ORDER,
309 [call[0] for call in manager.mock_calls]) 308 [call[0] for call in manager.mock_calls])
310 309
311 def testCallOrderBetweenStoryTestAndSharedState(self): 310 def testCallOrderBetweenStoryTestAndSharedState(self):
312 """Check that the call order between StoryTest and SharedState is correct. 311 """Check that the call order between StoryTest and SharedState is correct.
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 class TestSharedStateForTearDown(TestSharedState): 367 class TestSharedStateForTearDown(TestSharedState):
369 num_of_tear_downs = 0 368 num_of_tear_downs = 0
370 369
371 def RunStory(self, results): 370 def RunStory(self, results):
372 pass 371 pass
373 372
374 def TearDownState(self): 373 def TearDownState(self):
375 TestSharedStateForTearDown.num_of_tear_downs += 1 374 TestSharedStateForTearDown.num_of_tear_downs += 1
376 375
377 story_set = story_module.StorySet() 376 story_set = story_module.StorySet()
378 story_set.AddStory(DummyLocalStory(TestSharedStateForTearDown, name='foo')) 377 story_set.AddStory(DummyLocalStory(TestSharedStateForTearDown))
379 story_set.AddStory(DummyLocalStory(TestSharedStateForTearDown, name='bar')) 378 story_set.AddStory(DummyLocalStory(TestSharedStateForTearDown))
380 story_set.AddStory(DummyLocalStory(TestSharedStateForTearDown, name='baz')) 379 story_set.AddStory(DummyLocalStory(TestSharedStateForTearDown))
381 380
382 TestSharedStateForTearDown.num_of_tear_downs = 0 381 TestSharedStateForTearDown.num_of_tear_downs = 0
383 story_runner.Run(mock.MagicMock(), story_set, self.options, self.results) 382 story_runner.Run(mock.MagicMock(), story_set, self.options, self.results)
384 self.assertEquals(TestSharedStateForTearDown.num_of_tear_downs, 1) 383 self.assertEquals(TestSharedStateForTearDown.num_of_tear_downs, 1)
385 384
386 TestSharedStateForTearDown.num_of_tear_downs = 0 385 TestSharedStateForTearDown.num_of_tear_downs = 0
387 story_runner.Run(mock.MagicMock(), story_set, self.options, self.results, 386 story_runner.Run(mock.MagicMock(), story_set, self.options, self.results,
388 tear_down_after_story=True) 387 tear_down_after_story=True)
389 self.assertEquals(TestSharedStateForTearDown.num_of_tear_downs, 3) 388 self.assertEquals(TestSharedStateForTearDown.num_of_tear_downs, 3)
390 389
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
483 482
484 def RunPage(self, *_): 483 def RunPage(self, *_):
485 old_run_count = self.run_count 484 old_run_count = self.run_count
486 self.run_count += 1 485 self.run_count += 1
487 if old_run_count == 1: 486 if old_run_count == 1:
488 raise UnknownException('FooBarzException') 487 raise UnknownException('FooBarzException')
489 488
490 def ValidateAndMeasurePage(self, page, tab, results): 489 def ValidateAndMeasurePage(self, page, tab, results):
491 pass 490 pass
492 491
493 s1 = DummyLocalStory(TestSharedPageState, name='foo') 492 s1 = DummyLocalStory(TestSharedPageState)
494 s2 = DummyLocalStory(TestSharedPageState, name='bar') 493 s2 = DummyLocalStory(TestSharedPageState)
495 story_set.AddStory(s1) 494 story_set.AddStory(s1)
496 story_set.AddStory(s2) 495 story_set.AddStory(s2)
497 test = Test() 496 test = Test()
498 with self.assertRaises(UnknownException): 497 with self.assertRaises(UnknownException):
499 story_runner.Run( 498 story_runner.Run(
500 test, story_set, self.options, self.results) 499 test, story_set, self.options, self.results)
501 self.assertEqual(set([s2]), self.results.pages_that_failed) 500 self.assertEqual(set([s2]), self.results.pages_that_failed)
502 self.assertEqual(set([s1]), self.results.pages_that_succeeded) 501 self.assertEqual(set([s1]), self.results.pages_that_succeeded)
503 self.assertIn('FooBarzException', self.fake_stdout.getvalue()) 502 self.assertIn('FooBarzException', self.fake_stdout.getvalue())
504 503
505 def testRaiseBrowserGoneExceptionFromRunPage(self): 504 def testRaiseBrowserGoneExceptionFromRunPage(self):
506 self.SuppressExceptionFormatting() 505 self.SuppressExceptionFormatting()
507 story_set = story_module.StorySet() 506 story_set = story_module.StorySet()
508 507
509 class Test(legacy_page_test.LegacyPageTest): 508 class Test(legacy_page_test.LegacyPageTest):
510 def __init__(self, *args): 509 def __init__(self, *args):
511 super(Test, self).__init__(*args) 510 super(Test, self).__init__(*args)
512 self.run_count = 0 511 self.run_count = 0
513 512
514 def RunPage(self, *_): 513 def RunPage(self, *_):
515 old_run_count = self.run_count 514 old_run_count = self.run_count
516 self.run_count += 1 515 self.run_count += 1
517 if old_run_count == 0: 516 if old_run_count == 0:
518 raise exceptions.BrowserGoneException( 517 raise exceptions.BrowserGoneException(
519 None, 'i am a browser crash message') 518 None, 'i am a browser crash message')
520 519
521 def ValidateAndMeasurePage(self, page, tab, results): 520 def ValidateAndMeasurePage(self, page, tab, results):
522 pass 521 pass
523 522
524 story_set.AddStory(DummyLocalStory(TestSharedPageState, name='foo')) 523 story_set.AddStory(DummyLocalStory(TestSharedPageState))
525 story_set.AddStory(DummyLocalStory(TestSharedPageState, name='bar')) 524 story_set.AddStory(DummyLocalStory(TestSharedPageState))
526 test = Test() 525 test = Test()
527 story_runner.Run( 526 story_runner.Run(
528 test, story_set, self.options, self.results) 527 test, story_set, self.options, self.results)
529 self.assertEquals(2, test.run_count) 528 self.assertEquals(2, test.run_count)
530 self.assertEquals(1, len(self.results.failures)) 529 self.assertEquals(1, len(self.results.failures))
531 self.assertEquals(1, GetNumberOfSuccessfulPageRuns(self.results)) 530 self.assertEquals(1, GetNumberOfSuccessfulPageRuns(self.results))
532 531
533 def testAppCrashThenRaiseInTearDownFatal(self): 532 def testAppCrashThenRaiseInTearDownFatal(self):
534 self.SuppressExceptionFormatting() 533 self.SuppressExceptionFormatting()
535 story_set = story_module.StorySet() 534 story_set = story_module.StorySet()
(...skipping 19 matching lines...) Expand all
555 def RunPage(self, *_): 554 def RunPage(self, *_):
556 old_run_count = self.run_count 555 old_run_count = self.run_count
557 self.run_count += 1 556 self.run_count += 1
558 if old_run_count == 0: 557 if old_run_count == 0:
559 unit_test_events.append('app-crash') 558 unit_test_events.append('app-crash')
560 raise exceptions.AppCrashException 559 raise exceptions.AppCrashException
561 560
562 def ValidateAndMeasurePage(self, page, tab, results): 561 def ValidateAndMeasurePage(self, page, tab, results):
563 pass 562 pass
564 563
565 story_set.AddStory(DummyLocalStory(TestTearDownSharedState, name='foo')) 564 story_set.AddStory(DummyLocalStory(TestTearDownSharedState))
566 story_set.AddStory(DummyLocalStory(TestTearDownSharedState, name='bar')) 565 story_set.AddStory(DummyLocalStory(TestTearDownSharedState))
567 test = Test() 566 test = Test()
568 567
569 with self.assertRaises(DidRunTestError): 568 with self.assertRaises(DidRunTestError):
570 story_runner.Run( 569 story_runner.Run(
571 test, story_set, self.options, self.results) 570 test, story_set, self.options, self.results)
572 self.assertEqual(['app-crash', 'dump-state', 'tear-down-state'], 571 self.assertEqual(['app-crash', 'dump-state', 'tear-down-state'],
573 unit_test_events) 572 unit_test_events)
574 # The AppCrashException gets added as a failure. 573 # The AppCrashException gets added as a failure.
575 self.assertEquals(1, len(self.results.failures)) 574 self.assertEquals(1, len(self.results.failures))
576 575
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
716 def CanRunStory(self, story): 715 def CanRunStory(self, story):
717 return True 716 return True
718 717
719 def TearDownState(self): 718 def TearDownState(self):
720 pass 719 pass
721 720
722 def DumpStateUponFailure(self, story, results): 721 def DumpStateUponFailure(self, story, results):
723 pass 722 pass
724 723
725 class FailingStory(story_module.Story): 724 class FailingStory(story_module.Story):
726 def __init__(self, name): 725 def __init__(self):
727 super(FailingStory, self).__init__( 726 super(FailingStory, self).__init__(
728 shared_state_class=SimpleSharedState, 727 shared_state_class=SimpleSharedState,
729 is_local=True, name=name) 728 is_local=True)
730 self.was_run = False 729 self.was_run = False
731 730
732 def Run(self, shared_state): 731 def Run(self, shared_state):
733 self.was_run = True 732 self.was_run = True
734 raise legacy_page_test.Failure 733 raise legacy_page_test.Failure
735 734
736 @property 735 @property
737 def url(self): 736 def url(self):
738 return 'data:,' 737 return 'data:,'
739 738
740 self.SuppressExceptionFormatting() 739 self.SuppressExceptionFormatting()
741 740
742 story_set = story_module.StorySet() 741 story_set = story_module.StorySet()
743 for i in range(num_failing_stories): 742 for _ in range(num_failing_stories):
744 story_set.AddStory(FailingStory(name='failing%d' % i)) 743 story_set.AddStory(FailingStory())
745 744
746 options = _GetOptionForUnittest() 745 options = _GetOptionForUnittest()
747 options.output_formats = ['none'] 746 options.output_formats = ['none']
748 options.suppress_gtest_report = True 747 options.suppress_gtest_report = True
749 if options_max_failures: 748 if options_max_failures:
750 options.max_failures = options_max_failures 749 options.max_failures = options_max_failures
751 750
752 results = results_options.CreateResults(EmptyMetadataForTest(), options) 751 results = results_options.CreateResults(EmptyMetadataForTest(), options)
753 story_runner.Run( 752 story_runner.Run(
754 DummyTest(), story_set, options, 753 DummyTest(), story_set, options,
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after
989 mock.call.test.WillRunStory(root_mock.state.platform), 988 mock.call.test.WillRunStory(root_mock.state.platform),
990 mock.call.state.WillRunStory(root_mock.story), 989 mock.call.state.WillRunStory(root_mock.story),
991 mock.call.state.CanRunStory(root_mock.story), 990 mock.call.state.CanRunStory(root_mock.story),
992 mock.call.state.RunStory(root_mock.results), 991 mock.call.state.RunStory(root_mock.results),
993 mock.call.test.Measure(root_mock.state.platform, root_mock.results), 992 mock.call.test.Measure(root_mock.state.platform, root_mock.results),
994 mock.call.state.DumpStateUponFailure(root_mock.story, root_mock.results), 993 mock.call.state.DumpStateUponFailure(root_mock.story, root_mock.results),
995 mock.call.results.AddValue(FailureValueMatcher('foo')), 994 mock.call.results.AddValue(FailureValueMatcher('foo')),
996 mock.call.state.DidRunStory(root_mock.results), 995 mock.call.state.DidRunStory(root_mock.results),
997 mock.call.test.DidRunStory(root_mock.state.platform) 996 mock.call.test.DidRunStory(root_mock.state.platform)
998 ]) 997 ])
OLDNEW
« no previous file with comments | « no previous file | telemetry/telemetry/page/page_run_end_to_end_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698