| Index: tools/telemetry/telemetry/gtest_testrunner.py
|
| diff --git a/tools/telemetry/telemetry/gtest_testrunner.py b/tools/telemetry/telemetry/gtest_testrunner.py
|
| deleted file mode 100755
|
| index 9626d2b88754ccf6b750db205262a13b006b566b..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/gtest_testrunner.py
|
| +++ /dev/null
|
| @@ -1,108 +0,0 @@
|
| -#!/usr/bin/env python
|
| -# Copyright (c) 2013 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.
|
| -
|
| -"""Implements a unittest TestRunner with GTest output.
|
| -
|
| -This output is ported from gtest.cc's PrettyUnitTestResultPrinter, but
|
| -designed to be a drop-in replacement for unittest's TextTestRunner.
|
| -"""
|
| -
|
| -import time
|
| -import unittest
|
| -
|
| -
|
| -class GTestTestResult(unittest.TestResult):
|
| - def __init__(self):
|
| - unittest.TestResult.__init__(self)
|
| - self.timestamp = None
|
| - self.num_successes = 0
|
| -
|
| - def _GetMs(self):
|
| - return (time.time() - self.timestamp) * 1000
|
| -
|
| - @property
|
| - def num_errors(self):
|
| - return len(self.errors) + len(self.failures)
|
| -
|
| - @staticmethod
|
| - def _formatTestname(test):
|
| - chunks = test.id().split('.')[-2:]
|
| - return '.'.join(chunks)
|
| -
|
| - def _emitFailure(self, test, err):
|
| - print self._exc_info_to_string(err, test)
|
| - test_name = GTestTestResult._formatTestname(test)
|
| - print '[ FAILED ]', test_name, '(%0.f ms)' % self._GetMs()
|
| -
|
| - def addError(self, test, err):
|
| - self._emitFailure(test, err)
|
| - super(GTestTestResult, self).addError(test, err)
|
| -
|
| - def addFailure(self, test, err):
|
| - self._emitFailure(test, err)
|
| - super(GTestTestResult, self).addFailure(test, err)
|
| -
|
| - def startTest(self, test):
|
| - print '[ RUN ]', GTestTestResult._formatTestname(test)
|
| - self.timestamp = time.time()
|
| - super(GTestTestResult, self).startTest(test)
|
| -
|
| - def addSuccess(self, test):
|
| - self.num_successes = self.num_successes + 1
|
| - test_name = GTestTestResult._formatTestname(test)
|
| - print '[ OK ]', test_name, '(%0.f ms)' % self._GetMs()
|
| -
|
| - def PrintSummary(self):
|
| - unit = 'test' if self.num_successes == 1 else 'tests'
|
| - print '[ PASSED ] %d %s.' % (self.num_successes, unit)
|
| - if self.errors or self.failures:
|
| - all_errors = self.errors[:]
|
| - all_errors.extend(self.failures)
|
| - unit = 'test' if len(all_errors) == 1 else 'tests'
|
| - print '[ FAILED ] %d %s, listed below:' % (len(all_errors), unit)
|
| - for test, _ in all_errors:
|
| - print '[ FAILED ] ', GTestTestResult._formatTestname(test)
|
| - if not self.wasSuccessful():
|
| - print
|
| - count = len(self.errors) + len(self.failures)
|
| - unit = 'TEST' if count == 1 else 'TESTS'
|
| - print '%d FAILED %s' % (count, unit)
|
| - print
|
| -
|
| -
|
| -class GTestTestSuite(unittest.TestSuite):
|
| - def __call__(self, *args, **kwargs):
|
| - result = args[0]
|
| - timestamp = time.time()
|
| - unit = 'test' if len(self._tests) == 1 else 'tests'
|
| - if not any(isinstance(x, unittest.TestSuite) for x in self._tests):
|
| - print '[----------] %d %s' % (len(self._tests), unit)
|
| - for test in self._tests:
|
| - if result.shouldStop:
|
| - break
|
| - test(result)
|
| - endts = time.time()
|
| - ms = (endts - timestamp) * 1000
|
| - if not any(isinstance(x, unittest.TestSuite) for x in self._tests):
|
| - print '[----------] %d %s (%d ms total)' % (len(self._tests), unit, ms)
|
| - print
|
| - return result
|
| -
|
| -
|
| -class GTestTestRunner(object):
|
| - def __init__(self, print_result_after_run=True, runner=None):
|
| - self.print_result_after_run = print_result_after_run
|
| - self.result = None
|
| - if runner:
|
| - self.result = runner.result
|
| -
|
| - def run(self, test):
|
| - "Run the given test case or test suite."
|
| - if not self.result:
|
| - self.result = GTestTestResult()
|
| - test(self.result)
|
| - if self.print_result_after_run:
|
| - self.result.PrintSummary()
|
| - return self.result
|
|
|