diff options
author | 2016-04-13 09:51:25 +0000 | |
---|---|---|
committer | 2016-04-14 07:36:34 +0000 | |
commit | d232d2332c0f63e69ac2957caf2139c67be85d42 (patch) | |
tree | 202c4c750c8f1982dd574e5605e3158523689985 /src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java | |
parent | bbf59ed1be85354457ad1d8123cc1973aa3ba298 (diff) |
experimental UI: Keep track of completed tests
When running tests, a useful information to know is the number of tests
that have passed and failed already. Hence subscribe to the relevant events
and provide this information in the progress bar as well.
--
Change-Id: I6fabec3f4585500f096b820dbbd5e8e6897647fa
Reviewed-on: https://bazel-review.googlesource.com/#/c/3350
MOS_MIGRATED_REVID=119727962
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java b/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java index eaf4a50904..bf53b692f1 100644 --- a/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java +++ b/src/test/java/com/google/devtools/build/lib/runtime/ExperimentalStateTrackerTest.java @@ -17,11 +17,14 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.when; +import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionCompletionEvent; import com.google.devtools.build.lib.actions.ActionStartedEvent; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Root; +import com.google.devtools.build.lib.analysis.ConfiguredTarget; +import com.google.devtools.build.lib.buildtool.buildevent.TestFilteringCompleteEvent; import com.google.devtools.build.lib.testutil.FoundationTestCase; import com.google.devtools.build.lib.testutil.ManualClock; import com.google.devtools.build.lib.util.io.AnsiTerminalWriter; @@ -246,4 +249,30 @@ public class ExperimentalStateTrackerTest extends FoundationTestCase { "Progress bar showing a running action should be time dependent", stateTracker.progressBarTimeDependent()); } + + @Test + public void testCountVisible() throws IOException { + // The test count should be visible in the status bar, as well as the short status bar + ManualClock clock = new ManualClock(); + ExperimentalStateTracker stateTracker = new ExperimentalStateTracker(clock); + TestFilteringCompleteEvent filteringComplete = Mockito.mock(TestFilteringCompleteEvent.class); + ConfiguredTarget targetA = Mockito.mock(ConfiguredTarget.class); + ConfiguredTarget targetB = Mockito.mock(ConfiguredTarget.class); + when(filteringComplete.getTestTargets()).thenReturn(ImmutableSet.of(targetA, targetB)); + TestSummary testSummary = Mockito.mock(TestSummary.class); + stateTracker.testFilteringComplete(filteringComplete); + stateTracker.testSummary(testSummary); + + LoggingTerminalWriter terminalWriter = new LoggingTerminalWriter(); + stateTracker.writeProgressBar(terminalWriter); + String output = terminalWriter.getWritten(); + assertTrue( + "Test count should be visible in output: " + output, output.contains(" 1 / 2 tests")); + + terminalWriter = new LoggingTerminalWriter(); + stateTracker.writeProgressBar(terminalWriter, /* shortVersion=*/ true); + output = terminalWriter.getWritten(); + assertTrue( + "Test count should be visible in short output: " + output, output.contains(" 1 / 2 tests")); + } } |