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

Unified Diff: content/test/gpu/gpu_tests/screenshot_sync.py

Issue 2267433002: Run ScreenshotSync tests with both software and GPU rasterization. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/test/gpu/gpu_tests/screenshot_sync_expectations.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/test/gpu/gpu_tests/screenshot_sync.py
diff --git a/content/test/gpu/gpu_tests/screenshot_sync.py b/content/test/gpu/gpu_tests/screenshot_sync.py
index cce1730660368ca0fef202dfe2b9fe03532e1177..306d90a441a24d9166a576693cca72f76e317c3d 100644
--- a/content/test/gpu/gpu_tests/screenshot_sync.py
+++ b/content/test/gpu/gpu_tests/screenshot_sync.py
@@ -16,12 +16,28 @@ from telemetry.util import rgba_color
data_path = os.path.join(
path_util.GetChromiumSrcDir(), 'content', 'test', 'data', 'gpu')
+
+class SoftwareRasterSharedPageState(gpu_test_base.GpuSharedPageState):
+ def __init__(self, test, finder_options, story_set):
+ super(SoftwareRasterSharedPageState, self).__init__(
+ test, finder_options, story_set)
+ finder_options.browser_options.AppendExtraBrowserArgs(
+ ['--disable-gpu-rasterization'])
+
+
+class GPURasterSharedPageState(gpu_test_base.GpuSharedPageState):
+ def __init__(self, test, finder_options, story_set):
+ super(GPURasterSharedPageState, self).__init__(
+ test, finder_options, story_set)
+ finder_options.browser_options.AppendExtraBrowserArgs(
+ ['--force-gpu-rasterization'])
+
+
class ScreenshotSyncValidator(gpu_test_base.ValidatorBase):
def CustomizeBrowserOptions(self, options):
# --test-type=gpu is used only to suppress the "Google API Keys are missing"
# infobar, which causes flakiness in tests.
- options.AppendExtraBrowserArgs(['--force-gpu-rasterization',
- '--test-type=gpu'])
+ options.AppendExtraBrowserArgs(['--test-type=gpu'])
def ValidateAndMeasurePage(self, page, tab, results):
if not tab.screenshot_supported:
@@ -56,16 +72,33 @@ class ScreenshotSyncValidator(gpu_test_base.ValidatorBase):
for _ in range(0, repetitions):
CheckScreenshot()
+
class ScreenshotSyncPage(gpu_test_base.PageBase):
- def __init__(self, story_set, base_dir, url, name, expectations):
+ def __init__(self, story_set, base_dir,
+ shared_page_state_class,
+ url, name, expectations):
super(ScreenshotSyncPage, self).__init__(
url=url,
page_set=story_set,
base_dir=base_dir,
name=name,
+ shared_page_state_class=shared_page_state_class,
expectations=expectations)
+class ScreenshotSyncStorySet(story_set_module.StorySet):
+ """Test cases for screenshots being in sync with content updates."""
+ def __init__(self, base_dir=None, serving_dirs=None):
+ super(ScreenshotSyncStorySet, self).__init__(
+ base_dir=base_dir, serving_dirs=serving_dirs)
+
+ @property
+ def allow_mixed_story_states(self):
+ # Return True here in order to be able to run the same tests with
+ # both software and GPU rasterization.
+ return True
+
+
class ScreenshotSyncProcess(gpu_test_base.TestBase):
"""Tests that screenhots are properly synchronized with the frame one which
they were requested"""
@@ -79,13 +112,25 @@ class ScreenshotSyncProcess(gpu_test_base.TestBase):
return screenshot_sync_expectations.ScreenshotSyncExpectations()
def CreateStorySet(self, options):
- ps = story_set_module.StorySet(base_dir=data_path, serving_dirs=[''])
+ ps = ScreenshotSyncStorySet(base_dir=data_path, serving_dirs=[''])
+ ps.AddStory(ScreenshotSyncPage(ps, ps.base_dir,
+ SoftwareRasterSharedPageState,
+ 'file://screenshot_sync_canvas.html',
+ 'ScreenshotSync.SWRasterWithCanvas',
+ self.GetExpectations()))
+ ps.AddStory(ScreenshotSyncPage(ps, ps.base_dir,
+ SoftwareRasterSharedPageState,
+ 'file://screenshot_sync_divs.html',
+ 'ScreenshotSync.SWRasterWithDivs',
+ self.GetExpectations()))
ps.AddStory(ScreenshotSyncPage(ps, ps.base_dir,
+ GPURasterSharedPageState,
'file://screenshot_sync_canvas.html',
- 'ScreenshotSync.WithCanvas',
+ 'ScreenshotSync.GPURasterWithCanvas',
self.GetExpectations()))
ps.AddStory(ScreenshotSyncPage(ps, ps.base_dir,
+ GPURasterSharedPageState,
'file://screenshot_sync_divs.html',
- 'ScreenshotSync.WithDivs',
+ 'ScreenshotSync.GPURasterWithDivs',
self.GetExpectations()))
return ps
« no previous file with comments | « no previous file | content/test/gpu/gpu_tests/screenshot_sync_expectations.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698