diff --git a/src/Build.UnitTests/WarningsAsMessagesAndErrors_Tests.cs b/src/Build.UnitTests/WarningsAsMessagesAndErrors_Tests.cs index 6041fbc45ac..7341d6f913d 100644 --- a/src/Build.UnitTests/WarningsAsMessagesAndErrors_Tests.cs +++ b/src/Build.UnitTests/WarningsAsMessagesAndErrors_Tests.cs @@ -9,6 +9,7 @@ using Shouldly; using Xunit; using Xunit.Abstractions; +using static System.Net.WebRequestMethods; #nullable disable @@ -35,7 +36,7 @@ public void TreatAllWarningsAsErrors() ObjectModelHelpers.BuildProjectExpectSuccess(GetTestProject(treatAllWarningsAsErrors: false)); } - [Fact] + [Fact (Skip = "TreatWarningAsErrors is excluded in the first wave of the unification. See https://github.com/dotnet/msbuild/issues/10871")] public void TreatAllWarningsAsErrorsNoPrefix() { MockLogger logger = ObjectModelHelpers.BuildProjectExpectFailure(GetTestProject(customProperties: new Dictionary @@ -354,9 +355,10 @@ private string GetTestProject(bool? treatAllWarningsAsErrors = null, string warn [InlineData("MSB1235", "MSB1234", "MSB1234", "MSB1234", false)] // Log MSB1234, treat as error via MSBuildWarningsAsErrors [InlineData("MSB1235", "", "MSB1234", "MSB1234", true)] // Log MSB1234, expect MSB1234 as error via MSBuildTreatWarningsAsErrors [InlineData("MSB1234", "MSB1234", "MSB1234", "MSB4181", true)]// Log MSB1234, MSBuildWarningsAsMessages takes priority - [InlineData("MSB1235", "MSB1234", "MSB1234", "MSB1234", false, false)] // Log MSB1234, treat as error via BuildWarningsAsErrors - [InlineData("MSB1235", "", "MSB1234", "MSB1234", true, false)] // Log MSB1234, expect MSB1234 as error via BuildTreatWarningsAsErrors - [InlineData("MSB1234", "MSB1234", "MSB1234", "MSB4181", true, false)]// Log MSB1234, BuildWarningsAsMessages takes priority + // TreatWarningAsErrors is excluded in the first wave of the unification.See https://github.com/dotnet/msbuild/issues/10871 + // [InlineData("MSB1235", "MSB1234", "MSB1234", "MSB1234", false, false)] // Log MSB1234, treat as error via BuildWarningsAsErrors + // [InlineData("MSB1235", "", "MSB1234", "MSB1234", true, false)] // Log MSB1234, expect MSB1234 as error via BuildTreatWarningsAsErrors + // [InlineData("MSB1234", "MSB1234", "MSB1234", "MSB4181", true, false)]// Log MSB1234, BuildWarningsAsMessages takes priority public void WarningsAsErrorsAndMessages_Tests(string WarningsAsMessages, string WarningsAsErrors, string WarningToLog, @@ -529,8 +531,9 @@ public void TaskLogsWarningAsError_BatchedBuild() [Theory] [InlineData("MSB1234", false, 1, 1)] [InlineData("MSB0000", true, 0, 2)] - [InlineData("MSB1234", false, 1, 1, false)] - [InlineData("MSB0000", true, 0, 2, false)] + // TreatWarningAsErrors is excluded in the first wave of the unification.See https://github.com/dotnet/msbuild/issues/10871 + // [InlineData("MSB1234", false, 1, 1, false) + // [InlineData("MSB0000", true, 0, 2, false) public void TaskReturnsTrue_Tests(string warningsAsErrors, bool treatAllWarningsAsErrors, int warningCountShouldBe, int errorCountShouldBe, bool useMSPrefix = true) { string prefix = useMSPrefix ? "MSBuild" : ""; diff --git a/src/Build/BackEnd/Components/RequestBuilder/RequestBuilder.cs b/src/Build/BackEnd/Components/RequestBuilder/RequestBuilder.cs index a5b8e6b9717..6126bdd8155 100644 --- a/src/Build/BackEnd/Components/RequestBuilder/RequestBuilder.cs +++ b/src/Build/BackEnd/Components/RequestBuilder/RequestBuilder.cs @@ -1390,9 +1390,7 @@ private void ConfigureWarningsAsErrorsAndMessages() // Ensure everything that is required is available at this time if (project != null && buildEventContext != null && loggingService != null && buildEventContext.ProjectInstanceId != BuildEventContext.InvalidProjectInstanceId) { - if (String.Equals(project.GetEngineRequiredPropertyValue(MSBuildConstants.MSBuildPrefix + MSBuildConstants.TreatWarningsAsErrors)?.Trim(), "true", StringComparison.OrdinalIgnoreCase) || - (String.Equals(project.GetEngineRequiredPropertyValue(MSBuildConstants.TreatWarningsAsErrors)?.Trim(), "true", StringComparison.OrdinalIgnoreCase) && - ChangeWaves.AreFeaturesEnabled(ChangeWaves.Wave17_14))) + if (String.Equals(project.GetEngineRequiredPropertyValue(MSBuildConstants.MSBuildPrefix + MSBuildConstants.TreatWarningsAsErrors)?.Trim(), "true", StringComparison.OrdinalIgnoreCase)) { // If signals the IEventSourceSink to treat all warnings as errors loggingService.AddWarningsAsErrors(buildEventContext, new HashSet()); diff --git a/src/UnitTests.Shared/ObjectModelHelpers.cs b/src/UnitTests.Shared/ObjectModelHelpers.cs index 887d54bf7f0..9ad6e7fc90d 100644 --- a/src/UnitTests.Shared/ObjectModelHelpers.cs +++ b/src/UnitTests.Shared/ObjectModelHelpers.cs @@ -782,8 +782,13 @@ public static void BuildProjectExpectSuccess( /// expected to fail. /// /// The project file content in string format. + /// to log to. + /// The required logging verbosity. /// The that was used during evaluation and build. - public static MockLogger BuildProjectExpectFailure([StringSyntax(StringSyntaxAttribute.Xml)] string projectContents) + public static MockLogger BuildProjectExpectFailure( + [StringSyntax(StringSyntaxAttribute.Xml)] string projectContents, + ITestOutputHelper testOutputHelper = null, + LoggerVerbosity loggerVerbosity = LoggerVerbosity.Normal) { MockLogger logger = new MockLogger(testOutputHelper); BuildProjectExpectFailure(projectContents, logger);