From 72cb6a8fc147116c85a1b85242136ecc89af086e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Jare=C5=A1?= Date: Tue, 8 Aug 2023 08:25:35 +0200 Subject: [PATCH 1/2] Set console encoding to UTF8. --- .../FeatureFlag/FeatureFlag.cs | 3 +++ src/vstest.console/Program.cs | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs b/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs index c6a38f1b9b..bf00fa1347 100644 --- a/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs +++ b/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs @@ -57,6 +57,9 @@ private FeatureFlag() { } // Disable the SerialTestRunDecorator public const string DISABLE_SERIALTESTRUN_DECORATOR = VSTEST_ + nameof(DISABLE_SERIALTESTRUN_DECORATOR); + // Disable setting UTF8 encoding in console. + public const string DISABlE_UTF8_CONSOLE_ENCODING = VSTEST_ + nameof(DISABlE_UTF8_CONSOLE_ENCODING); + [Obsolete("Only use this in tests.")] internal static void Reset() { diff --git a/src/vstest.console/Program.cs b/src/vstest.console/Program.cs index 1b667370cf..8c2025cc30 100644 --- a/src/vstest.console/Program.cs +++ b/src/vstest.console/Program.cs @@ -1,6 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. +using System.Text; +using System; + using Microsoft.VisualStudio.TestPlatform.Execution; using Microsoft.VisualStudio.TestPlatform.Utilities; @@ -20,6 +23,10 @@ public static class Program internal static int Run(string[]? args, UiLanguageOverride uiLanguageOverride) { + if (!FeatureFlag.Instance.IsSet(FeatureFlag.DISABlE_UTF8_CONSOLE_ENCODING)) + { + Console.OutputEncoding = Encoding.UTF8; + } uiLanguageOverride.SetCultureSpecifiedByUser(); return new Executor(ConsoleOutput.Instance).Execute(args); } From 8e64e0f898767679914453408bfd14b88e615295 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Jare=C5=A1?= Date: Thu, 10 Aug 2023 14:58:00 +0200 Subject: [PATCH 2/2] Fix casing --- .../FeatureFlag/FeatureFlag.cs | 2 +- src/vstest.console/Program.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs b/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs index bf00fa1347..7bc1b2fa81 100644 --- a/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs +++ b/src/Microsoft.TestPlatform.CoreUtilities/FeatureFlag/FeatureFlag.cs @@ -58,7 +58,7 @@ private FeatureFlag() { } public const string DISABLE_SERIALTESTRUN_DECORATOR = VSTEST_ + nameof(DISABLE_SERIALTESTRUN_DECORATOR); // Disable setting UTF8 encoding in console. - public const string DISABlE_UTF8_CONSOLE_ENCODING = VSTEST_ + nameof(DISABlE_UTF8_CONSOLE_ENCODING); + public const string DISABLE_UTF8_CONSOLE_ENCODING = VSTEST_ + nameof(DISABLE_UTF8_CONSOLE_ENCODING); [Obsolete("Only use this in tests.")] internal static void Reset() diff --git a/src/vstest.console/Program.cs b/src/vstest.console/Program.cs index 8c2025cc30..a44968c949 100644 --- a/src/vstest.console/Program.cs +++ b/src/vstest.console/Program.cs @@ -23,7 +23,7 @@ public static class Program internal static int Run(string[]? args, UiLanguageOverride uiLanguageOverride) { - if (!FeatureFlag.Instance.IsSet(FeatureFlag.DISABlE_UTF8_CONSOLE_ENCODING)) + if (!FeatureFlag.Instance.IsSet(FeatureFlag.DISABLE_UTF8_CONSOLE_ENCODING)) { Console.OutputEncoding = Encoding.UTF8; }