diff options
Diffstat (limited to 'src/test/burn/WixToolsetTest.BurnE2E')
-rw-r--r-- | src/test/burn/WixToolsetTest.BurnE2E/ExePackageTests.cs | 26 | ||||
-rw-r--r-- | src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs | 36 |
2 files changed, 62 insertions, 0 deletions
diff --git a/src/test/burn/WixToolsetTest.BurnE2E/ExePackageTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/ExePackageTests.cs index e76461f3..42301f30 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/ExePackageTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/ExePackageTests.cs | |||
@@ -143,6 +143,32 @@ namespace WixToolsetTest.BurnE2E | |||
143 | } | 143 | } |
144 | 144 | ||
145 | [RuntimeFact] | 145 | [RuntimeFact] |
146 | public void CanUseLargeCustomExitCode() | ||
147 | { | ||
148 | var customExitCodeExePackageBundle = this.CreateBundleInstaller(@"CustomExitCodeExePackage"); | ||
149 | |||
150 | var installLogPath = customExitCodeExePackageBundle.Install(5, "EXEEXITCODE=-2147024891"); | ||
151 | customExitCodeExePackageBundle.VerifyUnregisteredAndRemovedFromPackageCache(); | ||
152 | |||
153 | Assert.True(LogVerifier.MessageInLogFile(installLogPath, "TestExe.exe\" /ec -2147024891")); | ||
154 | Assert.True(LogVerifier.MessageInLogFile(installLogPath, "The process for package: TestExe exited with code: 0x80070005. The exit code has been translated to type: ErrorScheduleReboot and restart: Required.")); | ||
155 | Assert.True(LogVerifier.MessageInLogFile(installLogPath, "Applied execute package: TestExe, result: 0x80070005, restart: Required")); | ||
156 | Assert.True(LogVerifier.MessageInLogFile(installLogPath, "Apply complete, result: 0x80070005, restart: Required, ba requested restart: No")); | ||
157 | } | ||
158 | |||
159 | [RuntimeFact] | ||
160 | public void CanUseWildcardCustomExitCode() | ||
161 | { | ||
162 | var customExitCodeExePackageBundle = this.CreateBundleInstaller(@"CustomExitCodeExePackage"); | ||
163 | |||
164 | var installLogPath = customExitCodeExePackageBundle.Install((int)MSIExec.MSIExecReturnCode.SUCCESS, "EXEEXITCODE=1"); | ||
165 | customExitCodeExePackageBundle.VerifyUnregisteredAndRemovedFromPackageCache(); | ||
166 | |||
167 | Assert.True(LogVerifier.MessageInLogFile(installLogPath, "TestExe.exe\" /ec 1")); | ||
168 | Assert.True(LogVerifier.MessageInLogFile(installLogPath, "The process for package: TestExe exited with code: 0x1. The exit code has been translated to type: Success and restart: None.")); | ||
169 | } | ||
170 | |||
171 | [RuntimeFact] | ||
146 | public void CanInstallAndUninstallPerUserArpEntryExePackage() | 172 | public void CanInstallAndUninstallPerUserArpEntryExePackage() |
147 | { | 173 | { |
148 | var perUserArpEntryExePackageBundle = this.CreateBundleInstaller(@"PerUserArpEntryExePackage"); | 174 | var perUserArpEntryExePackageBundle = this.CreateBundleInstaller(@"PerUserArpEntryExePackage"); |
diff --git a/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs index df666833..f7ec8647 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/UpdateBundleTests.cs | |||
@@ -242,5 +242,41 @@ namespace WixToolsetTest.BurnE2E | |||
242 | packageBv1.VerifyInstalled(false); | 242 | packageBv1.VerifyInstalled(false); |
243 | packageBv2.VerifyInstalled(false); | 243 | packageBv2.VerifyInstalled(false); |
244 | } | 244 | } |
245 | |||
246 | // Installs bundle Bv1.0 then attempts an update to bundle Bv2.0 during modify (server exists, v2.0 feed with wrong hash). | ||
247 | [RuntimeFact] | ||
248 | public void CanBlockWrongUpdateBundleFromDownloadInsteadOfModify() | ||
249 | { | ||
250 | var packageBv1 = this.CreatePackageInstaller("PackageBv1"); | ||
251 | var packageBv2 = this.CreatePackageInstaller("PackageBv2"); | ||
252 | var bundleBv1 = this.CreateBundleInstaller("BundleBv1"); | ||
253 | var bundleBv2 = this.CreateBundleInstaller("BundleBv2"); | ||
254 | var webServer = this.CreateWebServer(); | ||
255 | |||
256 | webServer.AddFiles(new Dictionary<string, string> | ||
257 | { | ||
258 | { "/BundleB/feed", Path.Combine(this.TestContext.TestDataFolder, "FeedBv2.0_wronghash.xml") }, | ||
259 | { "/BundleB/2.0/BundleB.exe", bundleBv2.Bundle }, | ||
260 | }); | ||
261 | webServer.Start(); | ||
262 | |||
263 | packageBv1.VerifyInstalled(false); | ||
264 | packageBv2.VerifyInstalled(false); | ||
265 | |||
266 | bundleBv1.Install(); | ||
267 | bundleBv1.VerifyRegisteredAndInPackageCache(); | ||
268 | |||
269 | packageBv1.VerifyInstalled(true); | ||
270 | packageBv2.VerifyInstalled(false); | ||
271 | |||
272 | // Run the v1 bundle requesting an update bundle. | ||
273 | bundleBv1.Modify(unchecked((int)0x80091007), arguments: "-checkupdate"); | ||
274 | |||
275 | bundleBv1.VerifyRegisteredAndInPackageCache(); | ||
276 | bundleBv2.VerifyUnregisteredAndRemovedFromPackageCache(); | ||
277 | |||
278 | packageBv1.VerifyInstalled(true); | ||
279 | packageBv2.VerifyInstalled(false); | ||
280 | } | ||
245 | } | 281 | } |
246 | } | 282 | } |