Chromium Code Reviews| Index: testing/android/java/src/org/chromium/testing/local/GtestLogger.java |
| diff --git a/testing/android/java/src/org/chromium/testing/local/GtestLogger.java b/testing/android/java/src/org/chromium/testing/local/GtestLogger.java |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..eecf839f6e3b8d480ab96bf29321834be2695425 |
| --- /dev/null |
| +++ b/testing/android/java/src/org/chromium/testing/local/GtestLogger.java |
| @@ -0,0 +1,99 @@ |
| +// Copyright 2014 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. |
| + |
| +package org.chromium.testing.local; |
| + |
| +import org.junit.runner.Description; |
| + |
| +import java.io.PrintStream; |
| +import java.util.Set; |
| + |
| +/** |
| + * Formats and logs test status information in googletest-style. |
| + */ |
| +public class GtestLogger { |
| + |
| + private PrintStream mOutputStream; |
|
nyquist
2014/09/19 22:21:45
final
jbudorick
2014/09/20 00:11:29
Done.
|
| + |
| + public GtestLogger(PrintStream outputStream) { |
| + mOutputStream = outputStream; |
| + } |
| + |
| + /** |
| + * Logs the start of an individual test. |
| + */ |
| + public void testStarted(Description test) { |
| + mOutputStream.format("[ RUN ] %s.%s", test.getClassName(), test.getMethodName()); |
| + mOutputStream.println(); |
| + } |
| + |
| + /** |
| + * Logs the end of an individual test. |
| + */ |
| + public void testFinished(Description test, boolean passed, long elapsedTimeMillis) { |
| + if (passed) { |
| + mOutputStream.format("[ OK ] %s.%s (%d ms)", |
| + test.getClassName(), test.getMethodName(), elapsedTimeMillis); |
| + } else { |
| + mOutputStream.format("[ FAILED ] %s.%s (%d ms)", |
| + test.getClassName(), test.getMethodName(), elapsedTimeMillis); |
| + } |
| + mOutputStream.println(); |
| + } |
| + |
| + /** |
| + * Logs the start of a test case. |
| + */ |
| + public void testCaseStarted(Description test, int testCount) { |
| + mOutputStream.format("[----------] Run %d test cases from %s", testCount, |
| + test.getClassName()); |
| + mOutputStream.println(); |
| + } |
| + |
| + /** |
| + * Logs the end of a test case. |
| + */ |
| + public void testCaseFinished(Description test, int testCount, |
| + long elapsedTimeMillis) { |
| + mOutputStream.format("[----------] Run %d test cases from %s (%d ms)", |
| + testCount, test.getClassName(), elapsedTimeMillis); |
| + mOutputStream.println(); |
| + mOutputStream.println(); |
| + } |
| + |
| + /** |
| + * Logs the start of a test run. |
| + */ |
| + public void testRunStarted(int testCount) { |
| + mOutputStream.format("[==========] Running %d tests.", testCount); |
| + mOutputStream.println(); |
| + mOutputStream.println("[----------] Global test environment set-up."); |
| + mOutputStream.println(); |
| + } |
| + |
| + /** |
| + * Logs the end of a test run. |
| + */ |
| + public void testRunFinished(int passedTestCount, Set<Description> failedTests, |
| + long elapsedTimeMillis) { |
| + int totalTestCount = passedTestCount + failedTests.size(); |
| + mOutputStream.println("[----------] Global test environment tear-down."); |
| + mOutputStream.format("[==========] %d tests ran. (%d ms total)", |
| + totalTestCount, elapsedTimeMillis); |
| + mOutputStream.println(); |
| + mOutputStream.format("[ PASSED ] %d tests.", passedTestCount); |
| + mOutputStream.println(); |
| + if (!failedTests.isEmpty()) { |
| + mOutputStream.format("[ FAILED ] %d tests.", failedTests.size()); |
| + mOutputStream.println(); |
| + for (Description d : failedTests) { |
| + mOutputStream.format("[ FAILED ] %s.%s", d.getClassName(), d.getMethodName()); |
| + mOutputStream.println(); |
| + } |
| + mOutputStream.println(); |
| + } |
| + } |
| + |
| +} |
| + |