Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve terminal logger #4877

Merged
merged 26 commits into from
Feb 13, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Rename messages
  • Loading branch information
nohwnd committed Feb 7, 2024
commit 3d7c4202841301346991974dd84349da1a3a03bc
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ Copyright (c) .NET Foundation. All rights reserved.

<!--
Used when called from dotnet msbuild command line: uses MSBuild logs but does not allow for console colorization.
We call to empty target _VSTestMSBuild2 to mark start of the actual test running, in case we need to do build before
We call to empty target _TestRunStarted to mark start of the actual test running, in case we need to do build before
the test running. This is used in MSBuild Terminal Logger to detect that the current project will run some tests.
-->
<Target Name="_VSTestMSBuild" Condition="'$(IsTestProject)' == 'true'">
<CallTarget Condition="!$(VSTestNoBuild)" Targets="BuildProject" />
<CallTarget Targets="_VSTestMSBuild2" />
<CallTarget Targets="_TestRunStarted" />

<VSTestTask2
TestFileFullPath="$(TargetPath)"
Expand Down Expand Up @@ -72,7 +72,7 @@ Copyright (c) .NET Foundation. All rights reserved.
/>
</Target>

<Target Name="_VSTestMSBuild2" />
<Target Name="_TestRunStarted" />

<!-- Used when called from dotnet test command line: does not use MSBuild logs to allow for console colorization -->
<Target Name="_VSTestConsole">
Expand Down
50 changes: 15 additions & 35 deletions src/Microsoft.TestPlatform.Build/Tasks/VSTestTask2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -83,13 +83,6 @@ protected override void LogEventsFromTextOutput(string singleLine, MessageImport
Log.LogError(data[0]);
break;

case "run-start1":
if (useTerminalLogger)
{
Log.LogMessage("VSTESTTLSTART", null, null, null, 0, 0, 0, 0, MessageImportance.High, data[0]);
}
break;

case "run-cancel1":
case "run-abort1":
Log.LogError(data[0]);
Expand All @@ -103,7 +96,7 @@ protected override void LogEventsFromTextOutput(string singleLine, MessageImport
var visibleMessage = "Run completed";
if (useTerminalLogger)
{
var message = new ExtendedBuildMessageEventArgs("VSTESTTLFINISH", visibleMessage, null, null, MessageImportance.High)
var message = new ExtendedBuildMessageEventArgs("TLTESTFINISH", visibleMessage, null, null, MessageImportance.High)
{
ExtendedMetadata = new Dictionary<string, string?>
{
Expand Down Expand Up @@ -144,22 +137,15 @@ protected override void LogEventsFromTextOutput(string singleLine, MessageImport
? testResultWithTime
: $"{testResultWithTime}{n}Outputs:{n}{outputs}";

if (useTerminalLogger)
var message = new ExtendedBuildMessageEventArgs("TLTESTPASSED", testPassed, null, null, MessageImportance.High)
{
var message = new ExtendedBuildMessageEventArgs("VSTESTTLPASSED", testPassed, null, null, MessageImportance.High)
ExtendedMetadata = new Dictionary<string, string?>
{
ExtendedMetadata = new Dictionary<string, string?>
{
["localizedResult"] = data[0],
["displayName"] = data[1],
}
};
BuildEngine.LogMessageEvent(message);
}
else
{
Log.LogMessage(MessageImportance.Low, testPassed);
}
["localizedResult"] = data[0],
["displayName"] = data[1],
}
};
BuildEngine.LogMessageEvent(message);
}
break;
case "test-skipped2":
Expand All @@ -170,21 +156,15 @@ protected override void LogEventsFromTextOutput(string singleLine, MessageImport
var displayName = data[1];

var testSkipped = $"{indicator} {displayName}";
if (useTerminalLogger)
var message = new ExtendedBuildMessageEventArgs("TLTESTSKIPPED", testSkipped, null, null, MessageImportance.High)
{
Log.LogMessage("VSTESTTLSKIPPED", null, null, null, 0, 0, 0, 0, MessageImportance.High, AsForwardedMessage(data));
var message = new ExtendedBuildMessageEventArgs("VSTESTTLSKIPPED", testSkipped, null, null, MessageImportance.High)
ExtendedMetadata = new Dictionary<string, string?>
{
ExtendedMetadata = new Dictionary<string, string?>
{
["localizedResult"] = data[0],
["displayName"] = data[1],
}
};
BuildEngine.LogMessageEvent(message);
}

Log.LogMessage(MessageImportance.Low, testSkipped);
["localizedResult"] = data[0],
["displayName"] = data[1],
}
};
BuildEngine.LogMessageEvent(message);
}
break;
case "test-failed7":
Expand Down
12 changes: 0 additions & 12 deletions src/vstest.console/Internal/MSBuildLogger.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,6 @@ public void Initialize(TestLoggerEvents events, string testRunDirectory)
events.TestRunMessage += TestMessageHandler;
events.TestResult += TestResultHandler;
events.TestRunComplete += TestRunCompleteHandler;
events.TestRunStart += TestRunStartHandler;
}

public void Initialize(TestLoggerEvents events, Dictionary<string, string?> parameters)
Expand All @@ -86,17 +85,6 @@ private void TestMessageHandler(object? sender, TestRunMessageEventArgs e)
}
}

private void TestRunStartHandler(object? sender, TestRunStartEventArgs e)
{
TPDebug.Assert(Output != null, "Initialize should have been called");

var source = e.TestRunCriteria.Sources?.FirstOrDefault();
if (source != null)
{
SendMessage("run-start", source);
}
}

private void TestRunCompleteHandler(object? sender, TestRunCompleteEventArgs e)
{
TPDebug.Assert(Output != null, "Initialize should have been called");
Expand Down
Loading