8000 Revert "add WarningsAsMessages, WarningsAsErrors, WarningsNotAsErrors… · dotnet/msbuild@84f3f0b · GitHub
[go: up one dir, main page]

Skip to content

Commit 84f3f0b

Browse files
authored
Revert "add WarningsAsMessages, WarningsAsErrors, WarningsNotAsErrors and Tre…" (#11041)
Reverts #10942 Due to the issue with sdk merge, I'm temporarily withdrawing this PR. dotnet/sdk#44977
2 parents 3d1e2cf + 00c89e9 commit 84f3f0b

File tree

5 files changed

+41
-237
lines changed
< D7AE div class="d-flex flex-items-center">

5 files changed

+41
-237
lines changed

documentation/wiki/ChangeWaves.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ A wave of features is set to "rotate out" (i.e. become standard functionality) t
2525

2626
### 17.14
2727
- [.SLNX support - use the new parser for .sln and .slnx](https://github.com/dotnet/msbuild/pull/10836)
28-
- [TreatWarningsAsErrors, WarningsAsMessages, WarningsAsErrors, WarningsNotAsErrors are now supported on the engine side of MSBuild](https://github.com/dotnet/msbuild/pull/10942)
2928
- [Support custom culture in RAR](https://github.com/dotnet/msbuild/pull/11000)
3029

3130
### 17.12

src/Build.UnitTests/WarningsAsMessagesAndErrors_Tests.cs

Lines changed: 27 additions & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -35,19 +35,6 @@ public void TreatAllWarningsAsErrors()
3535
ObjectModelHelpers.BuildProjectExpectSuccess(GetTestProject(treatAllWarningsAsErrors: false));
3636
}
3737

38-
[Fact]
39-
public void TreatAllWarningsAsErrorsNoPrefix()
40-
{
41-
MockLogger logger = ObjectModelHelpers.BuildProjectExpectFailure(GetTestProject(customProperties: new Dictionary<string, string>
42-
{
43-
{"TreatWarningsAsErrors", "true"},
44-
}));
45-
46-
VerifyBuildErrorEvent(logger);
47-
48-
ObjectModelHelpers.BuildProjectExpectSuccess(GetTestProject(treatAllWarningsAsErrors: false));
49-
}
50-
5138
/// <summary>
5239
/// https://github.com/dotnet/msbuild/issues/2667
5340
/// </summary>
@@ -104,6 +91,22 @@ public void TreatWarningsAsErrorsWhenSpecifiedIndirectly()
10491
VerifyBuildErrorEvent(logger);
10592
}
10693

94+
[Fact]
95+
public void TreatWarningsAsErrorsWhenSpecifiedThroughAdditiveProperty()
96+
{
97+
MockLogger logger = ObjectModelHelpers.BuildProjectExpectFailure(
98+
GetTestProject(
99+
customProperties: new List<KeyValuePair<string, string>>
100+
{
101+
new KeyValuePair<string, string>("MSBuildWarningsAsErrors", "123"),
102+
new KeyValuePair<string, string>("MSBuildWarningsAsErrors", $@"$(MSBuildWarningsAsErrors);
103+
{ExpectedEventCode.ToLowerInvariant()}"),
104+
new KeyValuePair<string, string>("MSBuildWarningsAsErrors", "$(MSBuildWarningsAsErrors);ABC")
105+
}));
106+
107+
VerifyBuildErrorEvent(logger);
108+
}
109+
107110
[Fact]
108111
public void NotTreatWarningsAsErrorsWhenCodeNotSpecified()
109112
{
@@ -174,99 +177,22 @@ public void TreatWarningsAsMessagesWhenSpecifiedIndirectly()
174177
VerifyBuildMessageEvent(logger);
175178
}
176179

177-
[Theory]
178-
[InlineData(true)]
179-
[InlineData(false)]
180-
public void TreatWarningsAsMessagesWhenSpecifiedThroughAdditiveProperty(bool usePrefix)
181-
{
182-
string prefix = usePrefix ? "MSBuild" : "";
183-
MockLogger logger = ObjectModelHelpers.BuildProjectExpectSuccess(
184-
GetTestProject(
185-
customProperties: new List<KeyValuePair<string, string>>
186-
{
187-
new KeyValuePair<string, string>($"{prefix}WarningsAsMessages", "123"),
188-
new KeyValuePair<string, string>($"{prefix}WarningsAsMessages", $@"$({prefix}WarningsAsMessages);
189-
{ExpectedEventCode.ToLowerInvariant()}"),
190-
new KeyValuePair<string, string>($"{prefix}WarningsAsMessages", $"$({prefix}WarningsAsMessages);ABC")
191-
}));
192-
193-
VerifyBuildMessageEvent(logger);
194-
}
195-
196180
[Fact]
197-
///
198-
/// This is for chaining the properties together via addition.
199-
/// Furthermore it is intended to check if the prefix and no prefix variant interacts properly with each other.
200-
///
201-
public void TreatWarningsAsMessagesWhenSpecifiedThroughAdditivePropertyCombination()
181+
public void TreatWarningsAsMessagesWhenSpecifiedThroughAdditiveProperty()
202182
{
203183
MockLogger logger = ObjectModelHelpers.BuildProjectExpectSuccess(
204184
GetTestProject(
205185
customProperties: new List<KeyValuePair<string, string>>
206186
{
207187
new KeyValuePair<string, string>("MSBuildWarningsAsMessages", "123"),
208-
new KeyValuePair<string, string>("WarningsAsMessages", $@"$(MSBuildWarningsAsMessages);
188+
new KeyValuePair<string, string>("MSBuildWarningsAsMessages", $@"$(MSBuildWarningsAsMessages);
209189
{ExpectedEventCode.ToLowerInvariant()}"),
210-
new KeyValuePair<string, string>("MSBuildWarningsAsMessages", "$(WarningsAsMessages);ABC")
190+
new KeyValuePair<string, string>("MSBuildWarningsAsMessages", "$(MSBuildWarningsAsMessages);ABC")
211191
}));
212192

213193
VerifyBuildMessageEvent(logger);
214194
}
215195

216-
[Fact]
217-
public void TreatWarningsNotAsErrorsWhenSpecifiedThroughAdditivePropertyCombination()
218-
{
219-
MockLogger logger = ObjectModelHelpers.BuildProjectExpectSuccess(
220-
GetTestProject(
221-
customProperties: new List<KeyValuePair<string, string>>
222-
{
223-
new KeyValuePair<string, string>("MSBuildWarningsNotAsErrors", "123"),
224-
new KeyValuePair<string, string>("WarningsNotAsErrors", $@"$(MSBuildWarningsNotAsErrors);
225-
{ExpectedEventCode.ToLowerInvariant()}"),
226-
new KeyValuePair<string, string>("MSBuildWarningsNotAsErrors", "$(WarningsNotAsErrors);ABC")
227-
}),
228-
_output);
229-
230-
VerifyBuildWarningEvent(logger);
231-
}
232-
233-
[Theory]
234-
[InlineData(true)]
235-
[InlineData(false)]
236-
public void TreatWarningsAsErrorsWhenSpecifiedThroughAdditiveProperty(bool MSBuildPrefix)
237-
{
238-
string prefix = MSBuildPrefix ? "MSBuild" : "";
239-
MockLogger logger = ObjectModelHelpers.BuildProjectExpectFailure(
240-
GetTestProject(
241-
customProperties: new List<KeyValuePair<string, string>>
242-
{
243-
new KeyValuePair<string, string>($@"{prefix}WarningsAsErrors", "123"),
244-
new KeyValuePair<string, string>($@"{prefix}WarningsAsErrors", $@"$({prefix}WarningsAsErrors);
245-
{ExpectedEventCode.ToLowerInvariant()}"),
246-
new KeyValuePair<string, string>($@"{prefix}WarningsAsErrors", $@"$({prefix}WarningsAsErrors);ABC")
247-
}),
248-
_output);
249-
250-
VerifyBuildErrorEvent(logger);
251-
}
252-
253-
[Fact]
254-
public void TreatWarningsAsErrorsWhenSpecifiedThroughAdditivePropertyCombination()
255-
{
256-
MockLogger logger = ObjectModelHelpers.BuildProjectExpectFailure(
257-
GetTestProject(
258-
customProperties: new List<KeyValuePair<string, string>>
259-
{
260-
new KeyValuePair<string, string>("WarningsAsErrors", "123"),
261-
new KeyValuePair<string, string>("MSBuildWarningsAsErrors", $@"$(WarningsAsErrors);
262-
{ExpectedEventCode.ToLowerInvariant()}"),
263-
new KeyValuePair<string, string>("WarningsAsErrors", "$(MSBuildWarningsAsErrors);ABC")
264-
}),
265-
_output);
266-
267-
VerifyBuildErrorEvent(logger);
268-
}
269-
270196
[Fact]
271197
public void NotTreatWarningsAsMessagesWhenCodeNotSpecified()
272198
{
@@ -276,8 +202,7 @@ public void NotTreatWarningsAsMessagesWhenCodeNotSpecified()
276202
{
277203
new KeyValuePair<string, string>("MSBuildWarningsAsMessages", "123"),
278204
new KeyValuePair<string, string>("MSBuildWarningsAsMessages", "$(MSBuildWarningsAsMessages);ABC")
279-
}),
280-
_output);
205+
}));
281206

282207
VerifyBuildWarningEvent(logger);
283208
}
@@ -348,33 +273,27 @@ private string GetTestProject(bool? treatAllWarningsAsErrors = null, string warn
348273
</Project>";
349274
}
350275

351-
352276
[Theory]
353277

354278
[InlineData("MSB1235", "MSB1234", "MSB1234", "MSB1234", false)] // Log MSB1234, treat as error via MSBuildWarningsAsErrors
355279
[InlineData("MSB1235", "", "MSB1234", "MSB1234", true)] // Log MSB1234, expect MSB1234 as error via MSBuildTreatWarningsAsErrors
356280
[InlineData("MSB1234", "MSB1234", "MSB1234", "MSB4181", true)]// Log MSB1234, MSBuildWarningsAsMessages takes priority
357-
[InlineData("MSB1235", "MSB1234", "MSB1234", "MSB1234", false, false)] // Log MSB1234, treat as error via BuildWarningsAsErrors
358-
[InlineData("MSB1235", "", "MSB1234", "MSB1234", true, false)] // Log MSB1234, expect MSB1234 as error via BuildTreatWarningsAsErrors
359-
[InlineData("MSB1234", "MSB1234", "MSB1234", "MSB4181", true, false)]// Log MSB1234, BuildWarningsAsMessages takes priority
360281
public void WarningsAsErrorsAndMessages_Tests(string WarningsAsMessages,
361282
string WarningsAsErrors,
362283
string WarningToLog,
363284
string LogShouldContain,
364-
bool allWarningsAreErrors = false,
365-
bool useMSPrefix = true)
285+
bool allWarningsAreErrors = false)
366286
{
367287
using (TestEnvironment env = TestEnvironment.Create(_output))
368288
{
369-
var prefix = useMSPrefix ? "MSBuild" : "";
370289
TransientTestProjectWithFiles proj = env.CreateTestProjectWithFiles($@"
371290
<Project>
372291
<UsingTask TaskName = ""ReturnFailureWithoutLoggingErrorTask"" AssemblyName=""Microsoft.Build.Engine.UnitTests""/>
373292
<UsingTask TaskName = ""CustomLogAndReturnTask"" AssemblyName=""Microsoft.Build.Engine.UnitTests""/>
374293
<PropertyGroup>
375-
<{prefix}TreatWarningsAsErrors>{allWarningsAreErrors}</{prefix}TreatWarningsAsErrors>
376-
<{prefix}WarningsAsMessages>{WarningsAsMessages}</{prefix}WarningsAsMessages>
377-
<{prefix}WarningsAsErrors>{WarningsAsErrors}</{prefix}WarningsAsErrors>
294+
<MSBuildTreatWarningsAsErrors>{allWarningsAreErrors}</MSBuildTreatWarningsAsErrors>
295+
<MSBuildWarningsAsMessages>{WarningsAsMessages}</MSBuildWarningsAsMessages>
296+
<MSBuildWarningsAsErrors>{WarningsAsErrors}</MSBuildWarningsAsErrors>
378297
</PropertyGroup>
379298
<Target Name='Build'>
380299
<CustomLogAndReturnTask Return=""true"" ReturnHasLoggedErrors=""true"" WarningCode=""{WarningToLog}""/>
@@ -391,83 +310,6 @@ public void WarningsAsErrorsAndMessages_Tests(string WarningsAsMessages,
391310
}
392311
}
393312

394-
[Theory]
395-
396-
[InlineData(true)]// Log MSB1234, BuildWarningsNotAsErrors takes priority
397-
[InlineData(false)]
398-
public void WarningsNotAsErrorsAndMessages_Tests(bool useMSPrefix)
399-
{
400-
string Warning = "MSB1235";
401-
using (TestEnvironment env = TestEnvironment.Create(_output))
402-
{
403-
string prefix = useMSPrefix ? "MSBuild" : "";
404-
TransientTestProjectWithFiles proj = env.CreateTestProjectWithFiles($@"
405-
<Project>
406-
<PropertyGroup>
407-
<{prefix}TreatWarningsAsErrors>true</{prefix}TreatWarningsAsErrors>
408-
<{prefix}WarningsNotAsErrors>{Warning}</{prefix}WarningsNotAsErrors>
409-
</PropertyGroup>
410-
<Target Name='Build'>
411-
<Warning Text=""some random text"" Code='{Warning}' />
412-
</Target>
413-
</Project>");
414-
415-
MockLogger logger = proj.BuildProjectExpectSuccess();
416-
417-
logger.WarningCount.ShouldBe(1);
418-
logger.ErrorCount.ShouldBe(0);
419-
420-
logger.AssertLogContains(Warning);
421-
}
422-
}
423-
424-
425-
426-
[Theory]
427-
[InlineData("TreatWarningsAsErrors", "true", false)] // All warnings are treated as errors
428-
[InlineData("WarningsAsErrors", "MSB1007", false)]
429-
[InlineData("WarningsAsMessages", "MSB1007", false)]
430-
[InlineData("WarningsNotAsErrors", "MSB1007", true)]
431-
[InlineData("WarningsNotAsErrors", "MSB1007", false)]
432-
public void WarningsChangeWaveTest(string property, string propertyData, bool treatWarningsAsErrors)
433-
{
434-
using (TestEnvironment env = TestEnvironment.Create(_output))
435-
{
436-
string warningCode = "MSB1007";
437-
string treatWarningsAsErrorsCodeProperty = treatWarningsAsErrors ? "<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>" : "";
438-
env.SetEnvironmentVariable("MSBUILDDISABLEFEATURESFROMVERSION", ChangeWaves.Wave17_14.ToString());
439-
TransientTestProjectWithFiles proj = env.CreateTestProjectWithFiles($@"
440-
<Project>
441-
<PropertyGroup>
442-
{treatWarningsAsErrorsCodeProperty}
443-
<{property}>{propertyData}</{property}>
444-
</PropertyGroup>
445-
<Target Name='Build'>
446-
<Warning Text=""some random text"" Code='{warningCode}' />
447-
</Target>
448-
</Project>");
449-
if (treatWarningsAsErrors)
450-
{
451-
// Since the "no prefix" variations can't do anything with the change wave disabled, this should always fail.
452-
MockLogger logger = proj.BuildProjectExpectFailure();
453-
logger.ErrorCount.ShouldBe(1);
454-
logger.AssertLogContains($"error {warningCode}");
455-
456-
logger.AssertLogContains(warningCode);
457-
}
458-
else
459-
{
460-
MockLogger logger = proj.BuildProjectExpectSuccess();
461-
462-
logger.WarningCount.ShouldBe(1);
463-
logger.AssertLogContains($"warning {warningCode}");
464-
logger.ErrorCount.ShouldBe(0);
465-
466-
logger.AssertLogContains(warningCode);
467-
}
468-
}
469-
}
470-
471313
/// <summary>
472314
/// Item1 and Item2 log warnings and continue, item 3 logs a warn-> error and prevents item 4 from running in the batched build.
473315
/// </summary>
@@ -529,20 +371,17 @@ public void TaskLogsWarningAsError_BatchedBuild()
529371
[Theory]
530372
[InlineData("MSB1234", false, 1, 1)]
531373
[InlineData("MSB0000", true, 0, 2)]
532-
[InlineData("MSB1234", false, 1, 1, false)]
533-
[InlineData("MSB0000", true, 0, 2, false)]
534-
public void TaskReturnsTrue_Tests(string warningsAsErrors, bool treatAllWarningsAsErrors, int warningCountShouldBe, int errorCountShouldBe, bool useMSPrefix = true)
374+
public void TaskReturnsTrue_Tests(string warningsAsErrors, bool treatAllWarningsAsErrors, int warningCountShouldBe, int errorCountShouldBe)
535375
{
536-
string prefix = useMSPrefix ? "MSBuild" : "";
537376
using (TestEnvironment env = TestEnvironment.Create(_output))
538377
{
539378
TransientTestProjectWithFiles proj = env.CreateTestProjectWithFiles($@"
540379
<Project>
541380
<UsingTask TaskName = ""ReturnFailureWithoutLoggingErrorTask"" AssemblyName=""Microsoft.Build.Engine.UnitTests""/>
542381
<UsingTask TaskName = ""CustomLogAndReturnTask"" AssemblyName=""Microsoft.Build.Engine.UnitTests""/>
543382
<PropertyGroup>
544-
<{prefix}TreatWarningsAsErrors>{treatAllWarningsAsErrors}</{prefix}TreatWarningsAsErrors>
545-
<{prefix}WarningsAsErrors>{warningsAsErrors}</{prefix}WarningsAsErrors>
383+
<MSBuildTreatWarningsAsErrors>{treatAllWarningsAsErrors}</MSBuildTreatWarningsAsErrors>
384+
<MSBuildWarningsAsErrors>{warningsAsErrors}</MSBuildWarningsAsErrors>
546385
</PropertyGroup>
547386
<Target Name='Build'>
548387
<CustomLogAndReturnTask Return=""true"" WarningCode=""MSB1234""/>

0 commit comments

Comments
 (0)
0