diff options
Diffstat (limited to 'src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs')
-rw-r--r-- | src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs | 253 |
1 files changed, 170 insertions, 83 deletions
diff --git a/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs index 309241d9..b08cd54f 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs | |||
@@ -123,11 +123,7 @@ namespace WixToolsetTest.BurnE2E | |||
123 | bundleAv1.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.1.0"); | 123 | bundleAv1.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.1.0"); |
124 | } | 124 | } |
125 | 125 | ||
126 | #if SUPPORT_ADDON_AND_PATCH_RELATED_BUNDLES | ||
127 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] | 126 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] |
128 | #else | ||
129 | [Fact(Skip = "addon/patch related bundle")] | ||
130 | #endif | ||
131 | public void CanMinorUpgradeDependencyPackageFromPatchBundle() | 127 | public void CanMinorUpgradeDependencyPackageFromPatchBundle() |
132 | { | 128 | { |
133 | var originalVersion = "1.0.0.0"; | 129 | var originalVersion = "1.0.0.0"; |
@@ -145,34 +141,39 @@ namespace WixToolsetTest.BurnE2E | |||
145 | packageBv101.VerifyInstalled(false); | 141 | packageBv101.VerifyInstalled(false); |
146 | 142 | ||
147 | bundleJ.Install(); | 143 | bundleJ.Install(); |
148 | bundleJ.VerifyRegisteredAndInPackageCache(); | 144 | if (this.SupportAddonAndPatchRelatedBundles) |
145 | { | ||
146 | bundleJ.VerifyRegisteredAndInPackageCache(); | ||
149 | 147 | ||
150 | packageA.VerifyInstalled(true); | 148 | packageA.VerifyInstalled(true); |
151 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); | 149 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); |
152 | packageBv1.VerifyInstalled(true); | 150 | packageBv1.VerifyInstalled(true); |
151 | } | ||
153 | 152 | ||
154 | bundleJ_Patch.Install(); | 153 | bundleJ_Patch.Install(); |
155 | bundleJ_Patch.VerifyRegisteredAndInPackageCache(); | 154 | if (this.SupportAddonAndPatchRelatedBundles) |
155 | { | ||
156 | bundleJ_Patch.VerifyRegisteredAndInPackageCache(); | ||
156 | 157 | ||
157 | packageA.VerifyInstalled(true); | 158 | packageA.VerifyInstalled(true); |
158 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion); | 159 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion); |
159 | packageBv1.VerifyInstalled(false); | 160 | packageBv1.VerifyInstalled(false); |
160 | packageBv101.VerifyInstalled(true); | 161 | packageBv101.VerifyInstalled(true); |
162 | } | ||
161 | 163 | ||
162 | bundleJ.Uninstall(); | 164 | bundleJ.Uninstall(); |
163 | bundleJ.VerifyUnregisteredAndRemovedFromPackageCache(); | 165 | if (this.SupportAddonAndPatchRelatedBundles) |
164 | bundleJ_Patch.VerifyUnregisteredAndRemovedFromPackageCache(); | 166 | { |
165 | 167 | bundleJ.VerifyUnregisteredAndRemovedFromPackageCache(); | |
166 | packageA.VerifyInstalled(false); | 168 | bundleJ_Patch.VerifyUnregisteredAndRemovedFromPackageCache(); |
167 | packageBv1.VerifyInstalled(false); | 169 | |
168 | packageBv101.VerifyInstalled(false); | 170 | packageA.VerifyInstalled(false); |
171 | packageBv1.VerifyInstalled(false); | ||
172 | packageBv101.VerifyInstalled(false); | ||
173 | } | ||
169 | } | 174 | } |
170 | 175 | ||
171 | #if SUPPORT_ADDON_AND_PATCH_RELATED_BUNDLES | ||
172 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] | 176 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] |
173 | #else | ||
174 | [Fact(Skip = "addon/patch related bundle")] | ||
175 | #endif | ||
176 | public void CanMinorUpgradeDependencyPackageFromPatchBundleThenUninstallToRestoreBase() | 177 | public void CanMinorUpgradeDependencyPackageFromPatchBundleThenUninstallToRestoreBase() |
177 | { | 178 | { |
178 | var originalVersion = "1.0.0.0"; | 179 | var originalVersion = "1.0.0.0"; |
@@ -190,41 +191,49 @@ namespace WixToolsetTest.BurnE2E | |||
190 | packageBv101.VerifyInstalled(false); | 191 | packageBv101.VerifyInstalled(false); |
191 | 192 | ||
192 | bundleJ.Install(); | 193 | bundleJ.Install(); |
193 | bundleJ.VerifyRegisteredAndInPackageCache(); | 194 | if (this.SupportAddonAndPatchRelatedBundles) |
195 | { | ||
196 | bundleJ.VerifyRegisteredAndInPackageCache(); | ||
194 | 197 | ||
195 | packageA.VerifyInstalled(true); | 198 | packageA.VerifyInstalled(true); |
196 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); | 199 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); |
197 | packageBv1.VerifyInstalled(true); | 200 | packageBv1.VerifyInstalled(true); |
201 | } | ||
198 | 202 | ||
199 | bundleJ_Patch.Install(); | 203 | bundleJ_Patch.Install(); |
200 | bundleJ_Patch.VerifyRegisteredAndInPackageCache(); | 204 | if (this.SupportAddonAndPatchRelatedBundles) |
205 | { | ||
206 | bundleJ_Patch.VerifyRegisteredAndInPackageCache(); | ||
201 | 207 | ||
202 | packageA.VerifyInstalled(true); | 208 | packageA.VerifyInstalled(true); |
203 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion); | 209 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion); |
204 | packageBv1.VerifyInstalled(false); | 210 | packageBv1.VerifyInstalled(false); |
205 | packageBv101.VerifyInstalled(true); | 211 | packageBv101.VerifyInstalled(true); |
212 | } | ||
206 | 213 | ||
207 | bundleJ_Patch.Uninstall(); | 214 | bundleJ_Patch.Uninstall(); |
208 | bundleJ_Patch.VerifyUnregisteredAndRemovedFromPackageCache(); | 215 | if (this.SupportAddonAndPatchRelatedBundles) |
216 | { | ||
217 | bundleJ_Patch.VerifyUnregisteredAndRemovedFromPackageCache(); | ||
209 | 218 | ||
210 | packageA.VerifyInstalled(true); | 219 | packageA.VerifyInstalled(true); |
211 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); | 220 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); |
212 | packageBv1.VerifyInstalled(true); | 221 | packageBv1.VerifyInstalled(true); |
213 | packageBv101.VerifyInstalled(false); | 222 | packageBv101.VerifyInstalled(false); |
223 | } | ||
214 | 224 | ||
215 | bundleJ.Uninstall(); | 225 | bundleJ.Uninstall(); |
216 | bundleJ.VerifyUnregisteredAndRemovedFromPackageCache(); | 226 | if (this.SupportAddonAndPatchRelatedBundles) |
217 | 227 | { | |
218 | packageA.VerifyInstalled(false); | 228 | bundleJ.VerifyUnregisteredAndRemovedFromPackageCache(); |
219 | packageBv1.VerifyInstalled(false); | 229 | |
220 | packageBv101.VerifyInstalled(false); | 230 | packageA.VerifyInstalled(false); |
231 | packageBv1.VerifyInstalled(false); | ||
232 | packageBv101.VerifyInstalled(false); | ||
233 | } | ||
221 | } | 234 | } |
222 | 235 | ||
223 | #if SUPPORT_ADDON_AND_PATCH_RELATED_BUNDLES | ||
224 | [Fact] | 236 | [Fact] |
225 | #else | ||
226 | [Fact(Skip = "addon/patch related bundle")] | ||
227 | #endif | ||
228 | public void CanUninstallBaseWithAddOnsWhenAllSharePackages() | 237 | public void CanUninstallBaseWithAddOnsWhenAllSharePackages() |
229 | { | 238 | { |
230 | var testRegistryValueExe = "ExeA"; | 239 | var testRegistryValueExe = "ExeA"; |
@@ -239,33 +248,103 @@ namespace WixToolsetTest.BurnE2E | |||
239 | packageB.VerifyInstalled(false); | 248 | packageB.VerifyInstalled(false); |
240 | 249 | ||
241 | bundleF.Install(); | 250 | bundleF.Install(); |
242 | bundleF.VerifyRegisteredAndInPackageCache(); | 251 | if (this.SupportAddonAndPatchRelatedBundles) |
252 | { | ||
253 | bundleF.VerifyRegisteredAndInPackageCache(); | ||
243 | 254 | ||
244 | packageA.VerifyInstalled(true); | 255 | packageA.VerifyInstalled(true); |
245 | packageB.VerifyInstalled(true); | 256 | packageB.VerifyInstalled(true); |
257 | } | ||
246 | 258 | ||
247 | bundleF_AddOnA.Install(); | 259 | bundleF_AddOnA.Install(); |
248 | bundleF_AddOnA.VerifyRegisteredAndInPackageCache(); | 260 | if (this.SupportAddonAndPatchRelatedBundles) |
261 | { | ||
262 | bundleF_AddOnA.VerifyRegisteredAndInPackageCache(); | ||
249 | 263 | ||
250 | packageA.VerifyInstalled(true); | 264 | packageA.VerifyInstalled(true); |
251 | bundleF.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.0.0"); | 265 | bundleF.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.0.0"); |
252 | packageB.VerifyInstalled(true); | 266 | packageB.VerifyInstalled(true); |
267 | } | ||
253 | 268 | ||
254 | bundleF_AddOnB.Install(); | 269 | bundleF_AddOnB.Install(); |
255 | bundleF_AddOnB.VerifyRegisteredAndInPackageCache(); | 270 | if (this.SupportAddonAndPatchRelatedBundles) |
271 | { | ||
272 | bundleF_AddOnB.VerifyRegisteredAndInPackageCache(); | ||
256 | 273 | ||
257 | packageA.VerifyInstalled(true); | 274 | packageA.VerifyInstalled(true); |
258 | bundleF.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.0.0"); | 275 | bundleF.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.0.0"); |
259 | packageB.VerifyInstalled(true); | 276 | packageB.VerifyInstalled(true); |
277 | } | ||
260 | 278 | ||
261 | bundleF.Uninstall(); | 279 | bundleF.Uninstall(); |
262 | bundleF.VerifyUnregisteredAndRemovedFromPackageCache(); | 280 | if (this.SupportAddonAndPatchRelatedBundles) |
263 | bundleF_AddOnA.VerifyUnregisteredAndRemovedFromPackageCache(); | 281 | { |
264 | bundleF_AddOnB.VerifyUnregisteredAndRemovedFromPackageCache(); | 282 | bundleF.VerifyUnregisteredAndRemovedFromPackageCache(); |
283 | bundleF_AddOnA.VerifyUnregisteredAndRemovedFromPackageCache(); | ||
284 | bundleF_AddOnB.VerifyUnregisteredAndRemovedFromPackageCache(); | ||
285 | |||
286 | packageA.VerifyInstalled(false); | ||
287 | bundleF.VerifyExeTestRegistryRootDeleted(testRegistryValueExe); | ||
288 | packageB.VerifyInstalled(false); | ||
289 | } | ||
290 | } | ||
291 | |||
292 | [Fact] | ||
293 | public void CanUpgradeBaseWithAddOns() | ||
294 | { | ||
295 | var testRegistryValueExe = "ExeA"; | ||
296 | |||
297 | var packageA = this.CreatePackageInstaller("PackageAv1"); | ||
298 | var packageB = this.CreatePackageInstaller("PackageB"); | ||
299 | var bundleF = this.CreateBundleInstaller("BundleF"); | ||
300 | var bundleF_AddOnA = this.CreateBundleInstaller("BundleF_AddOnA"); | ||
301 | var bundleF_AddOnB = this.CreateBundleInstaller("BundleF_AddOnB"); | ||
302 | var bundleFv2 = this.CreateBundleInstaller("BundleFv2"); | ||
265 | 303 | ||
266 | packageA.VerifyInstalled(false); | 304 | packageA.VerifyInstalled(false); |
267 | bundleF.VerifyExeTestRegistryRootDeleted(testRegistryValueExe); | ||
268 | packageB.VerifyInstalled(false); | 305 | packageB.VerifyInstalled(false); |
306 | |||
307 | bundleF.Install(); | ||
308 | if (this.SupportAddonAndPatchRelatedBundles) | ||
309 | { | ||
310 | bundleF.VerifyRegisteredAndInPackageCache(); | ||
311 | |||
312 | packageA.VerifyInstalled(true); | ||
313 | packageB.VerifyInstalled(true); | ||
314 | } | ||
315 | |||
316 | bundleF_AddOnA.Install(); | ||
317 | if (this.SupportAddonAndPatchRelatedBundles) | ||
318 | { | ||
319 | bundleF_AddOnA.VerifyRegisteredAndInPackageCache(); | ||
320 | |||
321 | packageA.VerifyInstalled(true); | ||
322 | bundleF.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.0.0"); | ||
323 | packageB.VerifyInstalled(true); | ||
324 | } | ||
325 | |||
326 | bundleF_AddOnB.Install(); | ||
327 | if (this.SupportAddonAndPatchRelatedBundles) | ||
328 | { | ||
329 | bundleF_AddOnB.VerifyRegisteredAndInPackageCache(); | ||
330 | |||
331 | packageA.VerifyInstalled(true); | ||
332 | bundleF.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.0.0"); | ||
333 | packageB.VerifyInstalled(true); | ||
334 | } | ||
335 | |||
336 | bundleFv2.Install(); | ||
337 | if (this.SupportAddonAndPatchRelatedBundles) | ||
338 | { | ||
339 | bundleFv2.VerifyRegisteredAndInPackageCache(); | ||
340 | bundleF.VerifyUnregisteredAndRemovedFromPackageCache(); | ||
341 | bundleF_AddOnA.VerifyRegisteredAndInPackageCache(); | ||
342 | bundleF_AddOnB.VerifyRegisteredAndInPackageCache(); | ||
343 | |||
344 | packageA.VerifyInstalled(true); | ||
345 | bundleF.VerifyExeTestRegistryValue(testRegistryValueExe, "1.0.0.0"); | ||
346 | packageB.VerifyInstalled(true); | ||
347 | } | ||
269 | } | 348 | } |
270 | 349 | ||
271 | [Fact] | 350 | [Fact] |
@@ -343,11 +422,7 @@ namespace WixToolsetTest.BurnE2E | |||
343 | packageB.VerifyInstalled(false); | 422 | packageB.VerifyInstalled(false); |
344 | } | 423 | } |
345 | 424 | ||
346 | #if SUPPORT_ADDON_AND_PATCH_RELATED_BUNDLES | ||
347 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] | 425 | [Fact(Skip = "https://github.com/wixtoolset/issues/issues/6401")] |
348 | #else | ||
349 | [Fact(Skip = "addon/patch related bundle")] | ||
350 | #endif | ||
351 | public void CanUpgradePatchBundleWithAdditionalPatch() | 426 | public void CanUpgradePatchBundleWithAdditionalPatch() |
352 | { | 427 | { |
353 | var originalVersion = "1.0.0.0"; | 428 | var originalVersion = "1.0.0.0"; |
@@ -365,33 +440,45 @@ namespace WixToolsetTest.BurnE2E | |||
365 | packageB.VerifyInstalled(false); | 440 | packageB.VerifyInstalled(false); |
366 | 441 | ||
367 | bundleF.Install(); | 442 | bundleF.Install(); |
368 | bundleF.VerifyRegisteredAndInPackageCache(); | 443 | if (this.SupportAddonAndPatchRelatedBundles) |
444 | { | ||
445 | bundleF.VerifyRegisteredAndInPackageCache(); | ||
369 | 446 | ||
370 | packageA.VerifyInstalled(true); | 447 | packageA.VerifyInstalled(true); |
371 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); | 448 | packageA.VerifyTestRegistryValue(testRegistryValue, originalVersion); |
372 | packageB.VerifyInstalled(true); | 449 | packageB.VerifyInstalled(true); |
450 | } | ||
373 | 451 | ||
374 | bundleF_PatchAv101.Install(); | 452 | bundleF_PatchAv101.Install(); |
375 | bundleF_PatchAv101.VerifyRegisteredAndInPackageCache(); | 453 | if (this.SupportAddonAndPatchRelatedBundles) |
454 | { | ||
455 | bundleF_PatchAv101.VerifyRegisteredAndInPackageCache(); | ||
376 | 456 | ||
377 | packageA.VerifyInstalled(true); | 457 | packageA.VerifyInstalled(true); |
378 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion); | 458 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion); |
379 | packageB.VerifyInstalled(false); | 459 | packageB.VerifyInstalled(false); |
460 | } | ||
380 | 461 | ||
381 | bundleF_PatchAv102.Install(); | 462 | bundleF_PatchAv102.Install(); |
382 | bundleF_PatchAv102.VerifyRegisteredAndInPackageCache(); | 463 | if (this.SupportAddonAndPatchRelatedBundles) |
464 | { | ||
465 | bundleF_PatchAv102.VerifyRegisteredAndInPackageCache(); | ||
383 | 466 | ||
384 | packageA.VerifyInstalled(true); | 467 | packageA.VerifyInstalled(true); |
385 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion2); | 468 | packageA.VerifyTestRegistryValue(testRegistryValue, patchedVersion2); |
386 | packageB.VerifyInstalled(false); | 469 | packageB.VerifyInstalled(false); |
470 | } | ||
387 | 471 | ||
388 | bundleF.Uninstall(); | 472 | bundleF.Uninstall(); |
389 | bundleF.VerifyUnregisteredAndRemovedFromPackageCache(); | 473 | if (this.SupportAddonAndPatchRelatedBundles) |
390 | bundleF_PatchAv101.VerifyUnregisteredAndRemovedFromPackageCache(); | 474 | { |
391 | bundleF_PatchAv102.VerifyUnregisteredAndRemovedFromPackageCache(); | 475 | bundleF.VerifyUnregisteredAndRemovedFromPackageCache(); |
392 | 476 | bundleF_PatchAv101.VerifyUnregisteredAndRemovedFromPackageCache(); | |
393 | packageA.VerifyInstalled(false); | 477 | bundleF_PatchAv102.VerifyUnregisteredAndRemovedFromPackageCache(); |
394 | packageB.VerifyInstalled(false); | 478 | |
479 | packageA.VerifyInstalled(false); | ||
480 | packageB.VerifyInstalled(false); | ||
481 | } | ||
395 | } | 482 | } |
396 | 483 | ||
397 | [Fact] | 484 | [Fact] |