From a0d67c99eb5be2ce6e83f9a8a46d52b61d9871dc Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 3 Oct 2018 14:29:38 -0700 Subject: Add WixRunnerResult to improve success assertion --- src/WixToolset.Core.TestPackage/WixRunner.cs | 7 +++++++ src/WixToolset.Core.TestPackage/WixRunnerResult.cs | 22 ++++++++++++++++++++++ .../WixToolset.Core.TestPackage.csproj | 9 +++++++-- 3 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 src/WixToolset.Core.TestPackage/WixRunnerResult.cs (limited to 'src/WixToolset.Core.TestPackage') diff --git a/src/WixToolset.Core.TestPackage/WixRunner.cs b/src/WixToolset.Core.TestPackage/WixRunner.cs index ff5c3c41..d7487f6d 100644 --- a/src/WixToolset.Core.TestPackage/WixRunner.cs +++ b/src/WixToolset.Core.TestPackage/WixRunner.cs @@ -16,6 +16,13 @@ namespace WixToolset.Core.TestPackage return Execute(args, serviceProvider, out messages); } + public static WixRunnerResult Execute(string[] args) + { + var serviceProvider = new WixToolsetServiceProvider(); + var exitCode = Execute(args, serviceProvider, out var messages); + return new WixRunnerResult { ExitCode = exitCode, Messages = messages.ToArray() }; + } + public static int Execute(string[] args, IServiceProvider serviceProvider, out List messages) { var listener = new TestMessageListener(); diff --git a/src/WixToolset.Core.TestPackage/WixRunnerResult.cs b/src/WixToolset.Core.TestPackage/WixRunnerResult.cs new file mode 100644 index 00000000..45e31c2d --- /dev/null +++ b/src/WixToolset.Core.TestPackage/WixRunnerResult.cs @@ -0,0 +1,22 @@ +// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. + +namespace WixToolset.Core.TestPackage +{ + using System; + using System.Linq; + using WixToolset.Data; + using Xunit; + + public class WixRunnerResult + { + public int ExitCode { get; set; } + + public Message[] Messages { get; set; } + + public WixRunnerResult AssertSuccess() + { + Assert.True(0 == this.ExitCode, $"MSBuild failed unexpectedly. Output:\r\n{String.Join("\r\n", this.Messages.Select(m => m.ToString()).ToArray())}"); + return this; + } + } +} diff --git a/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj b/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj index 3632b064..f02cade7 100644 --- a/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj +++ b/src/WixToolset.Core.TestPackage/WixToolset.Core.TestPackage.csproj @@ -1,9 +1,9 @@ - + - netstandard2.0 + net461;netcoreapp2.1 Internal WiX Toolset Test Package embedded true @@ -37,4 +37,9 @@ + + + + + -- cgit v1.2.3-55-g6feb