From 7ff207cb0ad2c66ca9fd5fd9519c1455ac637db5 Mon Sep 17 00:00:00 2001 From: Faizan Ahmad Date: Mon, 15 May 2017 18:06:42 +0530 Subject: [PATCH 1/2] Show all type of messages likesdtOut, stdErr etc for passed tests --- src/vstest.console/Internal/ConsoleLogger.cs | 1 + .../Internal/ConsoleLoggerTests.cs | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/vstest.console/Internal/ConsoleLogger.cs b/src/vstest.console/Internal/ConsoleLogger.cs index 40eaabe21c..b217674dd6 100644 --- a/src/vstest.console/Internal/ConsoleLogger.cs +++ b/src/vstest.console/Internal/ConsoleLogger.cs @@ -354,6 +354,7 @@ private void TestResultHandler(object sender, TestResultEventArgs e) { var output = string.Format(CultureInfo.CurrentCulture, CommandLineResources.PassedTestIndicator, name); Output.Information(output); + DisplayFullInformation(e.Result); } this.testsPassed++; } diff --git a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs index 7ed71f56f8..bf0eb15140 100644 --- a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs +++ b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs @@ -314,6 +314,32 @@ public void TestResultHandlerShouldWriteToConsoleShouldShowPassedTestsForNormalV this.mockOutput.Verify(o => o.WriteLine(string.Format(CultureInfo.CurrentCulture, CommandLineResources.NotRunTestIndicator, "TestName"), OutputLevel.Information), Times.Exactly(2)); } + [TestMethod] + public void TestResultHandlerShouldShowStdOutMsgOfPassedTestIfVerbosityIsNormal() + { + var parameters = new Dictionary(); + parameters.Add("verbosity", "normal"); + this.consoleLogger.Initialize(this.events.Object, parameters); + + var testcase = new TestCase("TestName", new Uri("some://uri"), "TestSource"); + + string message = "Dummy message"; + TestResultMessage testResultMessage = new TestResultMessage(TestResultMessage.AdditionalInfoCategory, message); + + var testresult = new ObjectModel.TestResult(testcase); + testresult.Outcome = TestOutcome.Passed; + testresult.Messages.Add(testResultMessage); + + var eventArgs = new TestRunChangedEventArgs(null, new List { testresult }, null); + + // Raise an event on mock object + this.testRunRequest.Raise(m => m.OnRunStatsChange += null, eventArgs); + this.FlushLoggerMessages(); + + this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.AddnlInfoMessagesBanner, OutputLevel.Information), Times.Once()); + this.mockOutput.Verify(o => o.WriteLine(" " + message, OutputLevel.Information), Times.Once()); + } + [TestMethod] public void TestResultHandlerShouldWriteToConsoleButSkipPassedTestsForMinimalVerbosity() { From 61b0d267657056e28213fb2dbcbacb76570d82f9 Mon Sep 17 00:00:00 2001 From: faahmad Date: Tue, 16 May 2017 11:47:31 +0530 Subject: [PATCH 2/2] Address PR comment --- src/vstest.console/Internal/ConsoleLogger.cs | 14 +++++++++ .../Resources/Resources.Designer.cs | 11 +++++++ src/vstest.console/Resources/Resources.resx | 3 ++ .../Internal/ConsoleLoggerTests.cs | 31 +++++++++++++++++-- 4 files changed, 57 insertions(+), 2 deletions(-) diff --git a/src/vstest.console/Internal/ConsoleLogger.cs b/src/vstest.console/Internal/ConsoleLogger.cs index b217674dd6..4174183fb3 100644 --- a/src/vstest.console/Internal/ConsoleLogger.cs +++ b/src/vstest.console/Internal/ConsoleLogger.cs @@ -263,6 +263,19 @@ private static void DisplayFullInformation(TestResult result) } } + var DbgTrcMessagesCollection = GetTestMessages(result.Messages, TestResultMessage.DebugTraceCategory); + if (DbgTrcMessagesCollection.Count > 0) + { + addAdditionalNewLine = false; + var dbgTrcMessages = GetFormattedOutput(DbgTrcMessagesCollection); + + if (!string.IsNullOrEmpty(dbgTrcMessages)) + { + Output.Information(CommandLineResources.DbgTrcMessagesBanner); + Output.Information(dbgTrcMessages); + } + } + var addnlInfoMessagesCollection = GetTestMessages(result.Messages, TestResultMessage.AdditionalInfoCategory); if (addnlInfoMessagesCollection.Count > 0) { @@ -275,6 +288,7 @@ private static void DisplayFullInformation(TestResult result) Output.Information(addnlInfoMessages); } } + if (addAdditionalNewLine) { Output.WriteLine(String.Empty, OutputLevel.Information); diff --git a/src/vstest.console/Resources/Resources.Designer.cs b/src/vstest.console/Resources/Resources.Designer.cs index eb7f27b97f..101f81b179 100644 --- a/src/vstest.console/Resources/Resources.Designer.cs +++ b/src/vstest.console/Resources/Resources.Designer.cs @@ -1453,6 +1453,17 @@ public static string StdOutMessagesBanner } } + /// + /// Looks up a localized string similar to Debug Traces Messages:. + /// + public static string DbgTrcMessagesBanner + { + get + { + return ResourceManager.GetString("DbgTrcMessagesBanner", resourceCulture); + } + } + /// /// Looks up a localized string similar to Additionally, you can try specifying '/UseVsixExtensions' command if the test discoverer & executor is installed on the machine as vsix extensions and your installation supports vsix extensions. Example: vstest.console.exe myTests.dll /UseVsixExtensions:true. /// diff --git a/src/vstest.console/Resources/Resources.resx b/src/vstest.console/Resources/Resources.resx index 66d6914ac4..ca40f7e946 100644 --- a/src/vstest.console/Resources/Resources.resx +++ b/src/vstest.console/Resources/Resources.resx @@ -652,4 +652,7 @@ The Data Collector friendly name '{0}' is not valid. The Data Collector will be ignored. + + Debug Traces Messages: + \ No newline at end of file diff --git a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs index bf0eb15140..ec16a179bd 100644 --- a/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs +++ b/test/vstest.console.UnitTests/Internal/ConsoleLoggerTests.cs @@ -324,7 +324,7 @@ public void TestResultHandlerShouldShowStdOutMsgOfPassedTestIfVerbosityIsNormal( var testcase = new TestCase("TestName", new Uri("some://uri"), "TestSource"); string message = "Dummy message"; - TestResultMessage testResultMessage = new TestResultMessage(TestResultMessage.AdditionalInfoCategory, message); + TestResultMessage testResultMessage = new TestResultMessage(TestResultMessage.StandardOutCategory, message); var testresult = new ObjectModel.TestResult(testcase); testresult.Outcome = TestOutcome.Passed; @@ -336,10 +336,37 @@ public void TestResultHandlerShouldShowStdOutMsgOfPassedTestIfVerbosityIsNormal( this.testRunRequest.Raise(m => m.OnRunStatsChange += null, eventArgs); this.FlushLoggerMessages(); - this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.AddnlInfoMessagesBanner, OutputLevel.Information), Times.Once()); + this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.StdOutMessagesBanner, OutputLevel.Information), Times.Once()); + this.mockOutput.Verify(o => o.WriteLine(" " + message, OutputLevel.Information), Times.Once()); + } + + [TestMethod] + public void TestResultHandlerShouldShowDbgTrcMsg() + { + var parameters = new Dictionary(); + parameters.Add("verbosity", "normal"); + this.consoleLogger.Initialize(this.events.Object, parameters); + + var testcase = new TestCase("TestName", new Uri("some://uri"), "TestSource"); + + string message = "Dummy message"; + TestResultMessage testResultMessage = new TestResultMessage(TestResultMessage.DebugTraceCategory, message); + + var testresult = new ObjectModel.TestResult(testcase); + testresult.Outcome = TestOutcome.Passed; + testresult.Messages.Add(testResultMessage); + + var eventArgs = new TestRunChangedEventArgs(null, new List { testresult }, null); + + // Raise an event on mock object + this.testRunRequest.Raise(m => m.OnRunStatsChange += null, eventArgs); + this.FlushLoggerMessages(); + + this.mockOutput.Verify(o => o.WriteLine(CommandLineResources.DbgTrcMessagesBanner, OutputLevel.Information), Times.Once()); this.mockOutput.Verify(o => o.WriteLine(" " + message, OutputLevel.Information), Times.Once()); } + [TestMethod] public void TestResultHandlerShouldWriteToConsoleButSkipPassedTestsForMinimalVerbosity() {