blob: 882d8194905ae0e5bc9e3e9d7a704aaab2653e32 [file] [log] [blame]
# 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.
import unittest
from telemetry.internal.platform.power_monitor import android_temperature_monitor
from telemetry.testing import simple_mock
_ = simple_mock.DONT_CARE
class AndroidTemperatureMonitorTest(unittest.TestCase):
def testPowerMonitoringResultsWereUpdated(self):
mock_device_utils = simple_mock.MockObject()
mock_device_utils.ExpectCall('ReadFile', _).WillReturn('0')
mock_device_utils.ExpectCall('ReadFile', _).WillReturn('24')
monitor = android_temperature_monitor.AndroidTemperatureMonitor(
mock_device_utils)
self.assertTrue(monitor.CanMonitorPower())
monitor.StartMonitoringPower(None)
measurements = monitor.StopMonitoringPower()
expected_return = {
'identifier': 'android_temperature_monitor',
'platform_info': {'average_temperature_c': 24.0}
}
self.assertDictEqual(expected_return, measurements)
def testSysfsReadFailed(self):
mock_device_utils = simple_mock.MockObject()
mock_device_utils.ExpectCall('ReadFile', _).WillReturn('24')
mock_device_utils.ExpectCall('ReadFile', _).WillReturn(None)
monitor = android_temperature_monitor.AndroidTemperatureMonitor(
mock_device_utils)
self.assertTrue(monitor.CanMonitorPower())
monitor.StartMonitoringPower(None)
measurements = monitor.StopMonitoringPower()
self.assertTrue('identifier' in measurements)
self.assertTrue('platform_info' not in measurements)
def testSysfsReadFailedCanMonitor(self):
mock_device_utils = simple_mock.MockObject()
mock_device_utils.ExpectCall('ReadFile', _).WillReturn(None)
monitor = android_temperature_monitor.AndroidTemperatureMonitor(
mock_device_utils)
self.assertFalse(monitor.CanMonitorPower())