summaryrefslogtreecommitdiff
path: root/systrace/catapult/devil/devil/android/battery_utils_test.py
diff options
context:
space:
mode:
Diffstat (limited to 'systrace/catapult/devil/devil/android/battery_utils_test.py')
-rwxr-xr-xsystrace/catapult/devil/devil/android/battery_utils_test.py674
1 files changed, 0 insertions, 674 deletions
diff --git a/systrace/catapult/devil/devil/android/battery_utils_test.py b/systrace/catapult/devil/devil/android/battery_utils_test.py
deleted file mode 100755
index 7bfb955..0000000
--- a/systrace/catapult/devil/devil/android/battery_utils_test.py
+++ /dev/null
@@ -1,674 +0,0 @@
-#!/usr/bin/env python
-# Copyright 2014 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-"""
-Unit tests for the contents of battery_utils.py
-"""
-
-# pylint: disable=protected-access,unused-argument
-
-import logging
-import unittest
-
-from devil import devil_env
-from devil.android import battery_utils
-from devil.android import device_errors
-from devil.android import device_utils
-from devil.android import device_utils_test
-from devil.utils import mock_calls
-
-with devil_env.SysPath(devil_env.PYMOCK_PATH):
- import mock # pylint: disable=import-error
-
-_DUMPSYS_OUTPUT = [
- '9,0,i,uid,1000,test_package1',
- '9,0,i,uid,1001,test_package2',
- '9,1000,l,pwi,uid,1',
- '9,1001,l,pwi,uid,2',
- '9,0,l,pws,1728,2000,190,207',
-]
-
-
-class BatteryUtilsTest(mock_calls.TestCase):
-
- _NEXUS_5 = {
- 'name':
- 'Nexus 5',
- 'witness_file':
- '/sys/kernel/debug/bq24192/INPUT_SRC_CONT',
- 'enable_command': (
- 'echo 0x4A > /sys/kernel/debug/bq24192/INPUT_SRC_CONT && '
- 'echo 1 > /sys/class/power_supply/usb/online'),
- 'disable_command': (
- 'echo 0xCA > /sys/kernel/debug/bq24192/INPUT_SRC_CONT && '
- 'chmod 644 /sys/class/power_supply/usb/online && '
- 'echo 0 > /sys/class/power_supply/usb/online'),
- 'charge_counter':
- None,
- 'voltage':
- None,
- 'current':
- None,
- }
-
- _NEXUS_6 = {
- 'name':
- 'Nexus 6',
- 'witness_file':
- None,
- 'enable_command':
- None,
- 'disable_command':
- None,
- 'charge_counter': (
- '/sys/class/power_supply/max170xx_battery/charge_counter_ext'),
- 'voltage':
- '/sys/class/power_supply/max170xx_battery/voltage_now',
- 'current':
- '/sys/class/power_supply/max170xx_battery/current_now',
- }
-
- _NEXUS_10 = {
- 'name':
- 'Nexus 10',
- 'witness_file':
- None,
- 'enable_command':
- None,
- 'disable_command':
- None,
- 'charge_counter': (
- '/sys/class/power_supply/ds2784-fuelgauge/charge_counter_ext'),
- 'voltage':
- '/sys/class/power_supply/ds2784-fuelgauge/voltage_now',
- 'current':
- '/sys/class/power_supply/ds2784-fuelgauge/current_now',
- }
-
- def ShellError(self, output=None, status=1):
- def action(cmd, *args, **kwargs):
- raise device_errors.AdbShellCommandFailedError(cmd, output, status,
- str(self.device))
-
- if output is None:
- output = 'Permission denied\n'
- return action
-
- def setUp(self):
- self.adb = device_utils_test._AdbWrapperMock('0123456789abcdef')
- self.device = device_utils.DeviceUtils(
- self.adb, default_timeout=10, default_retries=0)
- self.watchMethodCalls(self.call.adb, ignore=['GetDeviceSerial'])
- self.battery = battery_utils.BatteryUtils(
- self.device, default_timeout=10, default_retries=0)
-
-
-class BatteryUtilsInitTest(unittest.TestCase):
- def testInitWithDeviceUtil(self):
- serial = '0fedcba987654321'
- d = device_utils.DeviceUtils(serial)
- b = battery_utils.BatteryUtils(d)
- self.assertEqual(d, b._device)
-
- def testInitWithMissing_fails(self):
- with self.assertRaises(TypeError):
- battery_utils.BatteryUtils(None)
- with self.assertRaises(TypeError):
- battery_utils.BatteryUtils('')
-
-
-class BatteryUtilsSetChargingTest(BatteryUtilsTest):
- @mock.patch('time.sleep', mock.Mock())
- def testHardwareSetCharging_enabled(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.device.RunShellCommand(
- mock.ANY,
- shell=True,
- check_return=True,
- as_root=True,
- large_output=True), []), (self.call.battery.GetCharging(), False),
- (self.call.battery.GetCharging(), True)):
- self.battery._HardwareSetCharging(True)
-
- def testHardwareSetCharging_alreadyEnabled(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.device.RunShellCommand(
- mock.ANY,
- shell=True,
- check_return=True,
- as_root=True,
- large_output=True), []), (self.call.battery.GetCharging(), True)):
- self.battery._HardwareSetCharging(True)
-
- @mock.patch('time.sleep', mock.Mock())
- def testHardwareSetCharging_disabled(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.device.RunShellCommand(
- mock.ANY,
- shell=True,
- check_return=True,
- as_root=True,
- large_output=True), []), (self.call.battery.GetCharging(), True),
- (self.call.battery.GetCharging(), False)):
- self.battery._HardwareSetCharging(False)
-
-
-class BatteryUtilsSetBatteryMeasurementTest(BatteryUtilsTest):
- @mock.patch('time.sleep', mock.Mock())
- def testBatteryMeasurementWifi(self):
- with self.patch_call(self.call.device.build_version_sdk, return_value=22):
- with self.assertCalls(
- (self.call.battery._ClearPowerData(), True),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'ac', '0'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'usb', '0'], check_return=True),
- []), (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(['dumpsys', 'battery', 'reset'],
- check_return=True), []),
- (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery'], check_return=True), ['UPDATES STOPPED']),
- (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(['dumpsys', 'battery'],
- check_return=True), [])):
- with self.battery.BatteryMeasurement():
- pass
-
- @mock.patch('time.sleep', mock.Mock())
- def testBatteryMeasurementUsb(self):
- with self.patch_call(self.call.device.build_version_sdk, return_value=22):
- with self.assertCalls(
- (self.call.battery._ClearPowerData(), True),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'ac', '0'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'usb', '0'], check_return=True),
- []), (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(['dumpsys', 'battery', 'reset'],
- check_return=True), []),
- (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery'], check_return=True), ['UPDATES STOPPED']),
- (self.call.battery.GetCharging(), True)):
- with self.battery.BatteryMeasurement():
- pass
-
-
-class BatteryUtilsGetPowerData(BatteryUtilsTest):
- def testGetPowerData(self):
- with self.assertCalls(
- (self.call.device.RunShellCommand(['dumpsys', 'batterystats', '-c'],
- check_return=True,
- large_output=True), _DUMPSYS_OUTPUT)):
- data = self.battery.GetPowerData()
- check = {
- 'system_total': 2000.0,
- 'per_package': {
- 'test_package1': {
- 'uid': '1000',
- 'data': [1.0]
- },
- 'test_package2': {
- 'uid': '1001',
- 'data': [2.0]
- }
- }
- }
- self.assertEqual(data, check)
-
- def testGetPowerData_packageCollisionSame(self):
- self.battery._cache['uids'] = {'test_package1': '1000'}
- with self.assertCall(
- self.call.device.RunShellCommand(['dumpsys', 'batterystats', '-c'],
- check_return=True,
- large_output=True), _DUMPSYS_OUTPUT):
- data = self.battery.GetPowerData()
- check = {
- 'system_total': 2000.0,
- 'per_package': {
- 'test_package1': {
- 'uid': '1000',
- 'data': [1.0]
- },
- 'test_package2': {
- 'uid': '1001',
- 'data': [2.0]
- }
- }
- }
- self.assertEqual(data, check)
-
- def testGetPowerData_packageCollisionDifferent(self):
- self.battery._cache['uids'] = {'test_package1': '1'}
- with self.assertCall(
- self.call.device.RunShellCommand(['dumpsys', 'batterystats', '-c'],
- check_return=True,
- large_output=True), _DUMPSYS_OUTPUT):
- with self.assertRaises(device_errors.CommandFailedError):
- self.battery.GetPowerData()
-
- def testGetPowerData_cacheCleared(self):
- with self.assertCalls(
- (self.call.device.RunShellCommand(['dumpsys', 'batterystats', '-c'],
- check_return=True,
- large_output=True), _DUMPSYS_OUTPUT)):
- self.battery._cache.clear()
- data = self.battery.GetPowerData()
- check = {
- 'system_total': 2000.0,
- 'per_package': {
- 'test_package1': {
- 'uid': '1000',
- 'data': [1.0]
- },
- 'test_package2': {
- 'uid': '1001',
- 'data': [2.0]
- }
- }
- }
- self.assertEqual(data, check)
-
-
-class BatteryUtilsChargeDevice(BatteryUtilsTest):
- @mock.patch('time.sleep', mock.Mock())
- def testChargeDeviceToLevel_pass(self):
- with self.assertCalls((self.call.battery.SetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '50'
- }), (self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- })):
- self.battery.ChargeDeviceToLevel(95)
-
- @mock.patch('time.sleep', mock.Mock())
- def testChargeDeviceToLevel_failureSame(self):
- with self.assertCalls((self.call.battery.SetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '50'
- }), (self.call.battery.GetBatteryInfo(), {
- 'level': '50'
- }), (self.call.battery.GetBatteryInfo(), {
- 'level': '50'
- })):
- with self.assertRaises(device_errors.DeviceChargingError):
- old_max = battery_utils._MAX_CHARGE_ERROR
- try:
- battery_utils._MAX_CHARGE_ERROR = 2
- self.battery.ChargeDeviceToLevel(95)
- finally:
- battery_utils._MAX_CHARGE_ERROR = old_max
-
- @mock.patch('time.sleep', mock.Mock())
- def testChargeDeviceToLevel_failureDischarge(self):
- with self.assertCalls((self.call.battery.SetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '50'
- }), (self.call.battery.GetBatteryInfo(), {
- 'level': '49'
- }), (self.call.battery.GetBatteryInfo(), {
- 'level': '48'
- })):
- with self.assertRaises(device_errors.DeviceChargingError):
- old_max = battery_utils._MAX_CHARGE_ERROR
- try:
- battery_utils._MAX_CHARGE_ERROR = 2
- self.battery.ChargeDeviceToLevel(95)
- finally:
- battery_utils._MAX_CHARGE_ERROR = old_max
-
-
-class BatteryUtilsDischargeDevice(BatteryUtilsTest):
- @mock.patch('time.sleep', mock.Mock())
- def testDischargeDevice_exact(self):
- with self.assertCalls((self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- }), (self.call.battery._HardwareSetCharging(False)),
- (self.call.battery._HardwareSetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '99'
- })):
- self.battery._DischargeDevice(1)
-
- @mock.patch('time.sleep', mock.Mock())
- def testDischargeDevice_over(self):
- with self.assertCalls((self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- }), (self.call.battery._HardwareSetCharging(False)),
- (self.call.battery._HardwareSetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '50'
- })):
- self.battery._DischargeDevice(1)
-
- @mock.patch('time.sleep', mock.Mock())
- def testDischargeDevice_takeslong(self):
- with self.assertCalls((self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- }), (self.call.battery._HardwareSetCharging(False)),
- (self.call.battery._HardwareSetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- }), (self.call.battery._HardwareSetCharging(False)),
- (self.call.battery._HardwareSetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '99'
- }), (self.call.battery._HardwareSetCharging(False)),
- (self.call.battery._HardwareSetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '98'
- }), (self.call.battery._HardwareSetCharging(False)),
- (self.call.battery._HardwareSetCharging(True)),
- (self.call.battery.GetBatteryInfo(), {
- 'level': '97'
- })):
- self.battery._DischargeDevice(3)
-
- @mock.patch('time.sleep', mock.Mock())
- def testDischargeDevice_dischargeTooClose(self):
- with self.assertCalls((self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- })):
- self.battery._DischargeDevice(99)
-
- @mock.patch('time.sleep', mock.Mock())
- def testDischargeDevice_percentageOutOfBounds(self):
- with self.assertCalls((self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- })):
- with self.assertRaises(ValueError):
- self.battery._DischargeDevice(100)
- with self.assertCalls((self.call.battery.GetBatteryInfo(), {
- 'level': '100'
- })):
- with self.assertRaises(ValueError):
- self.battery._DischargeDevice(0)
-
-
-class BatteryUtilsGetBatteryInfoTest(BatteryUtilsTest):
- def testGetBatteryInfo_normal(self):
- with self.assertCalls(
- (self.call.device.RunShellCommand(['dumpsys', 'battery'],
- check_return=True), [
- 'Current Battery Service state:',
- ' AC powered: false',
- ' USB powered: true',
- ' level: 100',
- ' temperature: 321',
- ])):
- self.assertEquals({
- 'AC powered': 'false',
- 'USB powered': 'true',
- 'level': '100',
- 'temperature': '321',
- }, self.battery.GetBatteryInfo())
-
- def testGetBatteryInfo_nothing(self):
- with self.assertCalls(
- (self.call.device.RunShellCommand(['dumpsys', 'battery'],
- check_return=True), [])):
- self.assertEquals({}, self.battery.GetBatteryInfo())
-
-
-class BatteryUtilsGetChargingTest(BatteryUtilsTest):
- def testGetCharging_usb(self):
- with self.assertCall(self.call.battery.GetBatteryInfo(),
- {'USB powered': 'true'}):
- self.assertTrue(self.battery.GetCharging())
-
- def testGetCharging_usbFalse(self):
- with self.assertCall(self.call.battery.GetBatteryInfo(),
- {'USB powered': 'false'}):
- self.assertFalse(self.battery.GetCharging())
-
- def testGetCharging_ac(self):
- with self.assertCall(self.call.battery.GetBatteryInfo(),
- {'AC powered': 'true'}):
- self.assertTrue(self.battery.GetCharging())
-
- def testGetCharging_wireless(self):
- with self.assertCall(self.call.battery.GetBatteryInfo(),
- {'Wireless powered': 'true'}):
- self.assertTrue(self.battery.GetCharging())
-
- def testGetCharging_unknown(self):
- with self.assertCall(self.call.battery.GetBatteryInfo(), {'level': '42'}):
- self.assertFalse(self.battery.GetCharging())
-
-
-class BatteryUtilsLetBatteryCoolToTemperatureTest(BatteryUtilsTest):
- @mock.patch('time.sleep', mock.Mock())
- def testLetBatteryCoolToTemperature_startUnder(self):
- self.battery._cache['profile'] = self._NEXUS_6
- with self.assertCalls((self.call.battery.EnableBatteryUpdates(), []),
- (self.call.battery.GetBatteryInfo(), {
- 'temperature': '500'
- })):
- self.battery.LetBatteryCoolToTemperature(600)
-
- @mock.patch('time.sleep', mock.Mock())
- def testLetBatteryCoolToTemperature_startOver(self):
- self.battery._cache['profile'] = self._NEXUS_6
- with self.assertCalls((self.call.battery.EnableBatteryUpdates(), []),
- (self.call.battery.GetBatteryInfo(), {
- 'temperature': '500'
- }), (self.call.battery.GetBatteryInfo(), {
- 'temperature': '400'
- })):
- self.battery.LetBatteryCoolToTemperature(400)
-
- @mock.patch('time.sleep', mock.Mock())
- def testLetBatteryCoolToTemperature_nexus5Hot(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.battery.EnableBatteryUpdates(), []),
- (self.call.battery.GetBatteryInfo(), {
- 'temperature': '500'
- }), (self.call.battery._DischargeDevice(1), []),
- (self.call.battery.GetBatteryInfo(), {
- 'temperature': '400'
- })):
- self.battery.LetBatteryCoolToTemperature(400)
-
- @mock.patch('time.sleep', mock.Mock())
- def testLetBatteryCoolToTemperature_nexus5Cool(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.battery.EnableBatteryUpdates(), []),
- (self.call.battery.GetBatteryInfo(), {
- 'temperature': '400'
- })):
- self.battery.LetBatteryCoolToTemperature(400)
-
-
-class BatteryUtilsSupportsFuelGaugeTest(BatteryUtilsTest):
- def testSupportsFuelGauge_false(self):
- self.battery._cache['profile'] = self._NEXUS_5
- self.assertFalse(self.battery.SupportsFuelGauge())
-
- def testSupportsFuelGauge_trueMax(self):
- self.battery._cache['profile'] = self._NEXUS_6
- # TODO(rnephew): Change this to assertTrue when we have support for
- # disabling hardware charging on nexus 6.
- self.assertFalse(self.battery.SupportsFuelGauge())
-
- def testSupportsFuelGauge_trueDS(self):
- self.battery._cache['profile'] = self._NEXUS_10
- # TODO(rnephew): Change this to assertTrue when we have support for
- # disabling hardware charging on nexus 10.
- self.assertFalse(self.battery.SupportsFuelGauge())
-
-
-class BatteryUtilsGetFuelGaugeChargeCounterTest(BatteryUtilsTest):
- def testGetFuelGaugeChargeCounter_noFuelGauge(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertRaises(device_errors.CommandFailedError):
- self.battery.GetFuelGaugeChargeCounter()
-
- def testGetFuelGaugeChargeCounter_fuelGaugePresent(self):
- self.battery._cache['profile'] = self._NEXUS_6
- with self.assertCalls((self.call.battery.SupportsFuelGauge(), True),
- (self.call.device.ReadFile(mock.ANY), '123')):
- self.assertEqual(self.battery.GetFuelGaugeChargeCounter(), 123)
-
-
-class BatteryUtilsSetCharging(BatteryUtilsTest):
- @mock.patch('time.sleep', mock.Mock())
- def testSetCharging_softwareSetTrue(self):
- self.battery._cache['profile'] = self._NEXUS_6
- with self.assertCalls(
- (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(['dumpsys', 'battery', 'reset'],
- check_return=True), []),
- (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery'], check_return=True), ['UPDATES STOPPED']),
- (self.call.battery.GetCharging(), True)):
- self.battery.SetCharging(True)
-
- @mock.patch('time.sleep', mock.Mock())
- def testSetCharging_softwareSetFalse(self):
- self.battery._cache['profile'] = self._NEXUS_6
- with self.assertCalls(
- (self.call.battery.GetCharging(), True),
- (self.call.battery._ClearPowerData(), True),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'ac', '0'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'usb', '0'], check_return=True), []),
- (self.call.battery.GetCharging(), False)):
- self.battery.SetCharging(False)
-
- @mock.patch('time.sleep', mock.Mock())
- def testSetCharging_hardwareSetTrue(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.battery.GetCharging(), False),
- (self.call.battery._HardwareSetCharging(True))):
- self.battery.SetCharging(True)
-
- @mock.patch('time.sleep', mock.Mock())
- def testSetCharging_hardwareSetFalse(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.battery.GetCharging(), True),
- (self.call.battery._ClearPowerData(), True),
- (self.call.battery._HardwareSetCharging(False))):
- self.battery.SetCharging(False)
-
- def testSetCharging_expectedStateAlreadyTrue(self):
- with self.assertCalls((self.call.battery.GetCharging(), True)):
- self.battery.SetCharging(True)
-
- def testSetCharging_expectedStateAlreadyFalse(self):
- with self.assertCalls((self.call.battery.GetCharging(), False)):
- self.battery.SetCharging(False)
-
-
-class BatteryUtilsPowerMeasurement(BatteryUtilsTest):
- def testPowerMeasurement_hardware(self):
- self.battery._cache['profile'] = self._NEXUS_5
- with self.assertCalls((self.call.battery.GetCharging(), True),
- (self.call.battery._ClearPowerData(), True),
- (self.call.battery._HardwareSetCharging(False)),
- (self.call.battery.GetCharging(), False),
- (self.call.battery._HardwareSetCharging(True))):
- with self.battery.PowerMeasurement():
- pass
-
- @mock.patch('time.sleep', mock.Mock())
- def testPowerMeasurement_software(self):
- self.battery._cache['profile'] = self._NEXUS_6
- with self.assertCalls(
- (self.call.battery.GetCharging(), True),
- (self.call.battery._ClearPowerData(), True),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'ac', '0'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'usb', '0'], check_return=True), []),
- (self.call.battery.GetCharging(), False),
- (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(['dumpsys', 'battery', 'reset'],
- check_return=True), []),
- (self.call.battery.GetCharging(), False),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery'], check_return=True), ['UPDATES STOPPED']),
- (self.call.battery.GetCharging(), True)):
- with self.battery.PowerMeasurement():
- pass
-
-
-class BatteryUtilsDiscoverDeviceProfile(BatteryUtilsTest):
- def testDiscoverDeviceProfile_known(self):
- with self.patch_call(
- self.call.device.product_model, return_value='Nexus 4'):
- self.battery._DiscoverDeviceProfile()
- self.assertListEqual(self.battery._cache['profile']['name'], ["Nexus 4"])
-
- def testDiscoverDeviceProfile_unknown(self):
- with self.patch_call(self.call.device.product_model, return_value='Other'):
- self.battery._DiscoverDeviceProfile()
- self.assertListEqual(self.battery._cache['profile']['name'], [])
-
-
-class BatteryUtilsClearPowerData(BatteryUtilsTest):
- def testClearPowerData_preL(self):
- with self.patch_call(self.call.device.build_version_sdk, return_value=20):
- self.assertFalse(self.battery._ClearPowerData())
-
- def testClearPowerData_clearedL(self):
- with self.patch_call(self.call.device.build_version_sdk, return_value=22):
- with self.assertCalls(
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'usb', '1'], check_return=True),
- []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'ac', '1'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--reset'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--charged', '-c'],
- check_return=True,
- large_output=True), []), (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'reset'], check_return=True), [])):
- self.assertTrue(self.battery._ClearPowerData())
-
- @mock.patch('time.sleep', mock.Mock())
- def testClearPowerData_notClearedL(self):
- with self.patch_call(self.call.device.build_version_sdk, return_value=22):
- with self.assertCalls(
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'usb', '1'], check_return=True),
- []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'battery', 'set', 'ac', '1'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--reset'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--charged', '-c'],
- check_return=True,
- large_output=True), ['9,1000,l,pwi,uid,0.0327']),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--reset'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--charged', '-c'],
- check_return=True,
- large_output=True), ['9,1000,l,pwi,uid,0.0327']),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--reset'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--charged', '-c'],
- check_return=True,
- large_output=True), ['9,1000,l,pwi,uid,0.0327']),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--reset'], check_return=True), []),
- (self.call.device.RunShellCommand(
- ['dumpsys', 'batterystats', '--charged', '-c'],
- check_return=True,
- large_output=True), ['9,1000,l,pwi,uid,0.0']),
- (self.call.device.RunShellCommand(['dumpsys', 'battery', 'reset'],
- check_return=True), [])):
- self.battery._ClearPowerData()
-
-
-if __name__ == '__main__':
- logging.getLogger().setLevel(logging.DEBUG)
- unittest.main(verbosity=2)