graphics_WebGL*: make pylint/pyformat happier.
TEST=Ran ManyPlanets, Performance, Aquarium on daisy.
BUG=chromium:551042
Change-Id: I6bf99dc7174a13d9202002cd17bbcc7a598900b3
Reviewed-on: https://chromium-review.googlesource.com/310591
Commit-Ready: Ilja Friedel <ihf@chromium.org>
Tested-by: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Rohit Makasana <rohitbm@chromium.org>
Reviewed-by: Haixia Shi <hshi@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/311100
Commit-Queue: Ilja Friedel <ihf@chromium.org>
Trybot-Ready: Ilja Friedel <ihf@chromium.org>
Reviewed-by: Ilja Friedel <ihf@chromium.org>
diff --git a/client/site_tests/graphics_WebGLAquarium/graphics_WebGLAquarium.py b/client/site_tests/graphics_WebGLAquarium/graphics_WebGLAquarium.py
index eb57a9b..e004dea 100644
--- a/client/site_tests/graphics_WebGLAquarium/graphics_WebGLAquarium.py
+++ b/client/site_tests/graphics_WebGLAquarium/graphics_WebGLAquarium.py
@@ -1,7 +1,6 @@
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-
"""This is a client side WebGL aquarium test."""
import logging
@@ -16,7 +15,6 @@
from autotest_lib.client.cros import power_status, power_utils
from autotest_lib.client.cros import service_stopper
-
# Minimum battery charge percentage to run the test
BATTERY_INITIAL_CHARGED_MIN = 10
@@ -32,7 +30,20 @@
class graphics_WebGLAquarium(test.test):
"""WebGL aquarium graphics test."""
version = 1
+
+ _backlight = None
+ _power_status = None
+ _service_stopper = None
+ _test_power = False
+ active_tab = None
+ flip_stats = {}
GSC = None
+ kernel_sampler = None
+ perf_keyval = {}
+ sampler_lock = None
+ test_duration_secs = 30
+ test_setting_num_fishes = 50
+ test_settings = {50: ('setSetting2', 2), 1000: ('setSetting6', 6),}
def setup(self):
tarball_path = os.path.join(self.bindir,
@@ -40,18 +51,9 @@
utils.extract_tarball_to_dir(tarball_path, self.srcdir)
def initialize(self):
- self._test_power = False
- self._backlight = None
- self._service_stopper = None
self.GSC = graphics_utils.GraphicsStateChecker()
- self.test_settings = {
- 50: ('setSetting2', 2),
- 1000: ('setSetting6', 6),
- }
- self.perf_keyval = {}
- self.flip_stats = {}
- self.active_tab = None
self.sampler_lock = threading.Lock()
+ # TODO: Create samplers for other platforms (e.g. x86).
if utils.get_board().lower() in ['daisy', 'daisy_spring']:
# Enable ExynosSampler on Exynos platforms. The sampler looks for
# exynos-drm page flip states: 'wait_kds', 'rendered', 'prepared',
@@ -61,10 +63,7 @@
self.kernel_sampler = sampler.ExynosSampler(period=5, duration=3)
self.kernel_sampler.sampler_callback = self.exynos_sampler_callback
self.kernel_sampler.output_flip_stats = (
- self.exynos_output_flip_stats)
- else:
- # TODO: Create samplers for other platforms (e.g. x86).
- self.kernel_sampler = None
+ self.exynos_output_flip_stats)
def cleanup(self):
if self._backlight:
@@ -75,7 +74,8 @@
keyvals = self.GSC.get_memory_keyvals()
if not self._test_power:
for key, val in keyvals.iteritems():
- self.output_perf_value(description=key, value=val,
+ self.output_perf_value(description=key,
+ value=val,
units='bytes',
higher_is_better=False)
self.GSC.finalize()
@@ -89,9 +89,6 @@
@param num_fishes: The number of fishes to run the test with.
@param perf_log: Report perf data only if it's set to True.
"""
- if not utils.wait_for_idle_cpu(60.0, 0.1):
- raise error.TestFail('Could not get idle CPU.')
-
# Create tab and load page. Set the number of fishes when page is fully
# loaded.
tab = browser.tabs.New()
@@ -102,7 +99,8 @@
# Set the number of fishes when document finishes loading. Also reset
# our own FPS counter and start recording FPS and rendering time.
- utils.wait_for_value(lambda: tab.EvaluateJavaScript(
+ utils.wait_for_value(
+ lambda: tab.EvaluateJavaScript(
'if (document.readyState === "complete") {'
' setSetting(document.getElementById("%s"), %d);'
' g_crosFpsCounter.reset();'
@@ -110,35 +108,36 @@
'} else {'
' false;'
'}' % self.test_settings[num_fishes]),
- expected_value=True, timeout_sec=30)
+ expected_value=True,
+ timeout_sec=30)
if self.kernel_sampler:
self.kernel_sampler.start_sampling_thread()
time.sleep(self.test_duration_secs)
if self.kernel_sampler:
self.kernel_sampler.stop_sampling_thread()
- self.kernel_sampler.output_flip_stats(
- 'flip_stats_%d' % num_fishes)
+ self.kernel_sampler.output_flip_stats('flip_stats_%d' % num_fishes)
self.flip_stats = {}
if perf_log:
# Get average FPS and rendering time, then close the tab.
avg_fps = tab.EvaluateJavaScript('g_crosFpsCounter.getAvgFps();')
avg_render_time = tab.EvaluateJavaScript(
- 'g_crosFpsCounter.getAvgRenderTime();')
+ 'g_crosFpsCounter.getAvgRenderTime();')
self.perf_keyval['avg_fps_%04d_fishes' % num_fishes] = avg_fps
self.perf_keyval['avg_render_time_%04d_fishes' % num_fishes] = (
- avg_render_time)
- self.output_perf_value(description='avg_fps_%04d_fishes' %
- num_fishes, value=avg_fps, units='fps',
- higher_is_better=True)
+ avg_render_time)
+ self.output_perf_value(
+ description='avg_fps_%04d_fishes' % num_fishes,
+ value=avg_fps,
+ units='fps',
+ higher_is_better=True)
logging.info('%d fish(es): Average FPS = %f, '
- 'average render time = %f',
- num_fishes, avg_fps, avg_render_time)
+ 'average render time = %f', num_fishes, avg_fps,
+ avg_render_time)
def run_power_test(self, browser, test_url):
- """
- Runs the webgl power consumption test and reports the perf results.
+ """Runs the webgl power consumption test and reports the perf results.
@param browser: The Browser object to run the test with.
@param test_url: The URL to the aquarium test site.
@@ -148,7 +147,7 @@
self._backlight.set_default()
self._service_stopper = service_stopper.ServiceStopper(
- service_stopper.ServiceStopper.POWER_DRAW_SERVICES)
+ service_stopper.ServiceStopper.POWER_DRAW_SERVICES)
self._service_stopper.stop_services()
self._power_status = power_status.get_status()
@@ -156,8 +155,9 @@
# charged.
self._power_status.assert_battery_state(BATTERY_INITIAL_CHARGED_MIN)
- measurements = [power_status.SystemPower(
- self._power_status.battery_path)]
+ measurements = [
+ power_status.SystemPower(self._power_status.battery_path)
+ ]
def get_power():
power_logger = power_status.PowerLogger(measurements)
@@ -176,10 +176,10 @@
# avg_fps and avg_render_time in this test.
self.perf_keyval[POWER_DESCRIPTION] = energy_rate
self.output_perf_value(description=POWER_DESCRIPTION,
- value=energy_rate, units='W',
+ value=energy_rate,
+ units='W',
higher_is_better=False)
-
def exynos_sampler_callback(self, sampler_obj):
"""Sampler callback function for ExynosSampler.
@@ -197,13 +197,13 @@
results[value.fb] = {}
for state, stats in value.states.iteritems():
results[value.fb][state] = (stats.avg, stats.stdev)
- info_str.append('%s: %s %s' % (
- value.fb, results[value.fb]['wait_kds'][0],
- results[value.fb]['flipped'][0]))
+ info_str.append('%s: %s %s' %
+ (value.fb, results[value.fb]['wait_kds'][0],
+ results[value.fb]['flipped'][0]))
results['avg_fps'] = self.active_tab.EvaluateJavaScript(
- 'g_crosFpsCounter.getAvgFps();')
+ 'g_crosFpsCounter.getAvgFps();')
results['avg_render_time'] = self.active_tab.EvaluateJavaScript(
- 'g_crosFpsCounter.getAvgRenderTime();')
+ 'g_crosFpsCounter.getAvgRenderTime();')
self.active_tab.ExecuteJavaScript('g_crosFpsCounter.reset();')
info_str.append('avg_fps: %s, avg_render_time: %s' %
(results['avg_fps'], results['avg_render_time']))
@@ -221,10 +221,10 @@
with open(file_name, 'w') as f:
for t in sorted(self.flip_stats.keys()):
if ('avg_fps' in self.flip_stats[t] and
- 'avg_render_time' in self.flip_stats[t]):
- f.write('%s %s %s\n' % (
- t, self.flip_stats[t]['avg_fps'],
- self.flip_stats[t]['avg_render_time']))
+ 'avg_render_time' in self.flip_stats[t]):
+ f.write('%s %s %s\n' %
+ (t, self.flip_stats[t]['avg_fps'],
+ self.flip_stats[t]['avg_render_time']))
for fb, stats in self.flip_stats[t].iteritems():
if not isinstance(fb, int):
continue
@@ -237,9 +237,10 @@
stats['prepared'][1],
stats['wait_kds'][1],
stats['flipped'][1]))
-
- def run_once(self, test_duration_secs=30,
- test_setting_num_fishes=(50, 1000), power_test=False):
+ def run_once(self,
+ test_duration_secs=30,
+ test_setting_num_fishes=(50, 1000),
+ power_test=False):
"""Find a brower with telemetry, and run the test.
@param test_duration_secs: The duration in seconds to run each scenario
diff --git a/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py b/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py
index d6ee691..73d75c8 100644
--- a/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py
+++ b/client/site_tests/graphics_WebGLClear/graphics_WebGLClear.py
@@ -21,7 +21,6 @@
import os
import time
from autotest_lib.client.bin import test
-from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros.graphics import graphics_utils
@@ -32,26 +31,26 @@
version = 1
GSC = None
perf_keyval = {}
+ test_duration_secs = 30
def setup(self):
self.job.setup_dep(['webgl_clear'])
-
def initialize(self):
self.GSC = graphics_utils.GraphicsStateChecker()
self.perf_keyval = {}
-
def cleanup(self):
if self.GSC:
keyvals = self.GSC.get_memory_keyvals()
for key, val in keyvals.iteritems():
- self.output_perf_value(description=key, value=val,
- units='bytes', higher_is_better=False)
+ self.output_perf_value(description=key,
+ value=val,
+ units='bytes',
+ higher_is_better=False)
self.GSC.finalize()
self.write_perf_keyval(keyvals)
-
def run_clear_test(self, browser, test_url):
"""Runs the clear test from the given url.
@@ -65,15 +64,14 @@
time.sleep(self.test_duration_secs)
avg_fps = tab.EvaluateJavaScript('g_fpsTimer.averageFPS;')
self.perf_keyval['avg_fps'] = avg_fps
- self.output_perf_value(
- description='avg_fps',
- value=avg_fps, units='fps',
- higher_is_better=True)
+ self.output_perf_value(description='avg_fps',
+ value=avg_fps,
+ units='fps',
+ higher_is_better=True)
logging.info('Average FPS = %f', avg_fps)
tab.Close()
-
def run_once(self, test_duration_secs=30):
"""Finds a brower with telemetry, and run the test.
@@ -86,7 +84,8 @@
# in xorg.conf.
browser_args = '--disable-gpu-vsync'
- with chrome.Chrome(logged_in=False, extra_browser_args=browser_args) as cr:
+ with chrome.Chrome(logged_in=False,
+ extra_browser_args=browser_args) as cr:
clearsrc = os.path.join(self.autodir, 'deps', 'webgl_clear', 'src')
if not cr.browser.SetHTTPServerDirectories(clearsrc):
raise error.TestError('Unable to start HTTP server')
diff --git a/client/site_tests/graphics_WebGLManyPlanetsDeep/graphics_WebGLManyPlanetsDeep.py b/client/site_tests/graphics_WebGLManyPlanetsDeep/graphics_WebGLManyPlanetsDeep.py
index e71c319..6031669 100644
--- a/client/site_tests/graphics_WebGLManyPlanetsDeep/graphics_WebGLManyPlanetsDeep.py
+++ b/client/site_tests/graphics_WebGLManyPlanetsDeep/graphics_WebGLManyPlanetsDeep.py
@@ -1,7 +1,6 @@
# Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
-
"""This is a client side WebGL many planets deep test."""
import numpy
@@ -11,6 +10,7 @@
from autotest_lib.client.bin import test
from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib import error
+from autotest_lib.client.bin import utils
from autotest_lib.client.common_lib.cros import chrome
from autotest_lib.client.cros.graphics import graphics_utils
@@ -19,22 +19,25 @@
"""WebGL many planets deep graphics test."""
version = 1
GSC = None
+ frame_data = {}
+ perf_keyval = {}
+ test_duration_secs = 30
def setup(self):
self.job.setup_dep(['webgl_mpd'])
self.job.setup_dep(['graphics'])
def initialize(self):
- self.frame_data = {}
- self.perf_keyval = {}
self.GSC = graphics_utils.GraphicsStateChecker()
def cleanup(self):
if self.GSC:
keyvals = self.GSC.get_memory_keyvals()
for key, val in keyvals.iteritems():
- self.output_perf_value(description=key, value=val,
- units='bytes', higher_is_better=False)
+ self.output_perf_value(description=key,
+ value=val,
+ units='bytes',
+ higher_is_better=False)
self.GSC.finalize()
self.write_perf_keyval(keyvals)
@@ -73,14 +76,14 @@
tab.ExecuteJavaScript('g_crosFpsCounter.reset();')
while time.time() < end_time:
frame_data = tab.EvaluateJavaScript(
- 'g_crosFpsCounter.getFrameData();')
+ 'g_crosFpsCounter.getFrameData();')
for datum in frame_data:
if not datum or datum['seq'] in self.frame_data:
continue
self.frame_data[datum['seq']] = {
- 'start_time': datum['startTime'],
- 'frame_elapsed_time': datum['frameElapsedTime'],
- 'js_elapsed_time': datum['jsElapsedTime']
+ 'start_time': datum['startTime'],
+ 'frame_elapsed_time': datum['frameElapsedTime'],
+ 'js_elapsed_time': datum['jsElapsedTime']
}
time.sleep(1)
tab.Close()
@@ -88,19 +91,20 @@
def calculate_perf_values(self):
"""Calculates all the perf values from the collected data."""
arr = numpy.array([[v['frame_elapsed_time'], v['js_elapsed_time']]
- for v in self.frame_data.itervalues()])
+ for v in self.frame_data.itervalues()])
std = arr.std(axis=0)
mean = arr.mean(axis=0)
avg_fps = 1000.0 / mean[0]
self.perf_keyval.update({
- 'average_fps': avg_fps,
- 'per_frame_dt_ms_std': std[0],
- 'per_frame_dt_ms_mean': mean[0],
- 'js_render_time_ms_std': std[1],
- 'js_render_time_ms_mean': mean[1]
+ 'average_fps': avg_fps,
+ 'per_frame_dt_ms_std': std[0],
+ 'per_frame_dt_ms_mean': mean[0],
+ 'js_render_time_ms_std': std[1],
+ 'js_render_time_ms_mean': mean[1]
})
self.output_perf_value(description='average_fps',
- value=avg_fps, units='fps',
+ value=avg_fps,
+ units='fps',
higher_is_better=True)
with open('frame_data', 'w') as f:
@@ -109,9 +113,9 @@
'js_render_time_ms'))
for k in sorted(self.frame_data.keys()):
d = self.frame_data[k]
- f.write(line_format % (k, d['start_time'],
- d['frame_elapsed_time'],
- d['js_elapsed_time']))
+ f.write(line_format %
+ (k, d['start_time'], d['frame_elapsed_time'],
+ d['js_elapsed_time']))
def run_once(self, test_duration_secs=30, fullscreen=True):
"""Finds a brower with telemetry, and run the test.
@@ -124,9 +128,8 @@
ext_paths = []
if fullscreen:
- ext_paths.append(
- os.path.join(self.autodir, 'deps', 'graphics',
- 'graphics_test_extension'))
+ ext_paths.append(os.path.join(self.autodir, 'deps', 'graphics',
+ 'graphics_test_extension'))
with chrome.Chrome(logged_in=False, extension_paths=ext_paths) as cr:
websrc_dir = os.path.join(self.autodir, 'deps', 'webgl_mpd', 'src')