Search in sources :

Example 16 with LoggingTerminalWriter

use of com.google.devtools.build.lib.util.io.LoggingTerminalWriter in project bazel by bazelbuild.

the class ExperimentalStateTrackerTest method testFailedVisible.

@Test
public void testFailedVisible() throws Exception {
    // The last test should still be visible in the long status bar, and colored as fail if it
    // did not pass.
    ManualClock clock = new ManualClock();
    ExperimentalStateTracker stateTracker = new ExperimentalStateTracker(clock);
    TestFilteringCompleteEvent filteringComplete = Mockito.mock(TestFilteringCompleteEvent.class);
    Label labelA = Label.parseAbsolute("//foo/bar:baz");
    ConfiguredTarget targetA = Mockito.mock(ConfiguredTarget.class);
    when(targetA.getLabel()).thenReturn(labelA);
    ConfiguredTarget targetB = Mockito.mock(ConfiguredTarget.class);
    when(filteringComplete.getTestTargets()).thenReturn(ImmutableSet.of(targetA, targetB));
    TestSummary testSummary = Mockito.mock(TestSummary.class);
    when(testSummary.getStatus()).thenReturn(BlazeTestStatus.FAILED);
    when(testSummary.getTarget()).thenReturn(targetA);
    stateTracker.testFilteringComplete(filteringComplete);
    stateTracker.testSummary(testSummary);
    LoggingTerminalWriter terminalWriter = new LoggingTerminalWriter();
    stateTracker.writeProgressBar(terminalWriter);
    String output = terminalWriter.getTranscript();
    String expected = LoggingTerminalWriter.FAIL + labelA;
    assertTrue("Sequence '" + expected + "' should be present in colored progress bar: " + output, output.contains(expected));
}
Also used : ManualClock(com.google.devtools.build.lib.testutil.ManualClock) Label(com.google.devtools.build.lib.cmdline.Label) ConfiguredTarget(com.google.devtools.build.lib.analysis.ConfiguredTarget) TestFilteringCompleteEvent(com.google.devtools.build.lib.buildtool.buildevent.TestFilteringCompleteEvent) LoggingTerminalWriter(com.google.devtools.build.lib.util.io.LoggingTerminalWriter) Test(org.junit.Test)

Aggregations

LoggingTerminalWriter (com.google.devtools.build.lib.util.io.LoggingTerminalWriter)16 ManualClock (com.google.devtools.build.lib.testutil.ManualClock)15 Test (org.junit.Test)14 ActionStartedEvent (com.google.devtools.build.lib.actions.ActionStartedEvent)9 Label (com.google.devtools.build.lib.cmdline.Label)6 Action (com.google.devtools.build.lib.actions.Action)5 ConfiguredTarget (com.google.devtools.build.lib.analysis.ConfiguredTarget)5 TestFilteringCompleteEvent (com.google.devtools.build.lib.buildtool.buildevent.TestFilteringCompleteEvent)5 ActionOwner (com.google.devtools.build.lib.actions.ActionOwner)3 DownloadProgressEvent (com.google.devtools.build.lib.bazel.repository.downloader.DownloadProgressEvent)2 URL (java.net.URL)2 ActionCompletionEvent (com.google.devtools.build.lib.actions.ActionCompletionEvent)1 ActionExecutionMetadata (com.google.devtools.build.lib.actions.ActionExecutionMetadata)1 Artifact (com.google.devtools.build.lib.actions.Artifact)1 LoadingPhaseStartedEvent (com.google.devtools.build.lib.skyframe.LoadingPhaseStartedEvent)1 PackageProgressReceiver (com.google.devtools.build.lib.skyframe.PackageProgressReceiver)1 AnsiTerminalWriter (com.google.devtools.build.lib.util.io.AnsiTerminalWriter)1 LineCountingAnsiTerminalWriter (com.google.devtools.build.lib.util.io.LineCountingAnsiTerminalWriter)1 LineWrappingAnsiTerminalWriter (com.google.devtools.build.lib.util.io.LineWrappingAnsiTerminalWriter)1 Path (com.google.devtools.build.lib.vfs.Path)1