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

Unified Diff: build/android/pylib/linker/test_case.py

Issue 221823011: [Android] Change object types from AndroidCommands to DeviceUtils in build/android/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/android/pylib/instrumentation/test_runner.py ('k') | build/android/pylib/monkey/test_runner.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/pylib/linker/test_case.py
diff --git a/build/android/pylib/linker/test_case.py b/build/android/pylib/linker/test_case.py
index 6789287058e78f85a92c30aab85fef87108a50a7..0530f5344e6f3dc669a48ba747d67be3ed2fc321 100644
--- a/build/android/pylib/linker/test_case.py
+++ b/build/android/pylib/linker/test_case.py
@@ -41,7 +41,6 @@ import re
import time
from pylib import constants
-from pylib import android_commands
from pylib.base import base_test_result
@@ -109,11 +108,12 @@ def _GetBrowserSharedRelroConfig():
return configs[0]
-def _WriteCommandLineFile(adb, command_line, command_line_file):
+def _WriteCommandLineFile(device, command_line, command_line_file):
"""Create a command-line file on the device. This does not use FlagChanger
because its implementation assumes the device has 'su', and thus does
not work at all with production devices."""
- adb.RunShellCommand('echo "%s" > %s' % (command_line, command_line_file))
+ device.old_interface.RunShellCommand(
+ 'echo "%s" > %s' % (command_line, command_line_file))
def _CheckLinkerTestStatus(logcat):
@@ -148,24 +148,24 @@ def _CheckLinkerTestStatus(logcat):
return (False, None, None)
-def _StartActivityAndWaitForLinkerTestStatus(adb, timeout):
+def _StartActivityAndWaitForLinkerTestStatus(device, timeout):
"""Force-start an activity and wait up to |timeout| seconds until the full
- linker test status lines appear in the logcat, recorded through |adb|.
+ linker test status lines appear in the logcat, recorded through |device|.
Args:
- adb: An AndroidCommands instance.
+ device: A DeviceUtils instance.
timeout: Timeout in seconds
Returns:
A (status, logs) tuple, where status is a ResultType constant, and logs
if the final logcat output as a string.
"""
# 1. Start recording logcat with appropriate filters.
- adb.StartRecordingLogcat(clear=True, filters=_LOGCAT_FILTERS)
+ device.old_interface.StartRecordingLogcat(
+ clear=True, filters=_LOGCAT_FILTERS)
try:
# 2. Force-start activity.
- adb.StartActivity(package=_PACKAGE_NAME,
- activity=_ACTIVITY_NAME,
- force_stop=True)
+ device.old_interface.StartActivity(
+ package=_PACKAGE_NAME, activity=_ACTIVITY_NAME, force_stop=True)
# 3. Wait up to |timeout| seconds until the test status is in the logcat.
num_tries = 0
@@ -175,12 +175,12 @@ def _StartActivityAndWaitForLinkerTestStatus(adb, timeout):
time.sleep(1)
num_tries += 1
found, browser_ok, renderer_ok = _CheckLinkerTestStatus(
- adb.GetCurrentRecordedLogcat())
+ device.old_interface.GetCurrentRecordedLogcat())
if found:
break
finally:
- logs = adb.StopRecordingLogcat()
+ logs = device.old_interface.StopRecordingLogcat()
if num_tries >= max_tries:
return ResultType.TIMEOUT, logs
@@ -295,10 +295,10 @@ class LinkerTestCaseBase(object):
self.qualified_name = '%s.%s' % (class_name, test_suffix)
self.tagged_name = self.qualified_name
- def _RunTest(self, _adb):
+ def _RunTest(self, _device):
"""Run the test, must be overriden.
Args:
- _adb: An AndroidCommands instance to the device.
+ _device: A DeviceUtils interface.
Returns:
A (status, log) tuple, where <status> is a ResultType constant, and <log>
is the logcat output captured during the test in case of error, or None
@@ -316,16 +316,15 @@ class LinkerTestCaseBase(object):
margin = 8
print '[ %-*s ] %s' % (margin, 'RUN', self.tagged_name)
logging.info('Running linker test: %s', self.tagged_name)
- adb = android_commands.AndroidCommands(device)
# Create command-line file on device.
command_line_flags = ''
if self.is_low_memory:
command_line_flags = '--low-memory-device'
- _WriteCommandLineFile(adb, command_line_flags, _COMMAND_LINE_FILE)
+ _WriteCommandLineFile(device, command_line_flags, _COMMAND_LINE_FILE)
# Run the test.
- status, logs = self._RunTest(adb)
+ status, logs = self._RunTest(device)
result_text = 'OK'
if status == ResultType.FAIL:
@@ -374,9 +373,9 @@ class LinkerSharedRelroTest(LinkerTestCaseBase):
- The test case passes if the <status> for both the browser and renderer
process are SUCCESS. Otherwise its a fail.
"""
- def _RunTest(self, adb):
+ def _RunTest(self, device):
# Wait up to 30 seconds until the linker test status is in the logcat.
- return _StartActivityAndWaitForLinkerTestStatus(adb, timeout=30)
+ return _StartActivityAndWaitForLinkerTestStatus(device, timeout=30)
class LinkerLibraryAddressTest(LinkerTestCaseBase):
@@ -391,8 +390,8 @@ class LinkerLibraryAddressTest(LinkerTestCaseBase):
- For regular devices, the browser process should load libraries above
0x4000_0000, and renderer ones below it.
"""
- def _RunTest(self, adb):
- result, logs = _StartActivityAndWaitForLinkerTestStatus(adb, timeout=30)
+ def _RunTest(self, device):
+ result, logs = _StartActivityAndWaitForLinkerTestStatus(device, timeout=30)
# Return immediately in case of timeout.
if result == ResultType.TIMEOUT:
@@ -478,14 +477,15 @@ class LinkerRandomizationTest(LinkerTestCaseBase):
that if there are more than one pair of identical addresses, then the
load addresses are not random enough for this test.
"""
- def _RunTest(self, adb):
+ def _RunTest(self, device):
max_loops = 5
browser_lib_map_list = []
renderer_lib_map_list = []
logs_list = []
for _ in range(max_loops):
# Start the activity.
- result, logs = _StartActivityAndWaitForLinkerTestStatus(adb, timeout=30)
+ result, logs = _StartActivityAndWaitForLinkerTestStatus(
+ device, timeout=30)
if result == ResultType.TIMEOUT:
# Something bad happened. Return immediately.
return result, logs
« no previous file with comments | « build/android/pylib/instrumentation/test_runner.py ('k') | build/android/pylib/monkey/test_runner.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698