From 6be90e3d9a85327d48d29e04096c7aa2c53ef053 Mon Sep 17 00:00:00 2001 From: Sam Harwell Date: Fri, 22 Feb 2019 11:24:58 -0600 Subject: [PATCH] Only FailFast on failures, not all debug messages --- .../TestSetup/IntegrationTestTraceListener.cs | 72 ++++++++++++++++++- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/src/VisualStudio/IntegrationTest/TestSetup/IntegrationTestTraceListener.cs b/src/VisualStudio/IntegrationTest/TestSetup/IntegrationTestTraceListener.cs index a928eeeb4b8..16e12f3011f 100644 --- a/src/VisualStudio/IntegrationTest/TestSetup/IntegrationTestTraceListener.cs +++ b/src/VisualStudio/IntegrationTest/TestSetup/IntegrationTestTraceListener.cs @@ -6,16 +6,84 @@ namespace Microsoft.VisualStudio.IntegrationTest.Setup { + using Debugger = System.Diagnostics.Debugger; + internal class IntegrationTestTraceListener : TraceListener { + public override void Fail(string message, string detailMessage) + { + if (!string.IsNullOrEmpty(detailMessage)) + { + Exit(message + " " + detailMessage); + } + else + { + Exit(message); + } + } + + public override void Write(object o) + { + if (Debugger.IsLogging()) + { + Debugger.Log(0, null, o?.ToString()); + } + } + + public override void Write(object o, string category) + { + if (Debugger.IsLogging()) + { + Debugger.Log(0, category, o?.ToString()); + } + } + public override void Write(string message) { - Exit(message); + if (Debugger.IsLogging()) + { + Debugger.Log(0, null, message); + } + } + + public override void Write(string message, string category) + { + if (Debugger.IsLogging()) + { + Debugger.Log(0, category, message); + } + } + + public override void WriteLine(object o) + { + if (Debugger.IsLogging()) + { + Debugger.Log(0, null, o?.ToString() + Environment.NewLine); + } + } + + public override void WriteLine(object o, string category) + { + if (Debugger.IsLogging()) + { + Debugger.Log(0, category, o?.ToString() + Environment.NewLine); + } } public override void WriteLine(string message) { - Exit(message); + if (Debugger.IsLogging()) + { + Debugger.Log(0, null, message + Environment.NewLine); + } + } + + public override void WriteLine(string message, string category) + { + if (Debugger.IsLogging()) + { + Debugger.Log(0, category, message + Environment.NewLine); + } } private static void Exit(string message) -- GitLab