From 6aa87076310c0ad2cb92cabcf2e8bc83c22970be Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Fri, 11 Oct 2019 15:35:23 +1000 Subject: Add failing test around detect only Upgrade. --- .../WixlibQueryFixture.cs | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/test/WixToolsetTest.CoreIntegration/WixlibQueryFixture.cs diff --git a/src/test/WixToolsetTest.CoreIntegration/WixlibQueryFixture.cs b/src/test/WixToolsetTest.CoreIntegration/WixlibQueryFixture.cs new file mode 100644 index 00000000..88491eac --- /dev/null +++ b/src/test/WixToolsetTest.CoreIntegration/WixlibQueryFixture.cs @@ -0,0 +1,45 @@ +// 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 WixToolsetTest.CoreIntegration +{ + using System.IO; + using System.Linq; + using WixBuildTools.TestSupport; + using WixToolset.Core.TestPackage; + using WixToolset.Data; + using WixToolset.Data.Tuples; + using Xunit; + + public class WixlibQueryFixture + { + [Fact(Skip = "Test demonstrates failure")] + public void DetectOnlyUpgradeProducesReferenceToRemoveExistingProducts() + { + var folder = TestData.Get(@"TestData\Upgrade"); + + using (var fs = new DisposableFileSystem()) + { + var baseFolder = fs.GetFolder(); + var intermediateFolder = Path.Combine(baseFolder, "obj"); + + var result = WixRunner.Execute(new[] + { + "build", + Path.Combine(folder, "DetectOnly.wxs"), + "-intermediateFolder", intermediateFolder, + "-o", Path.Combine(intermediateFolder, @"test.wixlib"), + }); + + result.AssertSuccess(); + + var intermediate = Intermediate.Load(Path.Combine(intermediateFolder, @"test.wixlib")); + var allTuples = intermediate.Sections.SelectMany(s => s.Tuples); + var wixSimpleRefTuples = allTuples.OfType(); + var repRef = wixSimpleRefTuples.Where(t => t.Table == "WixAction" && + t.PrimaryKeys == "InstallExecuteSequence/RemoveExistingProducts") + .SingleOrDefault(); + Assert.NotNull(repRef); + } + } + } +} -- cgit v1.2.3-55-g6feb