From 6bb2c3d5a2082c377a31bffe1bbdb950b5e15781 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Wed, 3 Jun 2020 14:01:28 +1000 Subject: Get the inner exception test working in the MSBuild test project. --- src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs') diff --git a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs b/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs index 71255165..163e8402 100644 --- a/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs +++ b/src/test/WixToolsetTest.MSBuild/MsbuildFixture.cs @@ -378,5 +378,31 @@ namespace WixToolsetTest.MSBuild Assert.Empty(remainingPaths); } } + + [Theory] + [InlineData(BuildSystem.DotNetCoreSdk)] + [InlineData(BuildSystem.MSBuild)] + [InlineData(BuildSystem.MSBuild64)] + public void ReportsInnerExceptionForUnexpectedExceptions(BuildSystem buildSystem) + { + var sourceFolder = TestData.Get(@"TestData\SimpleMsiPackage\MsiPackage"); + + using (var fs = new TestDataFolderFileSystem()) + { + fs.Initialize(sourceFolder); + var baseFolder = fs.BaseFolder; + var binFolder = Path.Combine(baseFolder, @"bin\"); + var projectPath = Path.Combine(baseFolder, "MsiPackage.wixproj"); + + var result = MsbuildUtilities.BuildProject(buildSystem, projectPath, new[] + { + MsbuildUtilities.GetQuotedPropertySwitch(buildSystem, "WixToolDir", Path.Combine(MsbuildUtilities.WixMsbuildPath, "broken", "net461")), + }, outOfProc: true); + Assert.Equal(1, result.ExitCode); + + var expectedMessage = "System.PlatformNotSupportedException: Could not find platform specific 'wixnative.exe' ---> System.IO.FileNotFoundException: Could not find internal piece of WiX Toolset from"; + Assert.Contains(result.Output, m => m.Contains(expectedMessage)); + } + } } } -- cgit v1.2.3-55-g6feb