| OLD | NEW |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 The Chromium 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 unittest | 5 import unittest |
| 6 | 6 |
| 7 from telemetry import decorators | 7 from telemetry import decorators |
| 8 from telemetry.internal.platform import android_device | 8 from telemetry.internal.platform import android_device |
| 9 from telemetry.internal.platform import android_platform_backend | 9 from telemetry.internal.platform import android_platform_backend |
| 10 from telemetry.testing import options_for_unittests | 10 from telemetry.testing import options_for_unittests |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 | 25 |
| 26 # Skip _FixPossibleAdbInstability by setting psutil to None. | 26 # Skip _FixPossibleAdbInstability by setting psutil to None. |
| 27 self._actual_ps_util = android_platform_backend.psutil | 27 self._actual_ps_util = android_platform_backend.psutil |
| 28 android_platform_backend.psutil = None | 28 android_platform_backend.psutil = None |
| 29 self.battery_patcher = mock.patch.object(battery_utils, 'BatteryUtils') | 29 self.battery_patcher = mock.patch.object(battery_utils, 'BatteryUtils') |
| 30 self.battery_patcher.start() | 30 self.battery_patcher.start() |
| 31 | 31 |
| 32 def get_prop(name, cache=None): | 32 def get_prop(name, cache=None): |
| 33 return {'ro.product.cpu.abi': 'armeabi-v7a'}.get(name) | 33 return {'ro.product.cpu.abi': 'armeabi-v7a'}.get(name) |
| 34 | 34 |
| 35 self.setup_prebuilt_tool_patcher = mock.patch( | |
| 36 'telemetry.internal.platform.android_platform_backend._SetupPrebuiltTool
s') # pylint: disable=line-too-long | |
| 37 m = self.setup_prebuilt_tool_patcher.start() | |
| 38 m.return_value = True | |
| 39 | |
| 40 self.device_patcher = mock.patch.multiple( | 35 self.device_patcher = mock.patch.multiple( |
| 41 device_utils.DeviceUtils, | 36 device_utils.DeviceUtils, |
| 42 HasRoot=mock.MagicMock(return_value=True), | 37 HasRoot=mock.MagicMock(return_value=True), |
| 43 GetProp=mock.MagicMock(side_effect=get_prop)) | 38 GetProp=mock.MagicMock(side_effect=get_prop)) |
| 44 self.device_patcher.start() | 39 self.device_patcher.start() |
| 45 | 40 |
| 46 def tearDown(self): | 41 def tearDown(self): |
| 47 self._stubs.Restore() | 42 self._stubs.Restore() |
| 48 android_platform_backend.psutil = self._actual_ps_util | 43 android_platform_backend.psutil = self._actual_ps_util |
| 49 self.battery_patcher.stop() | 44 self.battery_patcher.stop() |
| 50 self.setup_prebuilt_tool_patcher.stop() | |
| 51 self.device_patcher.stop() | 45 self.device_patcher.stop() |
| 52 | 46 |
| 53 @decorators.Disabled('chromeos') | 47 @decorators.Disabled('chromeos') |
| 54 def testIsSvelte(self): | 48 def testIsSvelte(self): |
| 55 with mock.patch('devil.android.device_utils.DeviceUtils.RunShellCommand', | 49 with mock.patch('devil.android.device_utils.DeviceUtils.RunShellCommand', |
| 56 return_value=0): | 50 return_value=0): |
| 57 backend = android_platform_backend.AndroidPlatformBackend( | 51 backend = android_platform_backend.AndroidPlatformBackend( |
| 58 android_device.AndroidDevice('12345'), self._options) | 52 android_device.AndroidDevice('12345'), self._options) |
| 59 self.assertTrue(backend.IsSvelte()) | 53 self.assertTrue(backend.IsSvelte()) |
| 60 | 54 |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 return [self.Process(self)] | 164 return [self.Process(self)] |
| 171 | 165 |
| 172 def setUp(self): | 166 def setUp(self): |
| 173 self._options = options_for_unittests.GetCopy() | 167 self._options = options_for_unittests.GetCopy() |
| 174 self._stubs = system_stub.Override( | 168 self._stubs = system_stub.Override( |
| 175 android_platform_backend, | 169 android_platform_backend, |
| 176 ['perf_control']) | 170 ['perf_control']) |
| 177 self.battery_patcher = mock.patch.object(battery_utils, 'BatteryUtils') | 171 self.battery_patcher = mock.patch.object(battery_utils, 'BatteryUtils') |
| 178 self.battery_patcher.start() | 172 self.battery_patcher.start() |
| 179 self._actual_ps_util = android_platform_backend.psutil | 173 self._actual_ps_util = android_platform_backend.psutil |
| 180 self.setup_prebuilt_tool_patcher = mock.patch( | |
| 181 'telemetry.internal.platform.android_platform_backend._SetupPrebuiltTool
s') # pylint: disable=line-too-long | |
| 182 m = self.setup_prebuilt_tool_patcher.start() | |
| 183 m.return_value = True | |
| 184 | 174 |
| 185 def get_prop(name, cache=None): | 175 def get_prop(name, cache=None): |
| 186 return {'ro.product.cpu.abi': 'armeabi-v7a'}.get(name) | 176 return {'ro.product.cpu.abi': 'armeabi-v7a'}.get(name) |
| 187 | 177 |
| 188 self.helper_patcher = mock.patch( | |
| 189 'telemetry.internal.platform.android_platform_backend._SetupPrebuiltTool
s', # pylint: disable=line-too-long | |
| 190 return_value=True) | |
| 191 self.helper_patcher.start() | |
| 192 | |
| 193 self.device_patcher = mock.patch.multiple( | 178 self.device_patcher = mock.patch.multiple( |
| 194 device_utils.DeviceUtils, | 179 device_utils.DeviceUtils, |
| 195 FileExists=mock.MagicMock(return_value=False), | 180 FileExists=mock.MagicMock(return_value=False), |
| 196 GetProp=mock.MagicMock(side_effect=get_prop), | 181 GetProp=mock.MagicMock(side_effect=get_prop), |
| 197 HasRoot=mock.MagicMock(return_value=True)) | 182 HasRoot=mock.MagicMock(return_value=True)) |
| 198 self.device_patcher.start() | 183 self.device_patcher.start() |
| 199 | 184 |
| 200 def tearDown(self): | 185 def tearDown(self): |
| 201 self._stubs.Restore() | 186 self._stubs.Restore() |
| 202 android_platform_backend.psutil = self._actual_ps_util | 187 android_platform_backend.psutil = self._actual_ps_util |
| 203 self.battery_patcher.stop() | 188 self.battery_patcher.stop() |
| 204 self.device_patcher.stop() | 189 self.device_patcher.stop() |
| 205 self.helper_patcher.stop() | |
| 206 self.setup_prebuilt_tool_patcher.stop() | |
| 207 | 190 |
| 208 @decorators.Disabled('chromeos') | 191 @decorators.Disabled('chromeos') |
| 209 def testPsutil1(self): | 192 def testPsutil1(self): |
| 210 psutil = self.psutil_1_0() | 193 psutil = self.psutil_1_0() |
| 211 android_platform_backend.psutil = psutil | 194 android_platform_backend.psutil = psutil |
| 212 | 195 |
| 213 # Mock an empty /proc/pid/stat. | 196 # Mock an empty /proc/pid/stat. |
| 214 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', | 197 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', |
| 215 return_value=''): | 198 return_value=''): |
| 216 backend = android_platform_backend.AndroidPlatformBackend( | 199 backend = android_platform_backend.AndroidPlatformBackend( |
| 217 android_device.AndroidDevice('1234'), self._options) | 200 android_device.AndroidDevice('1234'), self._options) |
| 218 cpu_stats = backend.GetCpuStats('7702') | 201 cpu_stats = backend.GetCpuStats('7702') |
| 219 self.assertEquals({}, cpu_stats) | 202 self.assertEquals({}, cpu_stats) |
| 220 self.assertEquals([[0]], psutil.set_cpu_affinity_args) | 203 self.assertEquals([[0]], psutil.set_cpu_affinity_args) |
| 221 | 204 |
| 222 @decorators.Disabled('chromeos') | 205 @decorators.Disabled('chromeos') |
| 223 def testPsutil2(self): | 206 def testPsutil2(self): |
| 224 psutil = self.psutil_2_0() | 207 psutil = self.psutil_2_0() |
| 225 android_platform_backend.psutil = psutil | 208 android_platform_backend.psutil = psutil |
| 226 | 209 |
| 227 # Mock an empty /proc/pid/stat. | 210 # Mock an empty /proc/pid/stat. |
| 228 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', | 211 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', |
| 229 return_value=''): | 212 return_value=''): |
| 230 backend = android_platform_backend.AndroidPlatformBackend( | 213 backend = android_platform_backend.AndroidPlatformBackend( |
| 231 android_device.AndroidDevice('1234'), self._options) | 214 android_device.AndroidDevice('1234'), self._options) |
| 232 cpu_stats = backend.GetCpuStats('7702') | 215 cpu_stats = backend.GetCpuStats('7702') |
| 233 self.assertEquals({}, cpu_stats) | 216 self.assertEquals({}, cpu_stats) |
| 234 self.assertEquals([[0]], psutil.set_cpu_affinity_args) | 217 self.assertEquals([[0]], psutil.set_cpu_affinity_args) |
| OLD | NEW |