power_Draw.py revision bee23c2b0ca824c12c39e7a5a4cd4d2a313918b7
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 3# found in the LICENSE file. 4 5import logging, time 6from autotest_lib.client.bin import test 7from autotest_lib.client.cros import power_status 8 9 10class power_Draw(test.test): 11 version = 1 12 13 14 def run_once(self, seconds=200): 15 status = power_status.get_status() 16 if status.linepower[0].online: 17 logging.warn('AC power is online -- ' 18 'unable to monitor energy consumption') 19 return 20 21 start_energy = status.battery[0].energy 22 23 # Let the test run 24 time.sleep(seconds) 25 26 status.refresh() 27 end_energy = status.battery[0].energy 28 29 consumed_energy = start_energy - end_energy 30 energy_rate = consumed_energy * 60 * 60 / seconds 31 32 keyvals = {} 33 keyvals['wh_energy_full'] = status.battery[0].energy_full 34 keyvals['wh_start_energy'] = start_energy 35 keyvals['wh_end_energy'] = end_energy 36 keyvals['wh_consumed_energy'] = consumed_energy 37 keyvals['w_average_energy_rate'] = energy_rate 38 keyvals['w_end_energy_rate'] = status.battery[0].energy_rate 39 self.write_perf_keyval(keyvals) 40