aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2022-02-07 21:22:15 -0800
committerRob Mensching <rob@firegiant.com>2022-02-08 09:42:04 -0800
commit92476046d8739cfb1411b605e57636208ac5af3c (patch)
tree32831427ee84f802f4793560d1228520c7ecf571
parent5dbe0436f2e40528d80d139197e05ca47b8f3627 (diff)
downloadwix-92476046d8739cfb1411b605e57636208ac5af3c.tar.gz
wix-92476046d8739cfb1411b605e57636208ac5af3c.tar.bz2
wix-92476046d8739cfb1411b605e57636208ac5af3c.zip
Actually elevate warning messages to error when requested
-rw-r--r--src/api/wix/WixToolset.Data/Message.cs8
-rw-r--r--src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs17
-rw-r--r--src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs2
3 files changed, 23 insertions, 4 deletions
diff --git a/src/api/wix/WixToolset.Data/Message.cs b/src/api/wix/WixToolset.Data/Message.cs
index 85a402e5..ddcff23e 100644
--- a/src/api/wix/WixToolset.Data/Message.cs
+++ b/src/api/wix/WixToolset.Data/Message.cs
@@ -82,6 +82,14 @@ namespace WixToolset.Data
82 /// <value>The arguments for the format string.</value> 82 /// <value>The arguments for the format string.</value>
83 public object[] MessageArgs { get; } 83 public object[] MessageArgs { get; }
84 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
85 public override string ToString() 93 public override string ToString()
86 { 94 {
87 if (this.ResourceManager == null) 95 if (this.ResourceManager == null)
diff --git a/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs b/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs
index afcd9244..280d845c 100644
--- a/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs
+++ b/src/wix/WixToolset.Core/ExtensibilityServices/Messaging.cs
@@ -23,11 +23,20 @@ namespace WixToolset.Core.ExtensibilityServices
23 23
24 public bool WarningsAsError { get; set; } 24 public bool WarningsAsError { get; set; }
25 25
26 public void ElevateWarningMessage(int warningNumber) => this.warningsAsErrors.Add(warningNumber); 26 public void ElevateWarningMessage(int warningNumber)
27 {
28 this.warningsAsErrors.Add(warningNumber);
29 }
27 30
28 public void SetListener(IMessageListener listener) => this.listener = listener; 31 public void SetListener(IMessageListener listener)
32 {
33 this.listener = listener;
34 }
29 35
30 public void SuppressWarningMessage(int warningNumber) => this.suppressedWarnings.Add(warningNumber); 36 public void SuppressWarningMessage(int warningNumber)
37 {
38 this.suppressedWarnings.Add(warningNumber);
39 }
31 40
32 public void Write(Message message) 41 public void Write(Message message)
33 { 42 {
@@ -87,6 +96,8 @@ namespace WixToolset.Core.ExtensibilityServices
87 } 96 }
88 else if (this.WarningsAsError || this.warningsAsErrors.Contains(message.Id)) 97 else if (this.WarningsAsError || this.warningsAsErrors.Contains(message.Id))
89 { 98 {
99 message.ElevateToError();
100
90 level = MessageLevel.Error; 101 level = MessageLevel.Error;
91 } 102 }
92 } 103 }
diff --git a/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs b/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs
index c5b6c261..0d5b3b4b 100644
--- a/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs
+++ b/src/wix/test/WixToolsetTest.CoreIntegration/WarningFixture.cs
@@ -56,7 +56,7 @@ namespace WixToolsetTest.CoreIntegration
56 Assert.Equal((int)WarningMessages.Ids.PathCanonicalized, result.ExitCode); 56 Assert.Equal((int)WarningMessages.Ids.PathCanonicalized, result.ExitCode);
57 57
58 var message = Assert.Single(result.Messages); 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 } 60 }
61 } 61 }
62 } 62 }