aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolsetTest.BurnE2E/FailureTests.cs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/WixToolsetTest.BurnE2E/FailureTests.cs45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/WixToolsetTest.BurnE2E/FailureTests.cs b/src/WixToolsetTest.BurnE2E/FailureTests.cs
index bc505527..a11a5eb6 100644
--- a/src/WixToolsetTest.BurnE2E/FailureTests.cs
+++ b/src/WixToolsetTest.BurnE2E/FailureTests.cs
@@ -63,5 +63,50 @@ namespace WixToolsetTest.BurnE2E
63 packageA.VerifyInstalled(false); 63 packageA.VerifyInstalled(false);
64 packageB.VerifyInstalled(false); 64 packageB.VerifyInstalled(false);
65 } 65 }
66
67 [Fact(Skip = "https://github.com/wixtoolset/issues/issues/5750")]
68 public void CanCancelExecuteWhileCaching()
69 {
70 var packageA = this.CreatePackageInstaller("PackageA");
71 var packageB = this.CreatePackageInstaller("PackageB");
72 var bundleB = this.CreateBundleInstaller("BundleB");
73 var testBAController = this.CreateTestBAController();
74
75 // Slow the caching of package B to ensure that package A starts installing and cancels.
76 testBAController.SetPackageCancelExecuteAtProgress("PackageA", 50);
77 testBAController.SetPackageSlowCache("PackageB", 2000);
78
79 bundleB.Install((int)MSIExec.MSIExecReturnCode.ERROR_INSTALL_USEREXIT);
80 bundleB.VerifyUnregisteredAndRemovedFromPackageCache();
81
82 packageA.VerifyInstalled(false);
83 packageB.VerifyInstalled(false);
84 }
85
86 /// <summary>
87 /// BundleC has non-vital PackageA and vital PackageB.
88 /// PackageA is not compressed in the bundle and has a Name different from the source file. The Name points to a file that does not exist.
89 /// BundleC should be able to install successfully by ignoring the missing PackageA and installing PackageB.
90 /// </summary>
91 [Fact]
92 public void CanInstallWhenMissingNonVitalPackage()
93 {
94 var packageA = this.CreatePackageInstaller("PackageA");
95 var packageB = this.CreatePackageInstaller("PackageB");
96 var bundleC = this.CreateBundleInstaller("BundleC");
97
98 var bundleCInstallLogFilePath = bundleC.Install();
99 bundleC.VerifyRegisteredAndInPackageCache();
100 Assert.True(LogVerifier.MessageInLogFileRegex(bundleCInstallLogFilePath, "Skipping apply of package: PackageA due to cache error: 0x80070002. Continuing..."));
101
102 packageA.VerifyInstalled(false);
103 packageB.VerifyInstalled(true);
104
105 bundleC.Uninstall();
106 bundleC.VerifyUnregisteredAndRemovedFromPackageCache();
107
108 packageA.VerifyInstalled(false);
109 packageB.VerifyInstalled(false);
110 }
66 } 111 }
67} 112}