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

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

Issue 2769063006: Add GPU integration pixel tests for VP9 and MP4 video. (Closed)
Patch Set: better Created 3 years, 9 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
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 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 import glob 4 import glob
5 import logging 5 import logging
6 import os 6 import os
7 import re 7 import re
8 import sys 8 import sys
9 9
10 from gpu_tests import gpu_integration_test 10 from gpu_tests import gpu_integration_test
11 from gpu_tests import cloud_storage_integration_test_base 11 from gpu_tests import cloud_storage_integration_test_base
12 from gpu_tests import pixel_expectations 12 from gpu_tests import pixel_expectations
13 from gpu_tests import pixel_test_pages 13 from gpu_tests import pixel_test_pages
14 14
15 from py_utils import cloud_storage 15 from py_utils import cloud_storage
16 from telemetry.util import image_util 16 from telemetry.util import image_util
17 17
18 root_data_path = os.path.abspath(os.path.join(
19 os.path.dirname(__file__), '..', '..', 'data'))
20 gpu_data_dir = os.path.join(root_data_path, 'gpu')
18 21
19 test_data_dir = os.path.abspath(os.path.join( 22 default_reference_image_dir = os.path.join(gpu_data_dir, 'gpu_reference')
20 os.path.dirname(__file__), '..', '..', 'data', 'gpu'))
21 23
22 default_reference_image_dir = os.path.join(test_data_dir, 'gpu_reference') 24 test_data_dirs = [gpu_data_dir,
25 os.path.join(root_data_path, 'media')]
23 26
24 test_harness_script = r""" 27 test_harness_script = r"""
25 var domAutomationController = {}; 28 var domAutomationController = {};
26 29
27 domAutomationController._succeeded = false; 30 domAutomationController._succeeded = false;
28 domAutomationController._finished = false; 31 domAutomationController._finished = false;
29 32
30 domAutomationController.setAutomationId = function(id) {} 33 domAutomationController.setAutomationId = function(id) {}
31 34
32 domAutomationController.send = function(msg) { 35 domAutomationController.send = function(msg) {
(...skipping 28 matching lines...) Expand all
61 def Name(cls): 64 def Name(cls):
62 """The name by which this test is invoked on the command line.""" 65 """The name by which this test is invoked on the command line."""
63 return 'pixel' 66 return 'pixel'
64 67
65 @classmethod 68 @classmethod
66 def SetUpProcess(cls): 69 def SetUpProcess(cls):
67 super(cls, PixelIntegrationTest).SetUpProcess() 70 super(cls, PixelIntegrationTest).SetUpProcess()
68 cls._original_finder_options = cls._finder_options.Copy() 71 cls._original_finder_options = cls._finder_options.Copy()
69 cls.CustomizeBrowserArgs([]) 72 cls.CustomizeBrowserArgs([])
70 cls.StartBrowser() 73 cls.StartBrowser()
71 cls.SetStaticServerDirs([test_data_dir]) 74 cls.SetStaticServerDirs(test_data_dirs)
72 75
73 @classmethod 76 @classmethod
74 def CustomizeBrowserArgs(cls, browser_args): 77 def CustomizeBrowserArgs(cls, browser_args):
75 if not browser_args: 78 if not browser_args:
76 browser_args = [] 79 browser_args = []
77 cls._finder_options = cls._original_finder_options.Copy() 80 cls._finder_options = cls._original_finder_options.Copy()
78 browser_options = cls._finder_options.browser_options 81 browser_options = cls._finder_options.browser_options
79 # All tests receive these options. They aren't recorded in the 82 # All tests receive these options. They aren't recorded in the
80 # _last_launched_browser_args. 83 # _last_launched_browser_args.
81 browser_options.AppendExtraBrowserArgs(['--enable-gpu-benchmarking', 84 browser_options.AppendExtraBrowserArgs(['--enable-gpu-benchmarking',
(...skipping 30 matching lines...) Expand all
112 @classmethod 115 @classmethod
113 def GenerateGpuTests(cls, options): 116 def GenerateGpuTests(cls, options):
114 cls.SetParsedCommandLineOptions(options) 117 cls.SetParsedCommandLineOptions(options)
115 name = 'Pixel' 118 name = 'Pixel'
116 pages = pixel_test_pages.DefaultPages(name) 119 pages = pixel_test_pages.DefaultPages(name)
117 pages += pixel_test_pages.GpuRasterizationPages(name) 120 pages += pixel_test_pages.GpuRasterizationPages(name)
118 pages += pixel_test_pages.ExperimentalCanvasFeaturesPages(name) 121 pages += pixel_test_pages.ExperimentalCanvasFeaturesPages(name)
119 if sys.platform.startswith('darwin'): 122 if sys.platform.startswith('darwin'):
120 pages += pixel_test_pages.MacSpecificPages(name) 123 pages += pixel_test_pages.MacSpecificPages(name)
121 for p in pages: 124 for p in pages:
122 yield(p.name, p.url, (p)) 125 yield(p.name, "gpu/" + p.url, (p))
123 126
124 def RunActualGpuTest(self, test_path, *args): 127 def RunActualGpuTest(self, test_path, *args):
125 page = args[0] 128 page = args[0]
126 # Some pixel tests require non-standard browser arguments. Need to 129 # Some pixel tests require non-standard browser arguments. Need to
127 # check before running each page that it can run in the current 130 # check before running each page that it can run in the current
128 # browser instance. 131 # browser instance.
129 self.RestartBrowserIfNecessaryWithArgs(page.browser_args) 132 self.RestartBrowserIfNecessaryWithArgs(page.browser_args)
130 url = self.UrlOfStaticFilePath(test_path) 133 url = self.UrlOfStaticFilePath(test_path)
131 # This property actually comes off the class, not 'self'. 134 # This property actually comes off the class, not 'self'.
132 tab = self.tab 135 tab = self.tab
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 227
225 print ('Reference image not found. Writing tab contents as reference to: ' + 228 print ('Reference image not found. Writing tab contents as reference to: ' +
226 image_path) 229 image_path)
227 230
228 self._WriteImage(image_path, screenshot) 231 self._WriteImage(image_path, screenshot)
229 return screenshot 232 return screenshot
230 233
231 def load_tests(loader, tests, pattern): 234 def load_tests(loader, tests, pattern):
232 del loader, tests, pattern # Unused. 235 del loader, tests, pattern # Unused.
233 return gpu_integration_test.LoadAllTestsInModule(sys.modules[__name__]) 236 return gpu_integration_test.LoadAllTestsInModule(sys.modules[__name__])
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698