run_tests_helper.py revision ca12bfac764ba476d6cd062bf1dde12cc64c3f40
1# Copyright (c) 2012 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5"""Helper functions common to native, java and python test runners.""" 6 7import logging 8import os 9import sys 10import time 11 12 13class CustomFormatter(logging.Formatter): 14 """Custom log formatter.""" 15 16 #override 17 def __init__(self, fmt='%(threadName)-4s %(message)s'): 18 # Can't use super() because in older Python versions logging.Formatter does 19 # not inherit from object. 20 logging.Formatter.__init__(self, fmt=fmt) 21 self._creation_time = time.time() 22 23 #override 24 def format(self, record): 25 # Can't use super() because in older Python versions logging.Formatter does 26 # not inherit from object. 27 msg = logging.Formatter.format(self, record) 28 if 'MainThread' in msg[:19]: 29 msg = msg.replace('MainThread', 'Main', 1) 30 timediff = str(int(time.time() - self._creation_time)) 31 return '%s %ss %s' % (record.levelname[0], timediff.rjust(4), msg) 32 33 34def SetLogLevel(verbose_count): 35 """Sets log level as |verbose_count|.""" 36 log_level = logging.WARNING # Default. 37 if verbose_count == 1: 38 log_level = logging.INFO 39 elif verbose_count >= 2: 40 log_level = logging.DEBUG 41 logger = logging.getLogger() 42 logger.setLevel(log_level) 43 custom_handler = logging.StreamHandler(sys.stdout) 44 custom_handler.setFormatter(CustomFormatter()) 45 logging.getLogger().addHandler(custom_handler) 46