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

Unified Diff: tools/telemetry/telemetry/unittest/gtest_testrunner.py

Issue 355203002: Revert of [telemetry] Refactor run_tests to remove old cruft. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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: tools/telemetry/telemetry/unittest/gtest_testrunner.py
diff --git a/tools/telemetry/telemetry/unittest/gtest_testrunner.py b/tools/telemetry/telemetry/unittest/gtest_testrunner.py
new file mode 100755
index 0000000000000000000000000000000000000000..ae11f22e0d7c0a2aa7775a4ee8691065dd0e2348
--- /dev/null
+++ b/tools/telemetry/telemetry/unittest/gtest_testrunner.py
@@ -0,0 +1,48 @@
+#!/usr/bin/env python
+# Copyright 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 sys
+import time
+import unittest
+
+from telemetry.unittest import gtest_unittest_results
+
+
+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):
+ self.print_result_after_run = print_result_after_run
+ self.result = gtest_unittest_results.GTestUnittestResults(sys.stdout)
+
+ def run(self, test):
+ "Run the given test case or test suite."
+ test(self.result)
+ if self.print_result_after_run:
+ self.result.PrintSummary()
+ return self.result
« no previous file with comments | « tools/telemetry/telemetry/results/gtest_test_results.py ('k') | tools/telemetry/telemetry/unittest/gtest_unittest_results.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698