Index: tools/telemetry/telemetry/internal/platform/android_platform_backend_unittest.py |
diff --git a/tools/telemetry/telemetry/internal/platform/android_platform_backend_unittest.py b/tools/telemetry/telemetry/internal/platform/android_platform_backend_unittest.py |
deleted file mode 100644 |
index 8b939d095435ff14c02a5434d3a12a26116331df..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/internal/platform/android_platform_backend_unittest.py |
+++ /dev/null |
@@ -1,219 +0,0 @@ |
-# Copyright 2013 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 import decorators |
-from telemetry.internal.platform import android_device |
-from telemetry.internal.platform import android_platform_backend |
-from telemetry.testing import options_for_unittests |
-from telemetry.testing import system_stub |
-import mock |
- |
-from devil.android import battery_utils |
-from devil.android import device_errors |
-from devil.android import device_utils |
- |
-class AndroidPlatformBackendTest(unittest.TestCase): |
- def setUp(self): |
- self._options = options_for_unittests.GetCopy() |
- self._stubs = system_stub.Override( |
- android_platform_backend, |
- ['perf_control', 'thermal_throttle', 'certutils', 'adb_install_cert', |
- 'platformsettings']) |
- |
- # Skip _FixPossibleAdbInstability by setting psutil to None. |
- self._actual_ps_util = android_platform_backend.psutil |
- android_platform_backend.psutil = None |
- self.battery_patcher = mock.patch.object(battery_utils, 'BatteryUtils') |
- self.battery_patcher.start() |
- |
- def get_prop(name, cache=None): |
- del cache # unused |
- return {'ro.product.cpu.abi': 'armeabi-v7a'}.get(name) |
- |
- self.device_patcher = mock.patch.multiple( |
- device_utils.DeviceUtils, |
- HasRoot=mock.MagicMock(return_value=True), |
- GetProp=mock.MagicMock(side_effect=get_prop)) |
- self.device_patcher.start() |
- |
- def tearDown(self): |
- self._stubs.Restore() |
- android_platform_backend.psutil = self._actual_ps_util |
- self.battery_patcher.stop() |
- self.device_patcher.stop() |
- |
- @decorators.Disabled('chromeos') |
- def testIsSvelte(self): |
- with mock.patch('devil.android.device_utils.DeviceUtils.RunShellCommand', |
- return_value=0): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('12345'), self._options) |
- self.assertTrue(backend.IsSvelte()) |
- |
- @decorators.Disabled('chromeos') |
- def testIsNotSvelte(self): |
- with mock.patch('devil.android.device_utils.DeviceUtils.RunShellCommand', |
- side_effect=device_errors.AdbCommandFailedError('m', 'n')): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('12345'), self._options) |
- self.assertFalse(backend.IsSvelte()) |
- |
- @decorators.Disabled('chromeos') |
- def testGetCpuStats(self): |
- proc_stat_content = ( |
- '7702 (.android.chrome) S 167 167 0 0 -1 1077936448 ' |
- '3247 0 0 0 4 1 0 0 20 0 9 0 5603962 337379328 5867 ' |
- '4294967295 1074458624 1074463824 3197495984 3197494152 ' |
- '1074767676 0 4612 0 38136 4294967295 0 0 17 0 0 0 0 0 0 ' |
- '1074470376 1074470912 1102155776\n') |
- with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', |
- return_value=proc_stat_content): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('12345'), self._options) |
- cpu_stats = backend.GetCpuStats('7702') |
- self.assertEquals(cpu_stats, {'CpuProcessTime': 0.05}) |
- |
- @decorators.Disabled('chromeos') |
- def testGetCpuStatsInvalidPID(self): |
- # Mock an empty /proc/pid/stat. |
- with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', |
- return_value=''): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('1234'), self._options) |
- cpu_stats = backend.GetCpuStats('7702') |
- self.assertEquals(cpu_stats, {}) |
- |
- def testAndroidParseCpuStates(self): |
- cstate = { |
- 'cpu0': 'C0\nC1\n103203424\n5342040\n300\n500\n1403232500', |
- 'cpu1': 'C0\n124361858\n300\n1403232500' |
- } |
- expected_cstate = { |
- 'cpu0': { |
- 'WFI': 103203424, |
- 'C0': 1403232391454536, |
- 'C1': 5342040 |
- }, |
- 'cpu1': { |
- 'WFI': 124361858, |
- 'C0': 1403232375638142 |
- } |
- } |
- # Use mock start and end times to allow for the test to calculate C0. |
- result = android_platform_backend.AndroidPlatformBackend.ParseCStateSample( |
- cstate) |
- for cpu in result: |
- for state in result[cpu]: |
- self.assertAlmostEqual(result[cpu][state], expected_cstate[cpu][state]) |
- |
- def testInstallTestCaFailure(self): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('failure'), self._options) |
- backend.InstallTestCa() |
- self.assertFalse(backend.is_test_ca_installed) |
- |
- def testInstallTestCaSuccess(self): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('success'), self._options) |
- backend.InstallTestCa() |
- self.assertTrue(backend.is_test_ca_installed) |
- |
- def testIsScreenLockedTrue(self): |
- test_input = ['a=b', 'mHasBeenInactive=true'] |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('success'), self._options) |
- self.assertTrue(backend._IsScreenLocked(test_input)) |
- |
- def testIsScreenLockedFalse(self): |
- test_input = ['a=b', 'mHasBeenInactive=false'] |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('success'), self._options) |
- self.assertFalse(backend._IsScreenLocked(test_input)) |
- |
- |
-class AndroidPlatformBackendPsutilTest(unittest.TestCase): |
- |
- class psutil_1_0(object): |
- version_info = (1, 0) |
- def __init__(self): |
- self.set_cpu_affinity_args = [] |
- class Process(object): |
- def __init__(self, parent): |
- self._parent = parent |
- self.name = 'adb' |
- def set_cpu_affinity(self, cpus): |
- self._parent.set_cpu_affinity_args.append(cpus) |
- def process_iter(self): |
- return [self.Process(self)] |
- |
- class psutil_2_0(object): |
- version_info = (2, 0) |
- def __init__(self): |
- self.set_cpu_affinity_args = [] |
- class Process(object): |
- def __init__(self, parent): |
- self._parent = parent |
- self.set_cpu_affinity_args = [] |
- def name(self): |
- return 'adb' |
- def cpu_affinity(self, cpus=None): |
- self._parent.set_cpu_affinity_args.append(cpus) |
- def process_iter(self): |
- return [self.Process(self)] |
- |
- def setUp(self): |
- self._options = options_for_unittests.GetCopy() |
- self._stubs = system_stub.Override( |
- android_platform_backend, |
- ['perf_control']) |
- self.battery_patcher = mock.patch.object(battery_utils, 'BatteryUtils') |
- self.battery_patcher.start() |
- self._actual_ps_util = android_platform_backend.psutil |
- |
- def get_prop(name, cache=None): |
- del cache # unused |
- return {'ro.product.cpu.abi': 'armeabi-v7a'}.get(name) |
- |
- self.device_patcher = mock.patch.multiple( |
- device_utils.DeviceUtils, |
- FileExists=mock.MagicMock(return_value=False), |
- GetProp=mock.MagicMock(side_effect=get_prop), |
- HasRoot=mock.MagicMock(return_value=True)) |
- self.device_patcher.start() |
- |
- def tearDown(self): |
- self._stubs.Restore() |
- android_platform_backend.psutil = self._actual_ps_util |
- self.battery_patcher.stop() |
- self.device_patcher.stop() |
- |
- @decorators.Disabled('chromeos') |
- def testPsutil1(self): |
- psutil = self.psutil_1_0() |
- android_platform_backend.psutil = psutil |
- |
- # Mock an empty /proc/pid/stat. |
- with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', |
- return_value=''): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('1234'), self._options) |
- cpu_stats = backend.GetCpuStats('7702') |
- self.assertEquals({}, cpu_stats) |
- self.assertEquals([[0]], psutil.set_cpu_affinity_args) |
- |
- @decorators.Disabled('chromeos') |
- def testPsutil2(self): |
- psutil = self.psutil_2_0() |
- android_platform_backend.psutil = psutil |
- |
- # Mock an empty /proc/pid/stat. |
- with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', |
- return_value=''): |
- backend = android_platform_backend.AndroidPlatformBackend( |
- android_device.AndroidDevice('1234'), self._options) |
- cpu_stats = backend.GetCpuStats('7702') |
- self.assertEquals({}, cpu_stats) |
- self.assertEquals([[0]], psutil.set_cpu_affinity_args) |