Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright (c) 2010 The Chromium OS Authors. All rights reserved. | 1 # Copyright (c) 2010 The Chromium OS 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 import logging, time | 5 import logging, time |
| 6 from autotest_lib.client.bin import test | 6 from autotest_lib.client.bin import test |
| 7 from autotest_lib.client.cros import power_status | 7 from autotest_lib.client.cros import power_status |
| 8 | 8 |
| 9 | 9 |
| 10 class power_Draw(test.test): | 10 class power_Draw(test.test): |
| 11 version = 1 | 11 version = 1 |
| 12 | 12 |
| 13 | 13 |
| 14 def run_once(self, seconds=200): | 14 def run_once(self, seconds=200): |
| 15 status = power_status.get_status() | 15 status = power_status.get_status() |
| 16 if status.linepower[0].online: | 16 if status.linepower[0].online: |
| 17 logging.warn('AC power is online -- ' | 17 logging.warn('AC power is online -- ' |
| 18 'unable to monitor energy consumption') | 18 'unable to monitor energy consumption') |
| 19 return | 19 return |
| 20 | 20 |
| 21 start_energy = status.battery[0].energy | 21 start_energy = status.battery[0].energy |
| 22 | 22 |
| 23 # Let the test run | 23 # Let the test run |
| 24 time.sleep(seconds) | 24 for i in range(seconds): |
| 25 time.sleep(1) | |
|
Sameer Nanda
2011/04/06 18:13:40
this might be too aggressive since the BIOS curren
Simon Que
2011/04/07 20:59:47
Done.
| |
| 26 status.refresh() | |
| 25 | 27 |
| 26 status.refresh() | 28 status.refresh() |
| 27 end_energy = status.battery[0].energy | 29 end_energy = status.battery[0].energy |
| 28 | 30 |
| 29 consumed_energy = start_energy - end_energy | 31 consumed_energy = start_energy - end_energy |
| 30 energy_rate = consumed_energy * 60 * 60 / seconds | 32 energy_rate = consumed_energy * 60 * 60 / seconds |
| 31 | 33 |
| 32 keyvals = {} | 34 keyvals = {} |
| 33 keyvals['wh_energy_full'] = status.battery[0].energy_full | 35 keyvals['wh_energy_full'] = status.battery[0].energy_full |
| 34 keyvals['wh_start_energy'] = start_energy | 36 keyvals['wh_start_energy'] = start_energy |
| 35 keyvals['wh_end_energy'] = end_energy | 37 keyvals['wh_end_energy'] = end_energy |
| 36 keyvals['wh_consumed_energy'] = consumed_energy | 38 keyvals['wh_consumed_energy'] = consumed_energy |
| 37 keyvals['w_average_energy_rate'] = energy_rate | 39 keyvals['w_average_energy_rate'] = energy_rate |
| 38 keyvals['w_end_energy_rate'] = status.battery[0].energy_rate | 40 keyvals['w_end_energy_rate'] = status.battery[0].energy_rate |
| 41 keyvals['w_min_temp'] = status.min_temp | |
|
Sameer Nanda
2011/04/06 18:13:40
use c instead of w. The first letter indicates th
Simon Que
2011/04/07 20:59:47
Done.
| |
| 42 keyvals['w_max_temp'] = status.max_temp | |
| 43 | |
| 39 self.write_perf_keyval(keyvals) | 44 self.write_perf_keyval(keyvals) |
| OLD | NEW |