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

Unified Diff: build/android/test_runner.py

Issue 2695963003: Use logdog butler subcommand to run tests. (Closed)
Patch Set: adjust to new test_runner.py Created 3 years, 9 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/BUILD.gn ('k') | build/android/test_wrapper/logdog_wrapper.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/test_runner.py
diff --git a/build/android/test_runner.py b/build/android/test_runner.py
index ee6f87a86a0a382a7be1b30054c5a1617c1cb61e..0bf240d16e1ccc106c1a51cabd102f86fb56e390 100755
--- a/build/android/test_runner.py
+++ b/build/android/test_runner.py
@@ -12,6 +12,7 @@ import contextlib
import itertools
import logging
import os
+import shutil
import signal
import sys
import threading
@@ -34,6 +35,7 @@ from pylib.base import test_instance_factory
from pylib.base import test_run_factory
from pylib.results import json_results
from pylib.results import report_results
+from pylib.utils import logdog_helper
from py_utils import contextlib_ext
@@ -208,6 +210,12 @@ def AddDeviceOptions(parser):
help='Run the test under a tool '
'(use --tool help to list them)')
+ parser.add_argument(
+ '--upload-logcats-file',
+ action='store_true',
+ dest='upload_logcats_file',
+ help='Whether to upload logcat file to logdog.')
+
logcat_output_group = parser.add_mutually_exclusive_group()
logcat_output_group.add_argument(
'--logcat-output-dir', type=os.path.realpath,
@@ -725,6 +733,24 @@ def RunTestsInPlatformMode(args):
write_json_file(),
args.json_results_file)
+ @contextlib.contextmanager
+ def upload_logcats_file():
+ try:
+ yield
+ finally:
+ if not args.logcat_output_file:
+ logging.critical('Cannot upload logcats file. '
+ 'File to save logcat is not specified.')
+ else:
+ with open(args.logcat_output_file) as src:
+ dst = logdog_helper.open_text('unified_logcats')
+ if dst:
+ shutil.copyfileobj(src, dst)
+
+ logcats_uploader = contextlib_ext.Optional(
+ upload_logcats_file(),
+ 'upload_logcats_file' in args and args.upload_logcats_file)
+
### Set up test objects.
env = environment_factory.CreateEnvironment(args, infra_error)
@@ -734,7 +760,7 @@ def RunTestsInPlatformMode(args):
### Run.
- with json_writer, env, test_instance, test_run:
+ with json_writer, logcats_uploader, env, test_instance, test_run:
repetitions = (xrange(args.repeat + 1) if args.repeat >= 0
else itertools.count())
« no previous file with comments | « build/android/BUILD.gn ('k') | build/android/test_wrapper/logdog_wrapper.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698