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

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

Issue 259763003: Get rid of PageSet.FromDict from some simple benchmarks in gpu_tests/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 7 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 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 """Runs a Google Maps pixel test. 5 """Runs a Google Maps pixel test.
6 Performs several common navigation actions on the map (pan, zoom, rotate) then 6 Performs several common navigation actions on the map (pan, zoom, rotate) then
7 captures a screenshot and compares selected pixels against expected values""" 7 captures a screenshot and compares selected pixels against expected values"""
8 8
9 import json 9 import json
10 import optparse 10 import optparse
11 import os 11 import os
12 12
13 import cloud_storage_test_base 13 import cloud_storage_test_base
14 import maps_expectations 14 import maps_expectations
15 15
16 from telemetry import test 16 from telemetry import test
17 from telemetry.core import bitmap 17 from telemetry.core import bitmap
18 from telemetry.core import util 18 from telemetry.core import util
19 from telemetry.page import page
20 from telemetry.page import page_set
19 from telemetry.page import page_test 21 from telemetry.page import page_test
20 from telemetry.page import page_set 22 # pylint: disable=W0401,W0614
23 from telemetry.page.actions.all_page_actions import *
21 24
22 class _MapsValidator(cloud_storage_test_base.ValidatorBase): 25 class _MapsValidator(cloud_storage_test_base.ValidatorBase):
23 def __init__(self): 26 def __init__(self):
24 super(_MapsValidator, self).__init__('ValidatePage') 27 super(_MapsValidator, self).__init__('ValidatePage')
25 28
26 def CustomizeBrowserOptions(self, options): 29 def CustomizeBrowserOptions(self, options):
27 options.AppendExtraBrowserArgs('--enable-gpu-benchmarking') 30 options.AppendExtraBrowserArgs('--enable-gpu-benchmarking')
28 31
29 def ValidatePage(self, page, tab, results): 32 def ValidatePage(self, page, tab, results):
30 # TODO: This should not be necessary, but it's not clear if the test is 33 # TODO: This should not be necessary, but it's not clear if the test is
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 68
66 tab.ExecuteJavaScript(waitScript) 69 tab.ExecuteJavaScript(waitScript)
67 util.WaitFor(IsWaitComplete, timeout) 70 util.WaitFor(IsWaitComplete, timeout)
68 71
69 def _ReadPixelExpectations(self, page): 72 def _ReadPixelExpectations(self, page):
70 expectations_path = os.path.join(page._base_dir, page.pixel_expectations) 73 expectations_path = os.path.join(page._base_dir, page.pixel_expectations)
71 with open(expectations_path, 'r') as f: 74 with open(expectations_path, 'r') as f:
72 json_contents = json.load(f) 75 json_contents = json.load(f)
73 return json_contents 76 return json_contents
74 77
78
79 class MapsPage(page.Page):
80 def __init__(self, page_set, base_dir):
81 super(MapsPage, self).__init__(
82 url='http://localhost:10020/tracker.html',
83 page_set=page_set,
84 base_dir=base_dir)
85 self.name = 'Maps.maps_001'
86 self.script_to_evaluate_on_commit = 'window.screen = null;'
87 self.pixel_expectations = 'data/maps_001_expectations.json'
88
89 def RunNavigateSteps(self, action_runner):
90 action_runner.RunAction(NavigateAction())
91 action_runner.RunAction(WaitAction({'javascript': 'window.testDone'}))
92
93
75 class Maps(cloud_storage_test_base.TestBase): 94 class Maps(cloud_storage_test_base.TestBase):
76 """Google Maps pixel tests.""" 95 """Google Maps pixel tests."""
77 test = _MapsValidator 96 test = _MapsValidator
78 97
79 def CreateExpectations(self, page_set): 98 def CreateExpectations(self, page_set):
80 return maps_expectations.MapsExpectations() 99 return maps_expectations.MapsExpectations()
81 100
82 def CreatePageSet(self, options): 101 def CreatePageSet(self, options):
83 page_set_path = os.path.join( 102 page_set_path = os.path.join(
84 util.GetChromiumSrcDir(), 'content', 'test', 'gpu', 'page_sets') 103 util.GetChromiumSrcDir(), 'content', 'test', 'gpu', 'page_sets')
85 page_set_dict = { 104 ps = page_set.PageSet(archive_data_file='data/maps.json',
86 'archive_data_file': 'data/maps.json', 105 make_javascript_deterministic=False,
87 'make_javascript_deterministic': False, 106 file_path=page_set_path)
88 'pages': [ 107 ps.AddPage(MapsPage(ps, ps.base_dir))
89 { 108 return ps
90 'name': 'Maps.maps_001',
91 'url': 'http://localhost:10020/tracker.html',
92 # TODO: Hack to prevent maps from scaling due to window size.
93 # Remove when the maps team provides a better way of overriding this
94 # behavior
95 'script_to_evaluate_on_commit': 'window.screen = null;',
96 'navigate_steps': [
97 { 'action': 'navigate' },
98 { 'action': 'wait', 'javascript': 'window.testDone' }
99 ],
100 'pixel_expectations': 'data/maps_001_expectations.json'
101 }
102 ]
103 }
104
105 return page_set.PageSet.FromDict(page_set_dict, page_set_path)
OLDNEW
« no previous file with comments | « content/test/gpu/gpu_tests/context_lost.py ('k') | content/test/gpu/gpu_tests/screenshot_sync.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698