зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1486004 - Part 6 - Update mach perftest to support unrooted android devices using mozdevice 4.0.0, ? r=tarek
Depends on D82748 Differential Revision: https://phabricator.services.mozilla.com/D82749
This commit is contained in:
Родитель
0dca9b22c0
Коммит
8f3e6b9e4c
|
@ -46,7 +46,7 @@ class ADBLoggedDevice(ADBDevice):
|
||||||
self._provided_logger = kw.pop("logger")
|
self._provided_logger = kw.pop("logger")
|
||||||
super(ADBLoggedDevice, self).__init__(*args, **kw)
|
super(ADBLoggedDevice, self).__init__(*args, **kw)
|
||||||
|
|
||||||
def _get_logger(self, logger_name):
|
def _get_logger(self, logger_name, verbose):
|
||||||
return self._provided_logger
|
return self._provided_logger
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ class PerformanceTuner:
|
||||||
def tune_performance(self):
|
def tune_performance(self):
|
||||||
self.log.info("tuning android device performance")
|
self.log.info("tuning android device performance")
|
||||||
self.set_svc_power_stayon()
|
self.set_svc_power_stayon()
|
||||||
if self.device._have_su or self.device._have_android_su:
|
if self.device.is_rooted:
|
||||||
device_name = self.device.shell_output(
|
device_name = self.device.shell_output(
|
||||||
"getprop ro.product.model", timeout=self.timeout
|
"getprop ro.product.model", timeout=self.timeout
|
||||||
)
|
)
|
||||||
|
@ -36,12 +36,10 @@ class PerformanceTuner:
|
||||||
self.device.clear_logcat(timeout=self.timeout)
|
self.device.clear_logcat(timeout=self.timeout)
|
||||||
self.log.info("android device performance tuning complete")
|
self.log.info("android device performance tuning complete")
|
||||||
|
|
||||||
def _set_value_and_check_exitcode(self, file_name, value, root=False):
|
def _set_value_and_check_exitcode(self, file_name, value):
|
||||||
self.log.info("setting {} to {}".format(file_name, value))
|
self.log.info("setting {} to {}".format(file_name, value))
|
||||||
if self.device.shell_bool(
|
if self.device.shell_bool(
|
||||||
" ".join(["echo", str(value), ">", str(file_name)]),
|
" ".join(["echo", str(value), ">", str(file_name)]), timeout=self.timeout,
|
||||||
root=root,
|
|
||||||
timeout=self.timeout,
|
|
||||||
):
|
):
|
||||||
self.log.info("successfully set {} to {}".format(file_name, value))
|
self.log.info("successfully set {} to {}".format(file_name, value))
|
||||||
else:
|
else:
|
||||||
|
@ -65,9 +63,7 @@ class PerformanceTuner:
|
||||||
]
|
]
|
||||||
for service in services:
|
for service in services:
|
||||||
self.log.info(" ".join(["turning off service:", service]))
|
self.log.info(" ".join(["turning off service:", service]))
|
||||||
self.device.shell_bool(
|
self.device.shell_bool(" ".join(["stop", service]), timeout=self.timeout)
|
||||||
" ".join(["stop", service]), root=True, timeout=self.timeout
|
|
||||||
)
|
|
||||||
|
|
||||||
services_list_output = self.device.shell_output(
|
services_list_output = self.device.shell_output(
|
||||||
"service list", timeout=self.timeout
|
"service list", timeout=self.timeout
|
||||||
|
@ -113,7 +109,7 @@ class PerformanceTuner:
|
||||||
}
|
}
|
||||||
|
|
||||||
for key, value in commands.items():
|
for key, value in commands.items():
|
||||||
self._set_value_and_check_exitcode(key, value, root=True)
|
self._set_value_and_check_exitcode(key, value)
|
||||||
|
|
||||||
def set_cpu_performance_parameters(self, device_name=None):
|
def set_cpu_performance_parameters(self, device_name=None):
|
||||||
self.log.info("setting cpu performance parameters")
|
self.log.info("setting cpu performance parameters")
|
||||||
|
@ -158,7 +154,7 @@ class PerformanceTuner:
|
||||||
)
|
)
|
||||||
|
|
||||||
for key, value in commands.items():
|
for key, value in commands.items():
|
||||||
self._set_value_and_check_exitcode(key, value, root=True)
|
self._set_value_and_check_exitcode(key, value)
|
||||||
|
|
||||||
def set_gpu_performance_parameters(self, device_name=None):
|
def set_gpu_performance_parameters(self, device_name=None):
|
||||||
self.log.info("setting gpu performance parameters")
|
self.log.info("setting gpu performance parameters")
|
||||||
|
@ -208,7 +204,7 @@ class PerformanceTuner:
|
||||||
)
|
)
|
||||||
|
|
||||||
for key, value in commands.items():
|
for key, value in commands.items():
|
||||||
self._set_value_and_check_exitcode(key, value, root=True)
|
self._set_value_and_check_exitcode(key, value)
|
||||||
|
|
||||||
def set_kernel_performance_parameters(self):
|
def set_kernel_performance_parameters(self):
|
||||||
self.log.info("setting kernel performance parameters")
|
self.log.info("setting kernel performance parameters")
|
||||||
|
@ -219,4 +215,4 @@ class PerformanceTuner:
|
||||||
"/sys/kernel/debug/msm-bus-dbg/shell-client/slv": "512",
|
"/sys/kernel/debug/msm-bus-dbg/shell-client/slv": "512",
|
||||||
}
|
}
|
||||||
for key, value in commands.items():
|
for key, value in commands.items():
|
||||||
self._set_value_and_check_exitcode(key, value, root=True)
|
self._set_value_and_check_exitcode(key, value)
|
||||||
|
|
|
@ -16,6 +16,8 @@ class FakeDevice:
|
||||||
self._logger = mock.MagicMock()
|
self._logger = mock.MagicMock()
|
||||||
self._have_su = True
|
self._have_su = True
|
||||||
self._have_android_su = True
|
self._have_android_su = True
|
||||||
|
self._have_root_shell = True
|
||||||
|
self.is_rooted = True
|
||||||
|
|
||||||
def clear_logcat(self, *args, **kwargs):
|
def clear_logcat(self, *args, **kwargs):
|
||||||
return True
|
return True
|
||||||
|
@ -60,6 +62,8 @@ def test_android_perf_tuning_rooted(device):
|
||||||
# on rooted devices correctly
|
# on rooted devices correctly
|
||||||
device._have_su = True
|
device._have_su = True
|
||||||
device._have_android_su = True
|
device._have_android_su = True
|
||||||
|
device._have_root_shell = True
|
||||||
|
device.is_rooted = True
|
||||||
with mock.patch(
|
with mock.patch(
|
||||||
"mozperftest.system.android_perf_tuner.PerformanceTuner.set_kernel_performance_parameters"
|
"mozperftest.system.android_perf_tuner.PerformanceTuner.set_kernel_performance_parameters"
|
||||||
) as mockfunc:
|
) as mockfunc:
|
||||||
|
@ -74,6 +78,8 @@ def test_android_perf_tuning_nonrooted(device):
|
||||||
# on non-rooted devices correctly
|
# on non-rooted devices correctly
|
||||||
device._have_su = False
|
device._have_su = False
|
||||||
device._have_android_su = False
|
device._have_android_su = False
|
||||||
|
device._have_root_shell = False
|
||||||
|
device.is_rooted = False
|
||||||
with mock.patch(
|
with mock.patch(
|
||||||
"mozperftest.system.android_perf_tuner.PerformanceTuner.set_kernel_performance_parameters"
|
"mozperftest.system.android_perf_tuner.PerformanceTuner.set_kernel_performance_parameters"
|
||||||
) as mockfunc:
|
) as mockfunc:
|
||||||
|
|
|
@ -7,9 +7,9 @@ from __future__ import absolute_import
|
||||||
from setuptools import setup
|
from setuptools import setup
|
||||||
|
|
||||||
PACKAGE_NAME = "mozperftest"
|
PACKAGE_NAME = "mozperftest"
|
||||||
PACKAGE_VERSION = "0.1"
|
PACKAGE_VERSION = "0.2"
|
||||||
|
|
||||||
deps = ["jsonschema", "mozlog >= 6.0", "mozdevice >= 3.0.2,<4", "mozproxy", "mozinfo"]
|
deps = ["jsonschema", "mozlog >= 6.0", "mozdevice >= 4.0.0", "mozproxy", "mozinfo"]
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name=PACKAGE_NAME,
|
name=PACKAGE_NAME,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче