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

Unified Diff: client/site_tests/power_LoadTest/power_LoadTest.py

Issue 3569001: Forcibly turn display on and reset X settings at the start of each iteration. (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/autotest.git
Patch Set: logging backlight level per loop Created 10 years, 3 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 | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/site_tests/power_LoadTest/power_LoadTest.py
diff --git a/client/site_tests/power_LoadTest/power_LoadTest.py b/client/site_tests/power_LoadTest/power_LoadTest.py
index 09db87a53ddebd371daddf90424fbf7a3badc549..054cbaaadc5685580c35193d3e39730360160b9b 100755
--- a/client/site_tests/power_LoadTest/power_LoadTest.py
+++ b/client/site_tests/power_LoadTest/power_LoadTest.py
@@ -102,28 +102,15 @@ class power_LoadTest(site_ui_test.UITest):
raise error.TestError(
'Ethernet interface is active. Please remove Ethernet cable')
- # TODO (snanda):
- # - set brightness level
- # - turn off suspend on idle (not implemented yet in Chrome OS)
-
- # record the current and max backlight levels
+ # record the max backlight level
cmd = 'backlight-tool --get_max_brightness'
- self._tmp_keyvals['level_backlight_max'] = int(
- utils.system_output(cmd).rstrip())
-
- cmd = 'backlight-tool --get_brightness'
- self._tmp_keyvals['level_backlight_current'] = int(
- utils.system_output(cmd).rstrip())
-
- # disable screen locker and powerd
- os.system('stop screen-locker')
- os.system('stop powerd')
+ self._max_backlight = int(utils.system_output(cmd).rstrip())
+ self._tmp_keyvals['level_backlight_max'] = self._max_backlight
# fix up file perms for the power test extension so that chrome
# can access it
os.system('chmod -R 755 %s' % self.bindir)
-
# TODO (bleung) :
# The new external extension packed crx means we can't pass params by
# modifying params.js
@@ -175,6 +162,16 @@ class power_LoadTest(site_ui_test.UITest):
# the act of logging in will launch chrome with external extension.
self.login(self.username, self.password)
+ # stop powerd
+ os.system('stop powerd')
+
+ # reset X settings since X gets restarted upon login
+ self._do_xset()
+
+ # reset backlight level since powerd might've modified it
+ # based on ambient light
+ self._set_backlight_level()
+
low_battery = self._do_wait(self._verbose, self._loop_time,
latch)
@@ -241,9 +238,8 @@ class power_LoadTest(site_ui_test.UITest):
jsonfile = os.path.join(self._json_path, 'external_extensions.json')
if os.path.exists(jsonfile):
os.system('rm -f %s' % jsonfile)
- # re-enable screen locker and powerd. This also re-enables dpms.
+ # re-enable powerd
os.system('start powerd')
- os.system('start screen-locker')
if site_login.logged_in():
site_login.attempt_logout()
@@ -306,3 +302,28 @@ class power_LoadTest(site_ui_test.UITest):
logging.debug("Didn't get status back from power extension")
return low_battery
+
+
+ def _do_xset(self):
+ XSET = 'LD_LIBRARY_PATH=/usr/local/lib xset'
+ # Disable X screen saver
+ site_ui.xsystem('%s s 0 0' % XSET)
+ # Disable DPMS Standby/Suspend/Off
+ site_ui.xsystem('%s dpms 0 0 0' % XSET)
+ # Force monitor on
+ site_ui.xsystem('%s dpms force on' % XSET)
+ # Save off X settings
+ site_ui.xsystem('%s q' % XSET)
+
+
+ def _set_backlight_level(self):
+ # set backlight level to 40% of max
+ cmd = 'backlight-tool --set_brightness %d ' % (
+ int(self._max_backlight * 0.4))
+ os.system(cmd)
+
+ # record brightness level
+ cmd = 'backlight-tool --get_brightness'
+ level = int(utils.system_output(cmd).rstrip())
+ logging.info('backlight level is %d' % level)
+ self._tmp_keyvals['level_backlight_current'] = level
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698