aboutsummaryrefslogtreecommitdiff
path: root/src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2022-02-22 20:23:43 -0600
committerSean Hall <r.sean.hall@gmail.com>2022-02-22 23:37:57 -0600
commit8e8f724d90c6835febb8b5865009746aea73a334 (patch)
treeb255c0a7232af8d24bcf44fd476b95bdfdcfe777 /src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs
parent0740d93ca8be06ec0e5da5b51ceff52f67ab5bf5 (diff)
downloadwix-8e8f724d90c6835febb8b5865009746aea73a334.tar.gz
wix-8e8f724d90c6835febb8b5865009746aea73a334.tar.bz2
wix-8e8f724d90c6835febb8b5865009746aea73a334.zip
Add UnsafeUninstall action.
Fixes #6721
Diffstat (limited to 'src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs')
-rw-r--r--src/test/burn/WixToolsetTest.BurnE2E/ForwardCompatibleBundleTests.cs46
1 files changed, 39 insertions, 7 deletions
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
@@ -18,6 +18,38 @@ namespace WixToolsetTest.BurnE2E
18 private const string V200 = "2.0.0.0"; 18 private const string V200 = "2.0.0.0";
19 19
20 [Fact] 20 [Fact]
21 public void CanIgnoreBundleDependentForUnsafeUninstall()
22 {
23 string providerId = BundleAProviderId;
24 string parent = "~BundleAv1";
25 string parentSwitch = String.Concat("-parent ", parent);
26
27 var packageAv1 = this.CreatePackageInstaller("PackageAv1");
28 var bundleAv1 = this.CreateBundleInstaller("BundleAv1");
29 var testBAController = this.CreateTestBAController();
30
31 packageAv1.VerifyInstalled(false);
32
33 // Install the v1 bundle with a parent.
34 bundleAv1.Install(arguments: parentSwitch);
35 bundleAv1.VerifyRegisteredAndInPackageCache();
36
37 packageAv1.VerifyInstalled(true);
38 Assert.True(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out var actualProviderVersion));
39 Assert.Equal(V100, actualProviderVersion);
40 Assert.True(BundleRegistration.DependencyDependentExists(providerId, parent));
41
42 // Cancel package B right away.
43 testBAController.SetPackageCancelExecuteAtProgress("PackageA", 1);
44
45 bundleAv1.UnsafeUninstall((int)MSIExec.MSIExecReturnCode.ERROR_INSTALL_USEREXIT);
46 bundleAv1.VerifyUnregisteredAndRemovedFromPackageCache();
47
48 packageAv1.VerifyInstalled(true);
49 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
50 }
51
52 [Fact]
21 public void CanTrack1ForwardCompatibleDependentThroughMajorUpgrade() 53 public void CanTrack1ForwardCompatibleDependentThroughMajorUpgrade()
22 { 54 {
23 string providerId = BundleAProviderId; 55 string providerId = BundleAProviderId;
@@ -70,7 +102,7 @@ namespace WixToolsetTest.BurnE2E
70 102
71 packageAv1.VerifyInstalled(false); 103 packageAv1.VerifyInstalled(false);
72 packageAv2.VerifyInstalled(false); 104 packageAv2.VerifyInstalled(false);
73 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); 105 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
74 } 106 }
75 107
76 [Fact] 108 [Fact]
@@ -116,7 +148,7 @@ namespace WixToolsetTest.BurnE2E
116 148
117 packageAv1.VerifyInstalled(false); 149 packageAv1.VerifyInstalled(false);
118 packageAv2.VerifyInstalled(false); 150 packageAv2.VerifyInstalled(false);
119 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); 151 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
120 } 152 }
121 153
122 [Fact] 154 [Fact]
@@ -198,7 +230,7 @@ namespace WixToolsetTest.BurnE2E
198 230
199 packageAv1.VerifyInstalled(false); 231 packageAv1.VerifyInstalled(false);
200 packageAv2.VerifyInstalled(false); 232 packageAv2.VerifyInstalled(false);
201 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); 233 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
202 } 234 }
203 235
204 [Fact] 236 [Fact]
@@ -280,7 +312,7 @@ namespace WixToolsetTest.BurnE2E
280 312
281 packageCv1.VerifyInstalled(false); 313 packageCv1.VerifyInstalled(false);
282 packageCv2.VerifyInstalled(false); 314 packageCv2.VerifyInstalled(false);
283 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); 315 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
284 } 316 }
285 317
286 [Fact] 318 [Fact]
@@ -366,7 +398,7 @@ namespace WixToolsetTest.BurnE2E
366 398
367 packageAv1.VerifyInstalled(false); 399 packageAv1.VerifyInstalled(false);
368 packageAv2.VerifyInstalled(false); 400 packageAv2.VerifyInstalled(false);
369 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); 401 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
370 } 402 }
371 403
372 [Fact] 404 [Fact]
@@ -414,7 +446,7 @@ namespace WixToolsetTest.BurnE2E
414 446
415 packageAv1.VerifyInstalled(false); 447 packageAv1.VerifyInstalled(false);
416 packageAv2.VerifyInstalled(false); 448 packageAv2.VerifyInstalled(false);
417 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); 449 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
418 } 450 }
419 451
420 [Fact] 452 [Fact]
@@ -463,7 +495,7 @@ namespace WixToolsetTest.BurnE2E
463 495
464 packageAv1.VerifyInstalled(false); 496 packageAv1.VerifyInstalled(false);
465 packageAv2.VerifyInstalled(false); 497 packageAv2.VerifyInstalled(false);
466 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out actualProviderVersion)); 498 Assert.False(BundleRegistration.TryGetDependencyProviderValue(providerId, "Version", out _));
467 } 499 }
468 } 500 }
469} 501}