From 8e8f724d90c6835febb8b5865009746aea73a334 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Tue, 22 Feb 2022 20:23:43 -0600 Subject: Add UnsafeUninstall action. Fixes #6721 --- .../ForwardCompatibleBundleTests.cs | 46 ++++++++++++++++++---- 1 file changed, 39 insertions(+), 7 deletions(-) (limited to 'src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs') diff --git a/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs index eb649c86..357cf515 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs @@ -17,6 +17,38 @@ namespace WixToolsetTest.BurnE2E private const string V100 = "1.0.0.0"; private const string V200 = "2.0.0.0"; + [Fact] + public void CanIgnoreBundleDependentForUnsafeUninstall() + { + string providerId = BundleAProviderId; + string parent = "~BundleAv1"; + string parentSwitch = String.Concat("-parent ", parent); + + var packageAv1 = this.CreatePackageInstaller("PackageAv1"); + var bundleAv1 = this.CreateBundleInstaller("BundleAv1"); + var testBAController = this.CreateTestBAController(); + + packageAv1.VerifyInstalled(false); + + // Install the v1 bundle with a parent. + bundleAv1.Install(arguments: parentSwitch); + bundleAv1.VerifyRegisteredAndInPackageCache(); + + packageAv1.VerifyInstalled(true); + Assert.True(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out var actualProviderVersion)); + Assert.Equal(V100, actualProviderVersion); + Assert.True(BundleRegistration.DependencyDependentExists(providerId, parent)); + + // Cancel package B right away. + testBAController.SetPackageCancelExecuteAtProgress("PackageA", 1); + + bundleAv1.UnsafeUninstall((int)MSIExec.MSIExecReturnCode.ERROR_INSTALL_USEREXIT); + bundleAv1.VerifyUnregisteredAndRemovedFromPackageCache(); + + packageAv1.VerifyInstalled(true); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); + } + [Fact] public void CanTrack1ForwardCompatibleDependentThroughMajorUpgrade() { @@ -70,7 +102,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyInstalled(false); packageAv2.VerifyInstalled(false); - Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } [Fact] @@ -116,7 +148,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyInstalled(false); packageAv2.VerifyInstalled(false); - Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } [Fact] @@ -198,7 +230,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyInstalled(false); packageAv2.VerifyInstalled(false); - Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } [Fact] @@ -280,7 +312,7 @@ namespace WixToolsetTest.BurnE2E packageCv1.VerifyInstalled(false); packageCv2.VerifyInstalled(false); - Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } [Fact] @@ -366,7 +398,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyInstalled(false); packageAv2.VerifyInstalled(false); - Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } [Fact] @@ -414,7 +446,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyInstalled(false); packageAv2.VerifyInstalled(false); - Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } [Fact] @@ -463,7 +495,7 @@ namespace WixToolsetTest.BurnE2E packageAv1.VerifyInstalled(false); packageAv2.VerifyInstalled(false); - Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); + Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _)); } } } -- cgit v1.2.3-55-g6feb