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

Side by Side Diff: content/test/gpu/gpu_tests/gpu_rasterization.py

Issue 2607073002: Fold the GPU rasterization tests into the pixel tests step. (Closed)
Patch Set: Created 3 years, 11 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
OLDNEW
(Empty)
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
3 # found in the LICENSE file.
4
5 from gpu_tests import cloud_storage_test_base
6 from gpu_tests import gpu_rasterization_expectations
7 import page_sets
8
9 from telemetry.page import legacy_page_test
10 from telemetry.util import image_util
11
12
13 test_harness_script = r"""
14 var domAutomationController = {};
15 domAutomationController._succeeded = false;
16 domAutomationController._finished = false;
17
18 domAutomationController.setAutomationId = function(id) {}
19 domAutomationController.send = function(msg) {
20 domAutomationController._finished = true;
21 if (msg.toLowerCase() == "success")
22 domAutomationController._succeeded = true;
23 else
24 domAutomationController._succeeded = false;
25 }
26
27 window.domAutomationController = domAutomationController;
28 """
29
30 def _DidTestSucceed(tab):
31 return tab.EvaluateJavaScript('domAutomationController._succeeded')
32
33 class GpuRasterizationValidator(cloud_storage_test_base.ValidatorBase):
34 def CustomizeBrowserOptions(self, options):
35 # --test-type=gpu is used only to suppress the "Google API Keys are missing"
36 # infobar, which causes flakiness in tests.
37 options.AppendExtraBrowserArgs(['--force-gpu-rasterization',
38 '--test-type=gpu'])
39
40 def ValidateAndMeasurePage(self, page, tab, results):
41 if not _DidTestSucceed(tab):
42 raise legacy_page_test.Failure('Page indicated a failure')
43
44 if not hasattr(page, 'expectations') or not page.expectations:
45 raise legacy_page_test.Failure('Expectations not specified')
46
47 if not tab.screenshot_supported:
48 raise legacy_page_test.Failure(
49 'Browser does not support screenshot capture')
50
51 screenshot = tab.Screenshot()
52 if screenshot is None:
53 raise legacy_page_test.Failure('Could not capture screenshot')
54
55 device_pixel_ratio = tab.EvaluateJavaScript('window.devicePixelRatio')
56 if hasattr(page, 'test_rect'):
57 test_rect = [int(x * device_pixel_ratio) for x in page.test_rect]
58 screenshot = image_util.Crop(screenshot, test_rect[0], test_rect[1],
59 test_rect[2], test_rect[3])
60
61 self._ValidateScreenshotSamples(
62 tab,
63 page.display_name,
64 screenshot,
65 page.expectations,
66 device_pixel_ratio)
67
68
69 class GpuRasterization(cloud_storage_test_base.CloudStorageTestBase):
70 """Tests that GPU rasterization produces valid content"""
71 test = GpuRasterizationValidator
72
73 def __init__(self, max_failures=None):
74 super(GpuRasterization, self).__init__(max_failures=max_failures)
75
76 @classmethod
77 def Name(cls):
78 return 'gpu_rasterization'
79
80 def CreateStorySet(self, options):
81 story_set = page_sets.GpuRasterizationTestsStorySet(self.GetExpectations())
82 for page in story_set:
83 page.script_to_evaluate_on_commit = test_harness_script
84 return story_set
85
86 def _CreateExpectations(self):
87 return gpu_rasterization_expectations.GpuRasterizationExpectations()
OLDNEW
« no previous file with comments | « content/test/gpu/generate_buildbot_json.py ('k') | content/test/gpu/gpu_tests/gpu_rasterization_expectations.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698