Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(407)

Side by Side Diff: telemetry/telemetry/internal/platform/android_platform_backend_unittest.py

Issue 2162963002: [polymer] Merge of master into polymer10-migration (Closed) Base URL: git@github.com:catapult-project/catapult.git@polymer10-migration
Patch Set: Merge polymer10-migration int polymer10-merge Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 system_stub 10 from telemetry.testing import system_stub
(...skipping 23 matching lines...) Expand all
34 HasRoot=mock.MagicMock(return_value=True), 34 HasRoot=mock.MagicMock(return_value=True),
35 GetProp=mock.MagicMock(side_effect=get_prop)) 35 GetProp=mock.MagicMock(side_effect=get_prop))
36 self.device_patcher.start() 36 self.device_patcher.start()
37 37
38 def tearDown(self): 38 def tearDown(self):
39 self._stubs.Restore() 39 self._stubs.Restore()
40 android_platform_backend.psutil = self._actual_ps_util 40 android_platform_backend.psutil = self._actual_ps_util
41 self.battery_patcher.stop() 41 self.battery_patcher.stop()
42 self.device_patcher.stop() 42 self.device_patcher.stop()
43 43
44 @decorators.Disabled('chromeos') 44 @decorators.Disabled('chromeos', 'mac', 'win')
45 def testIsSvelte(self): 45 def testIsSvelte(self):
46 with mock.patch('devil.android.device_utils.DeviceUtils.GetProp', 46 with mock.patch('devil.android.device_utils.DeviceUtils.GetProp',
47 return_value='svelte'): 47 return_value='svelte'):
48 backend = android_platform_backend.AndroidPlatformBackend( 48 backend = android_platform_backend.AndroidPlatformBackend(
49 android_device.AndroidDevice('12345')) 49 android_device.AndroidDevice('12345'))
50 self.assertTrue(backend.IsSvelte()) 50 self.assertTrue(backend.IsSvelte())
51 51
52 @decorators.Disabled('chromeos') 52 @decorators.Disabled('chromeos', 'mac', 'win')
53 def testIsNotSvelte(self): 53 def testIsNotSvelte(self):
54 with mock.patch('devil.android.device_utils.DeviceUtils.GetProp', 54 with mock.patch('devil.android.device_utils.DeviceUtils.GetProp',
55 return_value='foo'): 55 return_value='foo'):
56 backend = android_platform_backend.AndroidPlatformBackend( 56 backend = android_platform_backend.AndroidPlatformBackend(
57 android_device.AndroidDevice('12345')) 57 android_device.AndroidDevice('12345'))
58 self.assertFalse(backend.IsSvelte()) 58 self.assertFalse(backend.IsSvelte())
59 59
60 @decorators.Disabled('chromeos') 60 @decorators.Disabled('chromeos', 'mac', 'win')
61 def testGetCpuStats(self): 61 def testGetCpuStats(self):
62 proc_stat_content = ( 62 proc_stat_content = (
63 '7702 (.android.chrome) S 167 167 0 0 -1 1077936448 ' 63 '7702 (.android.chrome) S 167 167 0 0 -1 1077936448 '
64 '3247 0 0 0 4 1 0 0 20 0 9 0 5603962 337379328 5867 ' 64 '3247 0 0 0 4 1 0 0 20 0 9 0 5603962 337379328 5867 '
65 '4294967295 1074458624 1074463824 3197495984 3197494152 ' 65 '4294967295 1074458624 1074463824 3197495984 3197494152 '
66 '1074767676 0 4612 0 38136 4294967295 0 0 17 0 0 0 0 0 0 ' 66 '1074767676 0 4612 0 38136 4294967295 0 0 17 0 0 0 0 0 0 '
67 '1074470376 1074470912 1102155776\n') 67 '1074470376 1074470912 1102155776\n')
68 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', 68 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile',
69 return_value=proc_stat_content): 69 return_value=proc_stat_content):
70 backend = android_platform_backend.AndroidPlatformBackend( 70 backend = android_platform_backend.AndroidPlatformBackend(
71 android_device.AndroidDevice('12345')) 71 android_device.AndroidDevice('12345'))
72 cpu_stats = backend.GetCpuStats('7702') 72 cpu_stats = backend.GetCpuStats('7702')
73 self.assertEquals(cpu_stats, {'CpuProcessTime': 0.05}) 73 self.assertEquals(cpu_stats, {'CpuProcessTime': 0.05})
74 74
75 @decorators.Disabled('chromeos') 75 @decorators.Disabled('chromeos', 'mac', 'win')
76 def testGetCpuStatsInvalidPID(self): 76 def testGetCpuStatsInvalidPID(self):
77 # Mock an empty /proc/pid/stat. 77 # Mock an empty /proc/pid/stat.
78 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', 78 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile',
79 return_value=''): 79 return_value=''):
80 backend = android_platform_backend.AndroidPlatformBackend( 80 backend = android_platform_backend.AndroidPlatformBackend(
81 android_device.AndroidDevice('1234')) 81 android_device.AndroidDevice('1234'))
82 cpu_stats = backend.GetCpuStats('7702') 82 cpu_stats = backend.GetCpuStats('7702')
83 self.assertEquals(cpu_stats, {}) 83 self.assertEquals(cpu_stats, {})
84 84
85 @decorators.Disabled('chromeos', 'mac', 'win')
85 def testAndroidParseCpuStates(self): 86 def testAndroidParseCpuStates(self):
86 cstate = { 87 cstate = {
87 'cpu0': 'C0\nC1\n103203424\n5342040\n300\n500\n1403232500', 88 'cpu0': 'C0\nC1\n103203424\n5342040\n300\n500\n1403232500',
88 'cpu1': 'C0\n124361858\n300\n1403232500' 89 'cpu1': 'C0\n124361858\n300\n1403232500'
89 } 90 }
90 expected_cstate = { 91 expected_cstate = {
91 'cpu0': { 92 'cpu0': {
92 'WFI': 103203424, 93 'WFI': 103203424,
93 'C0': 1403232391454536, 94 'C0': 1403232391454536,
94 'C1': 5342040 95 'C1': 5342040
95 }, 96 },
96 'cpu1': { 97 'cpu1': {
97 'WFI': 124361858, 98 'WFI': 124361858,
98 'C0': 1403232375638142 99 'C0': 1403232375638142
99 } 100 }
100 } 101 }
101 # Use mock start and end times to allow for the test to calculate C0. 102 # Use mock start and end times to allow for the test to calculate C0.
102 result = android_platform_backend.AndroidPlatformBackend.ParseCStateSample( 103 result = android_platform_backend.AndroidPlatformBackend.ParseCStateSample(
103 cstate) 104 cstate)
104 for cpu in result: 105 for cpu in result:
105 for state in result[cpu]: 106 for state in result[cpu]:
106 self.assertAlmostEqual(result[cpu][state], expected_cstate[cpu][state]) 107 self.assertAlmostEqual(result[cpu][state], expected_cstate[cpu][state])
107 108
109 @decorators.Disabled('chromeos', 'mac', 'win')
108 def testInstallTestCaSuccess(self): 110 def testInstallTestCaSuccess(self):
109 backend = android_platform_backend.AndroidPlatformBackend( 111 backend = android_platform_backend.AndroidPlatformBackend(
110 android_device.AndroidDevice('success')) 112 android_device.AndroidDevice('success'))
111 with mock.patch('adb_install_cert.AndroidCertInstaller'): 113 with mock.patch('adb_install_cert.AndroidCertInstaller'):
112 backend.InstallTestCa('testca.pem') 114 backend.InstallTestCa('testca.pem')
113 self.assertIsNotNone(backend._device_cert_util) 115 self.assertIsNotNone(backend._device_cert_util)
114 116
115 backend.RemoveTestCa() 117 backend.RemoveTestCa()
116 self.assertIsNone(backend._device_cert_util) 118 self.assertIsNone(backend._device_cert_util)
117 119
120 @decorators.Disabled('chromeos', 'mac', 'win')
118 def testIsScreenLockedTrue(self): 121 def testIsScreenLockedTrue(self):
119 test_input = ['a=b', 'mHasBeenInactive=true'] 122 test_input = ['a=b', 'mHasBeenInactive=true']
120 backend = android_platform_backend.AndroidPlatformBackend( 123 backend = android_platform_backend.AndroidPlatformBackend(
121 android_device.AndroidDevice('success')) 124 android_device.AndroidDevice('success'))
122 self.assertTrue(backend._IsScreenLocked(test_input)) 125 self.assertTrue(backend._IsScreenLocked(test_input))
123 126
127 @decorators.Disabled('chromeos', 'mac', 'win')
124 def testIsScreenLockedFalse(self): 128 def testIsScreenLockedFalse(self):
125 test_input = ['a=b', 'mHasBeenInactive=false'] 129 test_input = ['a=b', 'mHasBeenInactive=false']
126 backend = android_platform_backend.AndroidPlatformBackend( 130 backend = android_platform_backend.AndroidPlatformBackend(
127 android_device.AndroidDevice('success')) 131 android_device.AndroidDevice('success'))
128 self.assertFalse(backend._IsScreenLocked(test_input)) 132 self.assertFalse(backend._IsScreenLocked(test_input))
129 133
130 134
131 class AndroidPlatformBackendPsutilTest(unittest.TestCase): 135 class AndroidPlatformBackendPsutilTest(unittest.TestCase):
132 136
133 class psutil_1_0(object): 137 class psutil_1_0(object):
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 GetProp=mock.MagicMock(side_effect=get_prop), 180 GetProp=mock.MagicMock(side_effect=get_prop),
177 HasRoot=mock.MagicMock(return_value=True)) 181 HasRoot=mock.MagicMock(return_value=True))
178 self.device_patcher.start() 182 self.device_patcher.start()
179 183
180 def tearDown(self): 184 def tearDown(self):
181 self._stubs.Restore() 185 self._stubs.Restore()
182 android_platform_backend.psutil = self._actual_ps_util 186 android_platform_backend.psutil = self._actual_ps_util
183 self.battery_patcher.stop() 187 self.battery_patcher.stop()
184 self.device_patcher.stop() 188 self.device_patcher.stop()
185 189
186 @decorators.Disabled('chromeos') 190 @decorators.Disabled('chromeos', 'mac', 'win')
187 def testPsutil1(self): 191 def testPsutil1(self):
188 psutil = self.psutil_1_0() 192 psutil = self.psutil_1_0()
189 android_platform_backend.psutil = psutil 193 android_platform_backend.psutil = psutil
190 194
191 # Mock an empty /proc/pid/stat. 195 # Mock an empty /proc/pid/stat.
192 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', 196 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile',
193 return_value=''): 197 return_value=''):
194 backend = android_platform_backend.AndroidPlatformBackend( 198 backend = android_platform_backend.AndroidPlatformBackend(
195 android_device.AndroidDevice('1234')) 199 android_device.AndroidDevice('1234'))
196 cpu_stats = backend.GetCpuStats('7702') 200 cpu_stats = backend.GetCpuStats('7702')
197 self.assertEquals({}, cpu_stats) 201 self.assertEquals({}, cpu_stats)
198 self.assertEquals([[0]], psutil.set_cpu_affinity_args) 202 self.assertEquals([[0]], psutil.set_cpu_affinity_args)
199 203
200 @decorators.Disabled('chromeos') 204 @decorators.Disabled('chromeos', 'mac', 'win')
201 def testPsutil2(self): 205 def testPsutil2(self):
202 psutil = self.psutil_2_0() 206 psutil = self.psutil_2_0()
203 android_platform_backend.psutil = psutil 207 android_platform_backend.psutil = psutil
204 208
205 # Mock an empty /proc/pid/stat. 209 # Mock an empty /proc/pid/stat.
206 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile', 210 with mock.patch('devil.android.device_utils.DeviceUtils.ReadFile',
207 return_value=''): 211 return_value=''):
208 backend = android_platform_backend.AndroidPlatformBackend( 212 backend = android_platform_backend.AndroidPlatformBackend(
209 android_device.AndroidDevice('1234')) 213 android_device.AndroidDevice('1234'))
210 cpu_stats = backend.GetCpuStats('7702') 214 cpu_stats = backend.GetCpuStats('7702')
211 self.assertEquals({}, cpu_stats) 215 self.assertEquals({}, cpu_stats)
212 self.assertEquals([[0]], psutil.set_cpu_affinity_args) 216 self.assertEquals([[0]], psutil.set_cpu_affinity_args)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698