Index: build/android/pylib/utils/run_tests_helper.py |
diff --git a/build/android/pylib/utils/run_tests_helper.py b/build/android/pylib/utils/run_tests_helper.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..43f654ddcffb61750991cdedb6169defba5499bb |
--- /dev/null |
+++ b/build/android/pylib/utils/run_tests_helper.py |
@@ -0,0 +1,44 @@ |
+# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+"""Helper functions common to native, java and host-driven test runners.""" |
+ |
+import logging |
+import sys |
+import time |
+ |
+ |
+class CustomFormatter(logging.Formatter): |
+ """Custom log formatter.""" |
+ |
+ #override |
+ def __init__(self, fmt='%(threadName)-4s %(message)s'): |
+ # Can't use super() because in older Python versions logging.Formatter does |
+ # not inherit from object. |
+ logging.Formatter.__init__(self, fmt=fmt) |
+ self._creation_time = time.time() |
+ |
+ #override |
+ def format(self, record): |
+ # Can't use super() because in older Python versions logging.Formatter does |
+ # not inherit from object. |
+ msg = logging.Formatter.format(self, record) |
+ if 'MainThread' in msg[:19]: |
+ msg = msg.replace('MainThread', 'Main', 1) |
+ timediff = time.time() - self._creation_time |
+ return '%s %8.3fs %s' % (record.levelname[0], timediff, msg) |
+ |
+ |
+def SetLogLevel(verbose_count): |
+ """Sets log level as |verbose_count|.""" |
+ log_level = logging.WARNING # Default. |
+ if verbose_count == 1: |
+ log_level = logging.INFO |
+ elif verbose_count >= 2: |
+ log_level = logging.DEBUG |
+ logger = logging.getLogger() |
+ logger.setLevel(log_level) |
+ custom_handler = logging.StreamHandler(sys.stdout) |
+ custom_handler.setFormatter(CustomFormatter()) |
+ logging.getLogger().addHandler(custom_handler) |