diff options
Diffstat (limited to '')
-rw-r--r-- | src/WixToolsetTest.BurnE2E/FailureTests.cs | 45 |
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 | } |