Skip to content

Commit 5da79c0

Browse files
authored
Test terminal logger with file-based apps (#50187)
1 parent c2d964b commit 5da79c0

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

test/dotnet.Tests/CommandTests/Run/RunFileTests.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,6 +1091,31 @@ public void BinaryLog_EvaluationData()
10911091
records.Count(static r => r.Args is ProjectEvaluationFinishedEventArgs).Should().BeGreaterThanOrEqualTo(2);
10921092
}
10931093

1094+
[Theory, CombinatorialData]
1095+
public void TerminalLogger(bool on)
1096+
{
1097+
var testInstance = _testAssetsManager.CreateTestDirectory();
1098+
var programFile = Path.Join(testInstance.Path, "Program.cs");
1099+
File.WriteAllText(programFile, s_program);
1100+
1101+
var result = new DotnetCommand(Log, "run", "Program.cs", "--no-cache")
1102+
.WithWorkingDirectory(testInstance.Path)
1103+
.WithEnvironmentVariable("MSBUILDTERMINALLOGGER", on ? "on" : "off")
1104+
.Execute()
1105+
.Should().Pass()
1106+
.And.HaveStdOutContaining("Hello from Program");
1107+
1108+
const string terminalLoggerSubstring = "\x1b";
1109+
if (on)
1110+
{
1111+
result.And.HaveStdOutContaining(terminalLoggerSubstring);
1112+
}
1113+
else
1114+
{
1115+
result.And.NotHaveStdOutContaining(terminalLoggerSubstring);
1116+
}
1117+
}
1118+
10941119
/// <summary>
10951120
/// Default projects include embedded resources by default.
10961121
/// </summary>

0 commit comments

Comments
 (0)