From c8c73ccddedcb64f9989e3d5a9f15240b476b551 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Fri, 27 Jul 2018 00:35:52 -0700 Subject: Remove WixFileNotFoundException, report checked paths and improve bind path command-line parsing --- .../WixToolsetTest.CoreIntegration/MsiFixture.cs | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs') diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs index 7a10f71e..9d46ba98 100644 --- a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs @@ -170,6 +170,41 @@ namespace WixToolsetTest.CoreIntegration } } + [Fact] + public void CanFailBuildMissingFile() + { + var folder = TestData.Get(@"TestData\SingleFile"); + + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(folder, "Package.wxs"), + Path.Combine(folder, "PackageComponents.wxs"), + "-loc", Path.Combine(folder, "Package.en-us.wxl"), + "-bindpath", Path.Combine(folder, "does-not-exist"), + "-bindpath", Path.Combine(folder, "also-does-not-exist"), + "-intermediateFolder", intermediateFolder, + "-o", Path.Combine(baseFolder, @"bin\test.msi") + }, out var messages); + Assert.Equal(103, result); + + var error = messages.Single(m => m.Level == MessageLevel.Error); + var errorMessage = error.ToString(); + var checkedPaths = errorMessage.Substring(errorMessage.IndexOf(':') + 1).Split(new[] { ',' }).Select(s => s.Trim()).ToArray(); + Assert.Equal(new[] + { + "test.txt", + Path.Combine(folder, "does-not-exist", "test.txt"), + Path.Combine(folder, "also-does-not-exist", "test.txt"), + }, checkedPaths); + } + } + [Fact] public void CanLoadPdbGeneratedByBuild() { -- cgit v1.2.3-55-g6feb