From 41f239fb378f8371e10805c3b186ae79d734e4d4 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Sun, 24 Jan 2021 20:58:53 -0600 Subject: Add test for same exact package in multiple versions of a bundle. --- .../DependencyTests/BundleKv1/BundleK.props | 10 ++++++ .../DependencyTests/BundleKv1/BundleKv1.wixproj | 12 +++++++ .../DependencyTests/BundleKv1/BundleKv1.wxs | 10 ++++++ .../DependencyTests/BundleKv2/BundleKv2.wixproj | 15 +++++++++ .../DependencyTests/BundleKv2/BundleKv2.wxs | 10 ++++++ .../DependencyTests/PackageF/PackageF.wixproj | 9 +++++ src/TestData/Templates/Package.wxs | 1 - src/TestData/Templates/PackageFail.wxs | 1 - src/WixToolsetTest.BurnE2E/DependencyTests.cs | 38 ++++++++++++++++++++++ 9 files changed, 104 insertions(+), 2 deletions(-) create mode 100644 src/TestData/DependencyTests/BundleKv1/BundleK.props create mode 100644 src/TestData/DependencyTests/BundleKv1/BundleKv1.wixproj create mode 100644 src/TestData/DependencyTests/BundleKv1/BundleKv1.wxs create mode 100644 src/TestData/DependencyTests/BundleKv2/BundleKv2.wixproj create mode 100644 src/TestData/DependencyTests/BundleKv2/BundleKv2.wxs create mode 100644 src/TestData/DependencyTests/PackageF/PackageF.wixproj create mode 100644 src/WixToolsetTest.BurnE2E/DependencyTests.cs diff --git a/src/TestData/DependencyTests/BundleKv1/BundleK.props b/src/TestData/DependencyTests/BundleKv1/BundleK.props new file mode 100644 index 00000000..15257eb3 --- /dev/null +++ b/src/TestData/DependencyTests/BundleKv1/BundleK.props @@ -0,0 +1,10 @@ + + + + Bundle + {F7B7CCD8-ACFE-45D8-9EC2-934BBC3BE597} + + + + + diff --git a/src/TestData/DependencyTests/BundleKv1/BundleKv1.wixproj b/src/TestData/DependencyTests/BundleKv1/BundleKv1.wixproj new file mode 100644 index 00000000..6194889f --- /dev/null +++ b/src/TestData/DependencyTests/BundleKv1/BundleKv1.wixproj @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/TestData/DependencyTests/BundleKv1/BundleKv1.wxs b/src/TestData/DependencyTests/BundleKv1/BundleKv1.wxs new file mode 100644 index 00000000..c4a85814 --- /dev/null +++ b/src/TestData/DependencyTests/BundleKv1/BundleKv1.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/TestData/DependencyTests/BundleKv2/BundleKv2.wixproj b/src/TestData/DependencyTests/BundleKv2/BundleKv2.wixproj new file mode 100644 index 00000000..7b4c5479 --- /dev/null +++ b/src/TestData/DependencyTests/BundleKv2/BundleKv2.wixproj @@ -0,0 +1,15 @@ + + + + + 2.0.0.0 + + + + + + + + + + \ No newline at end of file diff --git a/src/TestData/DependencyTests/BundleKv2/BundleKv2.wxs b/src/TestData/DependencyTests/BundleKv2/BundleKv2.wxs new file mode 100644 index 00000000..c4a85814 --- /dev/null +++ b/src/TestData/DependencyTests/BundleKv2/BundleKv2.wxs @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/TestData/DependencyTests/PackageF/PackageF.wixproj b/src/TestData/DependencyTests/PackageF/PackageF.wixproj new file mode 100644 index 00000000..25b610ac --- /dev/null +++ b/src/TestData/DependencyTests/PackageF/PackageF.wixproj @@ -0,0 +1,9 @@ + + + + {069AECC6-84DC-4FA4-B506-CD3A9A76F2F4} + + + + + \ No newline at end of file diff --git a/src/TestData/Templates/Package.wxs b/src/TestData/Templates/Package.wxs index 6cf47775..5522b9a3 100644 --- a/src/TestData/Templates/Package.wxs +++ b/src/TestData/Templates/Package.wxs @@ -15,7 +15,6 @@ - diff --git a/src/TestData/Templates/PackageFail.wxs b/src/TestData/Templates/PackageFail.wxs index 7cbf7ebc..73858fde 100644 --- a/src/TestData/Templates/PackageFail.wxs +++ b/src/TestData/Templates/PackageFail.wxs @@ -11,7 +11,6 @@ - diff --git a/src/WixToolsetTest.BurnE2E/DependencyTests.cs b/src/WixToolsetTest.BurnE2E/DependencyTests.cs new file mode 100644 index 00000000..a3994cf6 --- /dev/null +++ b/src/WixToolsetTest.BurnE2E/DependencyTests.cs @@ -0,0 +1,38 @@ +// 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.BurnE2E +{ + using Xunit; + using Xunit.Abstractions; + + public class DependencyTests : BurnE2ETests + { + public DependencyTests(ITestOutputHelper testOutputHelper) : base(testOutputHelper) { } + + [Fact] + public void CanKeepSameExactPackageAfterUpgradingBundle() + { + var packageA = this.CreatePackageInstaller("PackageF"); + var bundleAv1 = this.CreateBundleInstaller("BundleKv1"); + var bundleAv2 = this.CreateBundleInstaller("BundleKv2"); + + packageA.VerifyInstalled(false); + + bundleAv1.Install(); + bundleAv1.VerifyRegisteredAndInPackageCache(); + + packageA.VerifyInstalled(true); + + bundleAv2.Install(); + bundleAv2.VerifyRegisteredAndInPackageCache(); + bundleAv1.VerifyUnregisteredAndRemovedFromPackageCache(); + + packageA.VerifyInstalled(true); + + bundleAv2.Uninstall(); + bundleAv2.VerifyUnregisteredAndRemovedFromPackageCache(); + + packageA.VerifyInstalled(false); + } + } +} -- cgit v1.2.3-55-g6feb