OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 # pylint: disable=W0212 |
4 | 5 |
5 import os | 6 import os |
6 import sys | 7 import sys |
7 import unittest | 8 import unittest |
8 | 9 |
9 sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) | 10 sys.path.append(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir)) |
10 | 11 |
11 from pylib import android_commands | 12 from pylib import android_commands |
12 from pylib.device import device_utils | 13 from pylib.device import device_utils |
13 from pylib.perf import perf_control | 14 from pylib.perf import perf_control |
14 | 15 |
15 | |
16 class TestPerfControl(unittest.TestCase): | 16 class TestPerfControl(unittest.TestCase): |
17 def setUp(self): | 17 def setUp(self): |
18 if not os.getenv('BUILDTYPE'): | 18 if not os.getenv('BUILDTYPE'): |
19 os.environ['BUILDTYPE'] = 'Debug' | 19 os.environ['BUILDTYPE'] = 'Debug' |
20 | 20 |
21 devices = android_commands.GetAttachedDevices() | 21 devices = android_commands.GetAttachedDevices() |
22 self.assertGreater(len(devices), 0, 'No device attached!') | 22 self.assertGreater(len(devices), 0, 'No device attached!') |
23 self._device = device_utils.DeviceUtils( | 23 self._device = device_utils.DeviceUtils( |
24 android_commands.AndroidCommands(device=devices[0])) | 24 android_commands.AndroidCommands(device=devices[0])) |
25 | 25 |
26 def testForceAllCpusOnline(self): | 26 def testHighPerfMode(self): |
27 perf = perf_control.PerfControl(self._device) | 27 perf = perf_control.PerfControl(self._device) |
28 cpu_online_files = self._device.RunShellCommand( | |
29 'ls -d /sys/devices/system/cpu/cpu[0-9]*/online') | |
30 try: | 28 try: |
31 perf.ForceAllCpusOnline(True) | 29 perf.SetPerfProfilingMode() |
32 for path in cpu_online_files: | 30 for cpu in range(perf._NumCpuCores): |
| 31 path = perf_control.PerfControl._CPU_ONLINE_FMT % cpu |
33 self.assertEquals('1', | 32 self.assertEquals('1', |
34 self._device.old_interface.GetFileContents(path)[0]) | 33 self._device.old_interface.GetFileContents(path)[0]) |
35 mode = self._device.RunShellCommand('ls -l %s' % path)[0] | 34 path = perf_control.PerfControl._SCALING_GOVERNOR_FMT % cpu |
36 self.assertEquals('-r--r--r--', mode[:10]) | 35 self.assertEquals('performance', |
| 36 self._device.old_interface.GetFileContents(path)[0]) |
37 finally: | 37 finally: |
38 perf.ForceAllCpusOnline(False) | 38 perf.SetDefaultPerfMode() |
39 | |
40 for path in cpu_online_files: | |
41 mode = self._device.RunShellCommand('ls -l %s' % path)[0] | |
42 self.assertEquals('-rw-r--r--', mode[:10]) | |
43 | |
44 | 39 |
45 if __name__ == '__main__': | 40 if __name__ == '__main__': |
46 unittest.main() | 41 unittest.main() |
OLD | NEW |