From 6bcf25fe37f0b4dc5f2f43720777e7ab0d26b030 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sun, 7 Mar 2021 14:48:08 -0600 Subject: Add failing test for patch from MSI that included a file from a wixext. --- .../WixToolsetTest.CoreIntegration/PatchFixture.cs | 25 +++++++++++++++++- .../TestData/PatchFromWixlib/Package.wxs | 30 ++++++++++++++++++++++ .../TestData/PatchFromWixlib/Patch.wxs | 16 ++++++++++++ 3 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Package.wxs create mode 100644 src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Patch.wxs (limited to 'src/test/WixToolsetTest.CoreIntegration') diff --git a/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs b/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs index 788cc01f..de6d00a2 100644 --- a/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs +++ b/src/test/WixToolsetTest.CoreIntegration/PatchFixture.cs @@ -2,6 +2,7 @@ namespace WixToolsetTest.CoreIntegration { + using System; using System.Collections.Generic; using System.ComponentModel; using System.IO; @@ -10,6 +11,7 @@ namespace WixToolsetTest.CoreIntegration using System.Text; using System.Xml; using System.Xml.Linq; + using Example.Extension; using WixBuildTools.TestSupport; using WixToolset.Core.TestPackage; using WixToolset.Data; @@ -84,6 +86,25 @@ namespace WixToolsetTest.CoreIntegration } } + [Fact(Skip = "Test demonstrates failure")] + public void CanBuildPatchFromProductWithFilesFromWixlib() + { + var folder = TestData.Get(@"TestData\PatchFromWixlib"); + + using (var fs = new DisposableFileSystem()) + { + var tempFolder = fs.GetFolder(); + + var baselinePdb = BuildMsi("Baseline.msi", folder, tempFolder, "1.0.0", "1.0.0", "1.0.0"); + var update1Pdb = BuildMsi("Update.msi", folder, tempFolder, "1.0.1", "1.0.1", "1.0.1"); + var patchPdb = BuildMsp("Patch1.msp", folder, tempFolder, "1.0.1", hasNoFiles: true); + var patchPath = Path.ChangeExtension(patchPdb, ".msp"); + + Assert.True(File.Exists(baselinePdb)); + Assert.True(File.Exists(update1Pdb)); + } + } + [Fact] public void CanBuildBundleWithNonSpecificPatches() { @@ -164,6 +185,7 @@ namespace WixToolsetTest.CoreIntegration private static string BuildMsi(string outputName, string sourceFolder, string baseFolder, string defineV, string defineA, string defineB) { + var extensionPath = Path.GetFullPath(new Uri(typeof(ExampleExtensionFactory).Assembly.CodeBase).LocalPath); var outputPath = Path.Combine(baseFolder, Path.Combine("bin", outputName)); var result = WixRunner.Execute(new[] @@ -175,7 +197,8 @@ namespace WixToolsetTest.CoreIntegration "-d", "B=" + defineB, "-bindpath", Path.Combine(sourceFolder, ".data"), "-intermediateFolder", Path.Combine(baseFolder, "obj"), - "-o", outputPath + "-o", outputPath, + "-ext", extensionPath, }); result.AssertSuccess(); diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Package.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Package.wxs new file mode 100644 index 00000000..5cb8ede8 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Package.wxs @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Patch.wxs b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Patch.wxs new file mode 100644 index 00000000..52e87f64 --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/TestData/PatchFromWixlib/Patch.wxs @@ -0,0 +1,16 @@ + + + + + + + + + + -- cgit v1.2.3-55-g6feb