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

Side by Side Diff: telemetry/telemetry/page/page_run_end_to_end_unittest.py

Issue 2153513002: [Telemetry] Ensure that story display names are unique (Closed) Base URL: git@github.com:catapult-project/catapult.git@master
Patch Set: fix typo Created 4 years 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
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 os 5 import os
6 import re 6 import re
7 import shutil 7 import shutil
8 import sys 8 import sys
9 import StringIO 9 import StringIO
10 import tempfile 10 import tempfile
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 self.formatted_exception, 138 self.formatted_exception,
139 re.DOTALL | re.MULTILINE) 139 re.DOTALL | re.MULTILINE)
140 self.assertEquals([expected_exception_name], actual_exception_names, 140 self.assertEquals([expected_exception_name], actual_exception_names,
141 msg='Full formatted exception: %s' % '\n > '.join( 141 msg='Full formatted exception: %s' % '\n > '.join(
142 self.formatted_exception.split('\n'))) 142 self.formatted_exception.split('\n')))
143 143
144 def testRaiseBrowserGoneExceptionFromRestartBrowserBeforeEachPage(self): 144 def testRaiseBrowserGoneExceptionFromRestartBrowserBeforeEachPage(self):
145 self.CaptureFormattedException() 145 self.CaptureFormattedException()
146 story_set = story.StorySet() 146 story_set = story.StorySet()
147 story_set.AddStory(page_module.Page( 147 story_set.AddStory(page_module.Page(
148 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir())) 148 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir(),
149 name='foo'))
149 story_set.AddStory(page_module.Page( 150 story_set.AddStory(page_module.Page(
150 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir())) 151 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir(),
152 name='bar'))
151 story_set.AddStory(page_module.Page( 153 story_set.AddStory(page_module.Page(
152 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir())) 154 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir(),
155 name='baz'))
153 156
154 class Test(legacy_page_test.LegacyPageTest): 157 class Test(legacy_page_test.LegacyPageTest):
155 158
156 def __init__(self, *args): 159 def __init__(self, *args):
157 super(Test, self).__init__( 160 super(Test, self).__init__(
158 *args, needs_browser_restart_after_each_page=True) 161 *args, needs_browser_restart_after_each_page=True)
159 self.run_count = 0 162 self.run_count = 0
160 163
161 def RestartBrowserBeforeEachPage(self): 164 def RestartBrowserBeforeEachPage(self):
162 # This will only be called twice with 3 pages. 165 # This will only be called twice with 3 pages.
(...skipping 15 matching lines...) Expand all
178 story_runner.Run(test, story_set, options, results) 181 story_runner.Run(test, story_set, options, results)
179 self.assertEquals(2, test.run_count) 182 self.assertEquals(2, test.run_count)
180 self.assertEquals(2, len(GetSuccessfulPageRuns(results))) 183 self.assertEquals(2, len(GetSuccessfulPageRuns(results)))
181 self.assertEquals(1, len(results.failures)) 184 self.assertEquals(1, len(results.failures))
182 self.assertFormattedExceptionIsEmpty() 185 self.assertFormattedExceptionIsEmpty()
183 186
184 def testNeedsBrowserRestartAfterEachPage(self): 187 def testNeedsBrowserRestartAfterEachPage(self):
185 self.CaptureFormattedException() 188 self.CaptureFormattedException()
186 story_set = story.StorySet() 189 story_set = story.StorySet()
187 story_set.AddStory(page_module.Page( 190 story_set.AddStory(page_module.Page(
188 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir())) 191 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir(),
192 name='foo'))
189 story_set.AddStory(page_module.Page( 193 story_set.AddStory(page_module.Page(
190 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir())) 194 'file://blank.html', story_set, base_dir=util.GetUnittestDataDir(),
195 name='bar'))
191 196
192 class Test(legacy_page_test.LegacyPageTest): 197 class Test(legacy_page_test.LegacyPageTest):
193 198
194 def __init__(self, *args, **kwargs): 199 def __init__(self, *args, **kwargs):
195 super(Test, self).__init__(*args, **kwargs) 200 super(Test, self).__init__(*args, **kwargs)
196 self.browser_starts = 0 201 self.browser_starts = 0
197 202
198 def DidStartBrowser(self, *args): 203 def DidStartBrowser(self, *args):
199 super(Test, self).DidStartBrowser(*args) 204 super(Test, self).DidStartBrowser(*args)
200 self.browser_starts += 1 205 self.browser_starts += 1
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 finally: 569 finally:
565 shutil.rmtree(options.output_dir) 570 shutil.rmtree(options.output_dir)
566 571
567 def _RunPageTestThatRaisesAppCrashException(self, test, max_failures): 572 def _RunPageTestThatRaisesAppCrashException(self, test, max_failures):
568 class TestPage(page_module.Page): 573 class TestPage(page_module.Page):
569 574
570 def RunNavigateSteps(self, _): 575 def RunNavigateSteps(self, _):
571 raise exceptions.AppCrashException 576 raise exceptions.AppCrashException
572 577
573 story_set = story.StorySet() 578 story_set = story.StorySet()
574 for _ in range(5): 579 for i in range(5):
575 story_set.AddStory( 580 story_set.AddStory(
576 TestPage('file://blank.html', story_set, 581 TestPage('file://blank.html', story_set,
577 base_dir=util.GetUnittestDataDir())) 582 base_dir=util.GetUnittestDataDir(), name='foo%d' % i))
578 options = options_for_unittests.GetCopy() 583 options = options_for_unittests.GetCopy()
579 options.output_formats = ['none'] 584 options.output_formats = ['none']
580 options.suppress_gtest_report = True 585 options.suppress_gtest_report = True
581 SetUpStoryRunnerArguments(options) 586 SetUpStoryRunnerArguments(options)
582 results = results_options.CreateResults(EmptyMetadataForTest(), options) 587 results = results_options.CreateResults(EmptyMetadataForTest(), options)
583 story_runner.Run(test, story_set, options, results, 588 story_runner.Run(test, story_set, options, results,
584 max_failures=max_failures) 589 max_failures=max_failures)
585 return results 590 return results
586 591
587 def testSingleTabMeansCrashWillCauseFailureValue(self): 592 def testSingleTabMeansCrashWillCauseFailureValue(self):
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 results.pages_to_profiling_files) 778 results.pages_to_profiling_files)
774 screenshot_file_path = ( 779 screenshot_file_path = (
775 results.pages_to_profiling_files[failing_page][0].GetAbsPath()) 780 results.pages_to_profiling_files[failing_page][0].GetAbsPath())
776 try: 781 try:
777 actual_screenshot_img = image_util.FromPngFile(screenshot_file_path) 782 actual_screenshot_img = image_util.FromPngFile(screenshot_file_path)
778 self.assertTrue(image_util.AreEqual( 783 self.assertTrue(image_util.AreEqual(
779 image_util.FromBase64Png(expected_png_base64), 784 image_util.FromBase64Png(expected_png_base64),
780 actual_screenshot_img)) 785 actual_screenshot_img))
781 finally: # Must clean up screenshot file if exists. 786 finally: # Must clean up screenshot file if exists.
782 os.remove(screenshot_file_path) 787 os.remove(screenshot_file_path)
OLDNEW
« no previous file with comments | « telemetry/telemetry/internal/story_runner_unittest.py ('k') | telemetry/telemetry/story/story.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698