From 92476046d8739cfb1411b605e57636208ac5af3c Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Mon, 7 Feb 2022 21:22:15 -0800 Subject: Actually elevate warning messages to error when requested --- src/api/wix/WixToolset.Data/Message.cs | 8 ++++++++ .../WixToolset.Core/ExtensibilityServices/Messaging.cs | 17 ++++++++++++++--- .../WixToolsetTest.CoreIntegration/WarningFixture.cs | 2 +- 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 /// The arguments for the format string. public object[] MessageArgs { get; } + /// + /// Changes the message into an error message. + /// + public void ElevateToError() + { + this.Level = MessageLevel.Error; + } + public override string ToString() { 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 public bool WarningsAsError { get; set; } - public void ElevateWarningMessage(int warningNumber) => this.warningsAsErrors.Add(warningNumber); + public void ElevateWarningMessage(int warningNumber) + { + this.warningsAsErrors.Add(warningNumber); + } - public void SetListener(IMessageListener listener) => this.listener = listener; + public void SetListener(IMessageListener listener) + { + this.listener = listener; + } - public void SuppressWarningMessage(int warningNumber) => this.suppressedWarnings.Add(warningNumber); + public void SuppressWarningMessage(int warningNumber) + { + this.suppressedWarnings.Add(warningNumber); + } public void Write(Message message) { @@ -87,6 +96,8 @@ namespace WixToolset.Core.ExtensibilityServices } else if (this.WarningsAsError || this.warningsAsErrors.Contains(message.Id)) { + message.ElevateToError(); + level = MessageLevel.Error; } } 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 Assert.Equal((int)WarningMessages.Ids.PathCanonicalized, result.ExitCode); var message = Assert.Single(result.Messages); - Assert.Equal(MessageLevel.Warning, message.Level); // TODO: is this right? + Assert.Equal(MessageLevel.Error, message.Level); } } } -- cgit v1.2.3-55-g6feb