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 |