| 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
|
|
|