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 |