aboutsummaryrefslogtreecommitdiff
path: root/src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs')
-rw-r--r--src/test/burn/WixToolsetTest.BurnE2E/DependencyTests.cs253
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]