OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 re | 5 import re |
6 | 6 |
7 import android_commands | 7 import android_commands |
8 import json | 8 import json |
9 import math | 9 import math |
10 | 10 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 def __init__(self, adb): | 135 def __init__(self, adb): |
136 self._adb = adb | 136 self._adb = adb |
137 kernel_max = self._adb.GetFileContents('/sys/devices/system/cpu/kernel_max', | 137 kernel_max = self._adb.GetFileContents('/sys/devices/system/cpu/kernel_max', |
138 log_result=False) | 138 log_result=False) |
139 assert kernel_max, 'Unable to find /sys/devices/system/cpu/kernel_max' | 139 assert kernel_max, 'Unable to find /sys/devices/system/cpu/kernel_max' |
140 self._kernel_max = int(kernel_max[0]) | 140 self._kernel_max = int(kernel_max[0]) |
141 self._original_scaling_governor = None | 141 self._original_scaling_governor = None |
142 | 142 |
143 def DropRamCaches(self): | 143 def DropRamCaches(self): |
144 """Drops the filesystem ram caches for performance testing.""" | 144 """Drops the filesystem ram caches for performance testing.""" |
145 if not self._adb.IsRootEnabled(): | 145 self._adb.RunShellCommand('su -c sync') |
146 self._adb.EnableAdbRoot() | 146 self._adb.SetProtectedFileContents(PerfTestSetup._DROP_CACHES, '3') |
147 self._adb.RunShellCommand('sync') | |
148 self._adb.RunShellCommand('echo 3 > ' + PerfTestSetup._DROP_CACHES) | |
149 | 147 |
150 def SetUp(self): | 148 def SetUp(self): |
151 """Sets up performance tests.""" | 149 """Sets up performance tests.""" |
152 if not self._original_scaling_governor: | 150 if not self._original_scaling_governor: |
153 self._original_scaling_governor = self._adb.GetFileContents( | 151 self._original_scaling_governor = self._adb.GetFileContents( |
154 PerfTestSetup._SCALING_GOVERNOR_FMT % 0, | 152 PerfTestSetup._SCALING_GOVERNOR_FMT % 0, |
155 log_result=False)[0] | 153 log_result=False)[0] |
156 self._SetScalingGovernorInternal('performance') | 154 self._SetScalingGovernorInternal('performance') |
157 self.DropRamCaches() | 155 self.DropRamCaches() |
158 | 156 |
159 def TearDown(self): | 157 def TearDown(self): |
160 """Tears down performance tests.""" | 158 """Tears down performance tests.""" |
161 if self._original_scaling_governor: | 159 if self._original_scaling_governor: |
162 self._SetScalingGovernorInternal(self._original_scaling_governor) | 160 self._SetScalingGovernorInternal(self._original_scaling_governor) |
163 self._original_scaling_governor = None | 161 self._original_scaling_governor = None |
164 | 162 |
165 def _SetScalingGovernorInternal(self, value): | 163 def _SetScalingGovernorInternal(self, value): |
166 for cpu in range(self._kernel_max + 1): | 164 for cpu in range(self._kernel_max + 1): |
167 scaling_governor_file = PerfTestSetup._SCALING_GOVERNOR_FMT % cpu | 165 scaling_governor_file = PerfTestSetup._SCALING_GOVERNOR_FMT % cpu |
168 if self._adb.Adb().DoesFileExist(scaling_governor_file): | 166 if self._adb.FileExistsOnDevice(scaling_governor_file): |
169 self._adb.RunShellCommand( | 167 self._adb.SetProtectedFileContents(scaling_governor_file, value) |
170 ('echo %s > ' + scaling_governor_file) % value) | |
OLD | NEW |