Actually elevate warning messages to error when requested
Rob Mensching committed
Feb 7, 2022 at 21:22 UTC
92476046d8739cfb1411b605e57636208ac5af3c
3 files changed
+23
-4
src/api/wix/WixToolset.Data/Message.cs
+8
@@ -82,6 +82,14 @@ namespace WixToolset.Data
82
/// <value>The arguments for the format string.</value>
83
public object[] MessageArgs { get; }
84
85
+ /// <summary>
86
+ /// Changes the message into an error message.
87
+ /// </summary>
88
+ public void ElevateToError()
89
+ {
90
+ this.Level = MessageLevel.Error;
91
+ }
92
+
93
public override string ToString()
94
{
95
if (this.ResourceManager == null)
src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs
+14
-3
@@ -23,11 +23,20 @@ namespace WixToolset.Core.ExtensibilityServices
23
24
public bool WarningsAsError { get; set; }
25
26
- public void ElevateWarningMessage(int warningNumber) => this.warningsAsErrors.Add(warningNumber);
26
+ public void ElevateWarningMessage(int warningNumber)
27
+ {
28
+ this.warningsAsErrors.Add(warningNumber);
29
+ }
30
28
- public void SetListener(IMessageListener listener) => this.listener = listener;
31
+ public void SetListener(IMessageListener listener)
32
+ {
33
+ this.listener = listener;
34
+ }
35
30
- public void SuppressWarningMessage(int warningNumber) => this.suppressedWarnings.Add(warningNumber);
36
+ public void SuppressWarningMessage(int warningNumber)
37
+ {
38
+ this.suppressedWarnings.Add(warningNumber);
39
+ }
40
41
public void Write(Message message)
42
{
@@ -87,6 +96,8 @@ namespace WixToolset.Core.ExtensibilityServices
96
}
97
else if (this.WarningsAsError || this.warningsAsErrors.Contains(message.Id))
98
{
99
+ message.ElevateToError();
100
+
101
level = MessageLevel.Error;
102
}
103
}
src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs
+1
-1
@@ -56,7 +56,7 @@ namespace WixToolsetTest.CoreIntegration
56
Assert.Equal((int)WarningMessages.Ids.PathCanonicalized, result.ExitCode);
57
58
var message = Assert.Single(result.Messages);
59
- Assert.Equal(MessageLevel.Warning, message.Level); // TODO: is this right?
59
+ Assert.Equal(MessageLevel.Error, message.Level);
60
}
61
}
62
}