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

Unified Diff: build/android/pylib/test_package_apk.py

Issue 10689132: [android] Upstream / sync most of build/android and build/android/pylib. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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/test_package.py ('k') | build/android/pylib/test_package_executable.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/pylib/test_package_apk.py
diff --git a/build/android/pylib/test_package_apk.py b/build/android/pylib/test_package_apk.py
index e5d215152eba583cf75ebcc7799af026b3ebd9cd..a5fbf6b344dc556a40a7ac0c5e7e5d27fdd83c23 100644
--- a/build/android/pylib/test_package_apk.py
+++ b/build/android/pylib/test_package_apk.py
@@ -4,6 +4,7 @@
import os
+import re
import sys
import cmd_helper
@@ -38,9 +39,6 @@ class TestPackageApk(TestPackage):
tool, dump_debug_info)
def _CreateTestRunnerScript(self, options):
- tool_wrapper = self.tool.GetTestWrapper()
- if tool_wrapper:
- raise RuntimeError("TestPackageApk does not support custom wrappers.")
command_line_file = tempfile.NamedTemporaryFile()
# GTest expects argv[0] to be the executable path.
command_line_file.write(self.test_suite_basename + ' ' + options)
@@ -55,15 +53,27 @@ class TestPackageApk(TestPackage):
def GetAllTests(self):
"""Returns a list of all tests available in the test suite."""
self._CreateTestRunnerScript('--gtest_list_tests')
- self.adb.RunShellCommand(
- 'am start -n '
- 'com.android.chrome.native_tests/'
- 'android.app.NativeActivity')
+ try:
+ self.tool.SetupEnvironment()
+ # Clear and start monitoring logcat.
+ self.adb.StartMonitoringLogcat(clear=True,
+ timeout=30 * self.tool.GetTimeoutScale())
+ self.adb.RunShellCommand(
+ 'am start -n '
+ 'org.chromium.native_test/'
+ 'org.chromium.native_test.ChromeNativeTestActivity')
+ # Wait for native test to complete.
+ self.adb.WaitForLogMatch(re.compile('<<nativeRunTests'), None)
+ finally:
+ self.tool.CleanUpEnvironment()
+ # Copy stdout.txt and read contents.
stdout_file = tempfile.NamedTemporaryFile()
ret = []
self.adb.Adb().Pull(TestPackageApk.APK_DATA_DIR + 'stdout.txt',
stdout_file.name)
- ret = self._ParseGTestListTests(stdout_file)
+ # We need to strip the trailing newline.
+ content = [line.rstrip() for line in open(stdout_file.name)]
+ ret = self._ParseGTestListTests(content)
return ret
def CreateTestRunnerScript(self, gtest_filter, test_arguments):
@@ -72,10 +82,14 @@ class TestPackageApk(TestPackage):
def RunTestsAndListResults(self):
self.adb.StartMonitoringLogcat(clear=True, logfile=sys.stdout)
- self.adb.RunShellCommand(
- 'am start -n '
+ try:
+ self.tool.SetupEnvironment()
+ self.adb.RunShellCommand(
+ 'am start -n '
'org.chromium.native_test/'
'org.chromium.native_test.ChromeNativeTestActivity')
+ finally:
+ self.tool.CleanUpEnvironment()
return self._WatchTestOutput(self.adb.GetMonitoredLogCat())
def StripAndCopyExecutable(self):
« no previous file with comments | « build/android/pylib/test_package.py ('k') | build/android/pylib/test_package_executable.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698