| Index: testing/android/junit/javatests/src/org/chromium/testing/local/GtestLoggerTest.java
|
| diff --git a/testing/android/junit/javatests/src/org/chromium/testing/local/GtestLoggerTest.java b/testing/android/junit/javatests/src/org/chromium/testing/local/GtestLoggerTest.java
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2a442fcdbf2ceba0f2c05ff58176919990c05e18
|
| --- /dev/null
|
| +++ b/testing/android/junit/javatests/src/org/chromium/testing/local/GtestLoggerTest.java
|
| @@ -0,0 +1,144 @@
|
| +// 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.Assert;
|
| +import org.junit.Test;
|
| +import org.junit.runner.Description;
|
| +import org.junit.runner.RunWith;
|
| +import org.junit.runners.BlockJUnit4ClassRunner;
|
| +
|
| +import java.io.ByteArrayOutputStream;
|
| +import java.io.PrintStream;
|
| +import java.io.Serializable;
|
| +import java.util.Comparator;
|
| +import java.util.HashSet;
|
| +import java.util.Set;
|
| +import java.util.TreeSet;
|
| +
|
| +/**
|
| + * Unit tests for GtestLogger.
|
| + */
|
| +@RunWith(BlockJUnit4ClassRunner.class)
|
| +public class GtestLoggerTest {
|
| +
|
| + @Test
|
| + public void testTestStarted() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| + loggerUnderTest.testStarted(
|
| + Description.createTestDescription(GtestLoggerTest.class, "testTestStarted"));
|
| + Assert.assertEquals(
|
| + "[ RUN ] org.chromium.testing.local.GtestLoggerTest.testTestStarted\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + @Test
|
| + public void testTestFinishedPassed() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| + loggerUnderTest.testFinished(
|
| + Description.createTestDescription(GtestLoggerTest.class, "testTestFinishedPassed"),
|
| + true, 123);
|
| + Assert.assertEquals(
|
| + "[ OK ] org.chromium.testing.local.GtestLoggerTest.testTestFinishedPassed" +
|
| + " (123 ms)\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + @Test
|
| + public void testTestFinishedFailed() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| + loggerUnderTest.testFinished(
|
| + Description.createTestDescription(GtestLoggerTest.class, "testTestFinishedPassed"),
|
| + false, 123);
|
| + Assert.assertEquals(
|
| + "[ FAILED ] org.chromium.testing.local.GtestLoggerTest.testTestFinishedPassed" +
|
| + " (123 ms)\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + @Test
|
| + public void testTestCaseStarted() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| + loggerUnderTest.testCaseStarted(
|
| + Description.createSuiteDescription(GtestLoggerTest.class), 456);
|
| + Assert.assertEquals(
|
| + "[----------] Run 456 test cases from org.chromium.testing.local.GtestLoggerTest\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + @Test
|
| + public void testTestCaseFinished() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| + loggerUnderTest.testCaseFinished(
|
| + Description.createSuiteDescription(GtestLoggerTest.class), 456, 123);
|
| + Assert.assertEquals(
|
| + "[----------] Run 456 test cases from org.chromium.testing.local.GtestLoggerTest" +
|
| + " (123 ms)\n\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + @Test
|
| + public void testTestRunStarted() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| + loggerUnderTest.testRunStarted(1234);
|
| + Assert.assertEquals(
|
| + "[==========] Running 1234 tests.\n" +
|
| + "[----------] Global test environment set-up.\n\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + @Test
|
| + public void testTestRunFinishedNoFailures() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| + loggerUnderTest.testRunFinished(1234, new HashSet<Description>(), 4321);
|
| + Assert.assertEquals(
|
| + "[----------] Global test environment tear-down.\n" +
|
| + "[==========] 1234 tests ran. (4321 ms total)\n" +
|
| + "[ PASSED ] 1234 tests.\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + @Test
|
| + public void testTestRunFinishedWithFailures() {
|
| + ByteArrayOutputStream actual = new ByteArrayOutputStream();
|
| + GtestLogger loggerUnderTest = new GtestLogger(new PrintStream(actual));
|
| +
|
| + Set<Description> failures = new TreeSet<Description>(new DescriptionComparator());
|
| + failures.add(Description.createTestDescription(
|
| + "GtestLoggerTest", "testTestRunFinishedNoFailures"));
|
| + failures.add(Description.createTestDescription(
|
| + "GtestLoggerTest", "testTestRunFinishedWithFailures"));
|
| +
|
| + loggerUnderTest.testRunFinished(1232, failures, 4312);
|
| + Assert.assertEquals(
|
| + "[----------] Global test environment tear-down.\n" +
|
| + "[==========] 1234 tests ran. (4312 ms total)\n" +
|
| + "[ PASSED ] 1232 tests.\n" +
|
| + "[ FAILED ] 2 tests.\n" +
|
| + "[ FAILED ] GtestLoggerTest.testTestRunFinishedNoFailures\n" +
|
| + "[ FAILED ] GtestLoggerTest.testTestRunFinishedWithFailures\n" +
|
| + "\n",
|
| + actual.toString());
|
| + }
|
| +
|
| + private static class DescriptionComparator implements Comparator<Description>, Serializable {
|
| + @Override
|
| + public int compare(Description o1, Description o2) {
|
| + return toGtestStyleString(o1).compareTo(toGtestStyleString(o2));
|
| + }
|
| +
|
| + private static String toGtestStyleString(Description d) {
|
| + return d.getClassName() + "." + d.getMethodName();
|
| + }
|
| + }
|
| +}
|
| +
|
|
|