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

Unified Diff: build/android/test_runner.py

Issue 2695963003: Use logdog butler subcommand to run tests. (Closed)
Patch Set: change the missed revision of logdog 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
Index: build/android/test_runner.py
diff --git a/build/android/test_runner.py b/build/android/test_runner.py
index 99711722442a312ce6ce0a519f62a3275c0f5bf1..1b800a0f8d345fcb31fe9a3e5c91a5e612b87e2d 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
@@ -36,6 +37,7 @@ from pylib.base import test_run_factory
from pylib.constants import host_paths
from pylib.results import json_results
from pylib.results import report_results
+from pylib.utils import logdog_helper
from py_utils import contextlib_ext
@@ -115,6 +117,9 @@ def AddCommonOptions(parser):
help='Path to save test_runner trace data to. This option '
'has been implemented for gtest, instrumentation '
'test and perf test.')
+ group.add_argument('--upload-logcats-file', action='store_true',
+ dest='upload_logcats_file',
+ help='Whether to upload logcat file to logdog.')
logcat_output_group = group.add_mutually_exclusive_group()
logcat_output_group.add_argument(
@@ -725,6 +730,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(),
+ args.upload_logcats_file)
+
### Set up test objects.
env = environment_factory.CreateEnvironment(args, infra_error)
@@ -734,7 +757,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())

Powered by Google App Engine
This is Rietveld 408576698