@joebigelow / wix / commits / 92476046

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 }