diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-04-16 10:09:26 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-04-19 23:12:55 -0500 |
commit | 90cdf39e6e6b7d676ca33bee031fa2b865bb5fbd (patch) | |
tree | 901feb035d5ea9a13f306582cedd6668b539953f /src/test | |
parent | c88806b89293f5bb92c42e90230e48be6b79b7f4 (diff) | |
download | wix-90cdf39e6e6b7d676ca33bee031fa2b865bb5fbd.tar.gz wix-90cdf39e6e6b7d676ca33bee031fa2b865bb5fbd.tar.bz2 wix-90cdf39e6e6b7d676ca33bee031fa2b865bb5fbd.zip |
Don't plan payloads.
Contributes to #3640 and #5253
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/BurnUnitTest/PlanTest.cpp | 211 |
1 files changed, 41 insertions, 170 deletions
diff --git a/src/test/BurnUnitTest/PlanTest.cpp b/src/test/BurnUnitTest/PlanTest.cpp index 2ebbca74..aa9deaf6 100644 --- a/src/test/BurnUnitTest/PlanTest.cpp +++ b/src/test/BurnUnitTest/PlanTest.cpp | |||
@@ -54,47 +54,30 @@ namespace Bootstrapper | |||
54 | 54 | ||
55 | BOOL fRollback = FALSE; | 55 | BOOL fRollback = FALSE; |
56 | DWORD dwIndex = 0; | 56 | DWORD dwIndex = 0; |
57 | DWORD dwPackageStart = 0; | ||
58 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 57 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
59 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 6, 2, 33743, FALSE); | 58 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); |
60 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE); | 59 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
61 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 6); | ||
62 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); | ||
63 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ", TRUE, FALSE, dwPackageStart); | ||
64 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
65 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
66 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 9); | 60 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 9); |
67 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageB", 14, 2, 33743, FALSE); | 61 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageB"); |
68 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", TRUE); | 62 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
69 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 2); | ||
70 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageB", L"PackageB", TRUE, FALSE, dwPackageStart); | ||
71 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageB", L"cablKtJUKxAbhSMIBwQU6vJ_CDsIkE", TRUE, FALSE, dwPackageStart); | ||
72 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageB", FALSE); | ||
73 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
74 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 14); | 63 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 14); |
75 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageC", 22, 2, 33743, FALSE); | 64 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageC"); |
76 | ValidateCacheAcquireContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", TRUE); | 65 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
77 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, dwPackageStart, 2); | 66 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
78 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageC", L"PackageC", TRUE, FALSE, dwPackageStart); | ||
79 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageC", L"cab3wekki1le1R8RPDV2B8_g8jcjZc", TRUE, FALSE, dwPackageStart); | ||
80 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageC", FALSE); | ||
81 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
82 | Assert::Equal(24ul, pPlan->cCacheActions); | ||
83 | 67 | ||
84 | fRollback = TRUE; | 68 | fRollback = TRUE; |
85 | dwIndex = 0; | 69 | dwIndex = 0; |
86 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 70 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
87 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
88 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 71 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
89 | 72 | ||
90 | Assert::Equal(107082ull, pPlan->qwEstimatedSize); | 73 | Assert::Equal(107082ull, pPlan->qwEstimatedSize); |
91 | Assert::Equal(101229ull, pPlan->qwCacheSizeTotal); | 74 | Assert::Equal(202458ull, pPlan->qwCacheSizeTotal); |
92 | 75 | ||
93 | fRollback = FALSE; | 76 | fRollback = FALSE; |
94 | dwIndex = 0; | 77 | dwIndex = 0; |
95 | DWORD dwExecuteCheckpointId = 2; | 78 | DWORD dwExecuteCheckpointId = 2; |
96 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 79 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
97 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[7].syncpoint.hEvent); | 80 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent); |
98 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 81 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
99 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 82 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
100 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); | 83 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); |
@@ -107,7 +90,7 @@ namespace Bootstrapper | |||
107 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ", TRUE, TRUE); | 90 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ", TRUE, TRUE); |
108 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 91 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
109 | ValidateExecuteBeginMsiTransaction(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ"); | 92 | ValidateExecuteBeginMsiTransaction(pPlan, fRollback, dwIndex++, L"rbaOCA08D8ky7uBOK71_6FWz1K3TuQ"); |
110 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[15].syncpoint.hEvent); | 93 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[5].syncpoint.hEvent); |
111 | dwExecuteCheckpointId += 1; // cache checkpoints | 94 | dwExecuteCheckpointId += 1; // cache checkpoints |
112 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 95 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
113 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 96 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -116,7 +99,7 @@ namespace Bootstrapper | |||
116 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 99 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
117 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); | 100 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageB", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", BURN_DEPENDENCY_ACTION_REGISTER); |
118 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 101 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
119 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[23].syncpoint.hEvent); | 102 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[8].syncpoint.hEvent); |
120 | dwExecuteCheckpointId += 1; // cache checkpoints | 103 | dwExecuteCheckpointId += 1; // cache checkpoints |
121 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 104 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
122 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 105 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -314,30 +297,24 @@ namespace Bootstrapper | |||
314 | 297 | ||
315 | BOOL fRollback = FALSE; | 298 | BOOL fRollback = FALSE; |
316 | DWORD dwIndex = 0; | 299 | DWORD dwIndex = 0; |
317 | DWORD dwPackageStart = 0; | ||
318 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 300 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
319 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 5, 2, 33743, FALSE); | 301 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); |
320 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, BURN_PLAN_INVALID_ACTION_INDEX, 2); | 302 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
321 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); | ||
322 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ", TRUE, FALSE, dwPackageStart); | ||
323 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
324 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
325 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 303 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
326 | 304 | ||
327 | fRollback = TRUE; | 305 | fRollback = TRUE; |
328 | dwIndex = 0; | 306 | dwIndex = 0; |
329 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 307 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
330 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
331 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 308 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
332 | 309 | ||
333 | Assert::Equal(35694ull, pPlan->qwEstimatedSize); | 310 | Assert::Equal(35694ull, pPlan->qwEstimatedSize); |
334 | Assert::Equal(33743ull, pPlan->qwCacheSizeTotal); | 311 | Assert::Equal(67486ull, pPlan->qwCacheSizeTotal); |
335 | 312 | ||
336 | fRollback = FALSE; | 313 | fRollback = FALSE; |
337 | dwIndex = 0; | 314 | dwIndex = 0; |
338 | DWORD dwExecuteCheckpointId = 2; | 315 | DWORD dwExecuteCheckpointId = 2; |
339 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 316 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
340 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[6].syncpoint.hEvent); | 317 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent); |
341 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 318 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
342 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 319 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
343 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); | 320 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); |
@@ -401,14 +378,9 @@ namespace Bootstrapper | |||
401 | 378 | ||
402 | BOOL fRollback = FALSE; | 379 | BOOL fRollback = FALSE; |
403 | DWORD dwIndex = 0; | 380 | DWORD dwIndex = 0; |
404 | DWORD dwPackageStart = 0; | ||
405 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 381 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
406 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 5, 2, 33743, FALSE); | 382 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); |
407 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, BURN_PLAN_INVALID_ACTION_INDEX, 2); | 383 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
408 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); | ||
409 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ", TRUE, FALSE, dwPackageStart); | ||
410 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
411 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
412 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 384 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
413 | 385 | ||
414 | fRollback = TRUE; | 386 | fRollback = TRUE; |
@@ -416,13 +388,13 @@ namespace Bootstrapper | |||
416 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 388 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
417 | 389 | ||
418 | Assert::Equal(33743ull, pPlan->qwEstimatedSize); | 390 | Assert::Equal(33743ull, pPlan->qwEstimatedSize); |
419 | Assert::Equal(33743ull, pPlan->qwCacheSizeTotal); | 391 | Assert::Equal(67486ull, pPlan->qwCacheSizeTotal); |
420 | 392 | ||
421 | fRollback = FALSE; | 393 | fRollback = FALSE; |
422 | dwIndex = 0; | 394 | dwIndex = 0; |
423 | DWORD dwExecuteCheckpointId = 2; | 395 | DWORD dwExecuteCheckpointId = 2; |
424 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 396 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
425 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[6].syncpoint.hEvent); | 397 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent); |
426 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 398 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
427 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 399 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
428 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 400 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -475,30 +447,24 @@ namespace Bootstrapper | |||
475 | 447 | ||
476 | BOOL fRollback = FALSE; | 448 | BOOL fRollback = FALSE; |
477 | DWORD dwIndex = 0; | 449 | DWORD dwIndex = 0; |
478 | DWORD dwPackageStart = 0; | ||
479 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 450 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
480 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 5, 2, 33743, FALSE); | 451 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); |
481 | ValidateCacheExtractContainer(pPlan, fRollback, dwIndex++, L"WixAttachedContainer", FALSE, BURN_PLAN_INVALID_ACTION_INDEX, 2); | 452 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
482 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); | ||
483 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"cab9Ins_fTP3wNwq5Gxo41ch5VUPaQ", TRUE, FALSE, dwPackageStart); | ||
484 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
485 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
486 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 453 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
487 | 454 | ||
488 | fRollback = TRUE; | 455 | fRollback = TRUE; |
489 | dwIndex = 0; | 456 | dwIndex = 0; |
490 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 457 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
491 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
492 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 458 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
493 | 459 | ||
494 | Assert::Equal(35694ull, pPlan->qwEstimatedSize); | 460 | Assert::Equal(35694ull, pPlan->qwEstimatedSize); |
495 | Assert::Equal(33743ull, pPlan->qwCacheSizeTotal); | 461 | Assert::Equal(67486ull, pPlan->qwCacheSizeTotal); |
496 | 462 | ||
497 | fRollback = FALSE; | 463 | fRollback = FALSE; |
498 | dwIndex = 0; | 464 | dwIndex = 0; |
499 | DWORD dwExecuteCheckpointId = 2; | 465 | DWORD dwExecuteCheckpointId = 2; |
500 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 466 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
501 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[6].syncpoint.hEvent); | 467 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent); |
502 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 468 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
503 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 469 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
504 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); | 470 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); |
@@ -759,36 +725,28 @@ namespace Bootstrapper | |||
759 | 725 | ||
760 | BOOL fRollback = FALSE; | 726 | BOOL fRollback = FALSE; |
761 | DWORD dwIndex = 0; | 727 | DWORD dwIndex = 0; |
762 | DWORD dwPackageStart = 0; | ||
763 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 728 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
764 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PatchA", 4, 1, 20480, FALSE); | 729 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA"); |
765 | ValidateCacheAcquirePayload(pPlan, fRollback, dwIndex++, L"PatchA", L"PatchA", FALSE); | 730 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
766 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PatchA", L"PatchA", TRUE, FALSE, dwPackageStart); | ||
767 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PatchA", FALSE); | ||
768 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
769 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); | 731 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); |
770 | dwPackageStart = ValidateCachePackageStart(pPlan, fRollback, dwIndex++, L"PackageA", 10, 1, 32768, FALSE); | 732 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); |
771 | ValidateCacheAcquirePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", FALSE); | 733 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); |
772 | ValidateCacheCachePayload(pPlan, fRollback, dwIndex++, L"PackageA", L"PackageA", TRUE, FALSE, dwPackageStart); | ||
773 | ValidateCachePackageStop(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
774 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, FALSE); | ||
775 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 734 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
776 | 735 | ||
777 | fRollback = TRUE; | 736 | fRollback = TRUE; |
778 | dwIndex = 0; | 737 | dwIndex = 0; |
779 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); | 738 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); |
780 | ValidateCacheRollbackPackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE); | ||
781 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 739 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
782 | 740 | ||
783 | Assert::Equal(3055111ull, pPlan->qwEstimatedSize); | 741 | Assert::Equal(3055111ull, pPlan->qwEstimatedSize); |
784 | Assert::Equal(53248ull, pPlan->qwCacheSizeTotal); | 742 | Assert::Equal(106496ull, pPlan->qwCacheSizeTotal); |
785 | 743 | ||
786 | fRollback = FALSE; | 744 | fRollback = FALSE; |
787 | dwIndex = 0; | 745 | dwIndex = 0; |
788 | DWORD dwExecuteCheckpointId = 3; | 746 | DWORD dwExecuteCheckpointId = 3; |
789 | BURN_EXECUTE_ACTION* pExecuteAction = NULL; | 747 | BURN_EXECUTE_ACTION* pExecuteAction = NULL; |
790 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 748 | ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
791 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[11].syncpoint.hEvent); | 749 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[5].syncpoint.hEvent); |
792 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 750 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
793 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 751 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
794 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); | 752 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); |
@@ -797,7 +755,7 @@ namespace Bootstrapper | |||
797 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 755 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
798 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", BURN_DEPENDENCY_ACTION_REGISTER); | 756 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", BURN_DEPENDENCY_ACTION_REGISTER); |
799 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 757 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
800 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[5].syncpoint.hEvent); | 758 | ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent); |
801 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 759 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
802 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 760 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
803 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", BURN_DEPENDENCY_ACTION_REGISTER); | 761 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", BURN_DEPENDENCY_ACTION_REGISTER); |
@@ -983,7 +941,7 @@ namespace Bootstrapper | |||
983 | BURN_REGISTRATION* pRegistration = &pEngineState->registration; | 941 | BURN_REGISTRATION* pRegistration = &pEngineState->registration; |
984 | 942 | ||
985 | DetectReset(pRegistration, &pEngineState->packages); | 943 | DetectReset(pRegistration, &pEngineState->packages); |
986 | PlanReset(&pEngineState->plan, &pEngineState->packages); | 944 | PlanReset(&pEngineState->plan, &pEngineState->containers, &pEngineState->packages, &pEngineState->layoutPayloads); |
987 | 945 | ||
988 | hr = DepDependencyArrayAlloc(&pRegistration->rgIgnoredDependencies, &pRegistration->cIgnoredDependencies, pRegistration->sczProviderKey, NULL); | 946 | hr = DepDependencyArrayAlloc(&pRegistration->rgIgnoredDependencies, &pRegistration->cIgnoredDependencies, pRegistration->sczProviderKey, NULL); |
989 | NativeAssert::Succeeded(hr, "Failed to add the bundle provider key to the list of dependencies to ignore."); | 947 | NativeAssert::Succeeded(hr, "Failed to add the bundle provider key to the list of dependencies to ignore."); |
@@ -1047,11 +1005,6 @@ namespace Bootstrapper | |||
1047 | pPackage->cacheRegistrationState = BURN_PACKAGE_REGISTRATION_STATE_PRESENT; | 1005 | pPackage->cacheRegistrationState = BURN_PACKAGE_REGISTRATION_STATE_PRESENT; |
1048 | pPackage->installRegistrationState = BURN_PACKAGE_REGISTRATION_STATE_PRESENT; | 1006 | pPackage->installRegistrationState = BURN_PACKAGE_REGISTRATION_STATE_PRESENT; |
1049 | } | 1007 | } |
1050 | |||
1051 | for (DWORD i = 0; i < pPackage->cPayloads; ++i) | ||
1052 | { | ||
1053 | pPackage->rgPayloads[i].fCached = TRUE; | ||
1054 | } | ||
1055 | } | 1008 | } |
1056 | 1009 | ||
1057 | void DetectPackageDependent(BURN_PACKAGE* pPackage, LPCWSTR wzId) | 1010 | void DetectPackageDependent(BURN_PACKAGE* pPackage, LPCWSTR wzId) |
@@ -1186,34 +1139,16 @@ namespace Bootstrapper | |||
1186 | } | 1139 | } |
1187 | } | 1140 | } |
1188 | 1141 | ||
1189 | void ValidateCacheAcquireContainer( | 1142 | void ValidateCacheContainer( |
1190 | __in BURN_PLAN* pPlan, | ||
1191 | __in BOOL fRollback, | ||
1192 | __in DWORD dwIndex, | ||
1193 | __in LPCWSTR wzContainerId, | ||
1194 | __in BOOL fSkipUntilRetried | ||
1195 | ) | ||
1196 | { | ||
1197 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | ||
1198 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_ACQUIRE_CONTAINER, pAction->type); | ||
1199 | NativeAssert::StringEqual(wzContainerId, pAction->resolveContainer.pContainer->sczId); | ||
1200 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1201 | } | ||
1202 | |||
1203 | void ValidateCacheAcquirePayload( | ||
1204 | __in BURN_PLAN* pPlan, | 1143 | __in BURN_PLAN* pPlan, |
1205 | __in BOOL fRollback, | 1144 | __in BOOL fRollback, |
1206 | __in DWORD dwIndex, | 1145 | __in DWORD dwIndex, |
1207 | __in LPCWSTR wzPackageId, | 1146 | __in LPCWSTR wzContainerId |
1208 | __in LPCWSTR wzPayloadId, | ||
1209 | __in BOOL fSkipUntilRetried | ||
1210 | ) | 1147 | ) |
1211 | { | 1148 | { |
1212 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | 1149 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); |
1213 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_ACQUIRE_PAYLOAD, pAction->type); | 1150 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_CONTAINER, pAction->type); |
1214 | NativeAssert::StringEqual(wzPackageId, pAction->resolvePayload.pPackage->sczId); | 1151 | NativeAssert::StringEqual(wzContainerId, pAction->container.pContainer->sczId); |
1215 | NativeAssert::StringEqual(wzPayloadId, pAction->resolvePayload.pPayload->sczKey); | ||
1216 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1217 | } | 1152 | } |
1218 | 1153 | ||
1219 | BURN_CACHE_ACTION* ValidateCacheActionExists(BURN_PLAN* pPlan, BOOL fRollback, DWORD dwIndex) | 1154 | BURN_CACHE_ACTION* ValidateCacheActionExists(BURN_PLAN* pPlan, BOOL fRollback, DWORD dwIndex) |
@@ -1222,26 +1157,6 @@ namespace Bootstrapper | |||
1222 | return (fRollback ? pPlan->rgRollbackCacheActions : pPlan->rgCacheActions) + dwIndex; | 1157 | return (fRollback ? pPlan->rgRollbackCacheActions : pPlan->rgCacheActions) + dwIndex; |
1223 | } | 1158 | } |
1224 | 1159 | ||
1225 | void ValidateCacheCachePayload( | ||
1226 | __in BURN_PLAN* pPlan, | ||
1227 | __in BOOL fRollback, | ||
1228 | __in DWORD dwIndex, | ||
1229 | __in LPCWSTR wzPackageId, | ||
1230 | __in LPCWSTR wzPayloadId, | ||
1231 | __in BOOL fMove, | ||
1232 | __in BOOL fSkipUntilRetried, | ||
1233 | __in DWORD iTryAgainAction | ||
1234 | ) | ||
1235 | { | ||
1236 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | ||
1237 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_CACHE_PAYLOAD, pAction->type); | ||
1238 | NativeAssert::StringEqual(wzPackageId, pAction->cachePayload.pPackage->sczId); | ||
1239 | NativeAssert::StringEqual(wzPayloadId, pAction->cachePayload.pPayload->sczKey); | ||
1240 | Assert::Equal<BOOL>(fMove, pAction->cachePayload.fMove); | ||
1241 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1242 | Assert::Equal(iTryAgainAction, pAction->cachePayload.iTryAgainAction); | ||
1243 | } | ||
1244 | |||
1245 | void ValidateCacheCheckpoint( | 1160 | void ValidateCacheCheckpoint( |
1246 | __in BURN_PLAN* pPlan, | 1161 | __in BURN_PLAN* pPlan, |
1247 | __in BOOL fRollback, | 1162 | __in BOOL fRollback, |
@@ -1254,84 +1169,40 @@ namespace Bootstrapper | |||
1254 | Assert::Equal(dwId, pAction->checkpoint.dwId); | 1169 | Assert::Equal(dwId, pAction->checkpoint.dwId); |
1255 | } | 1170 | } |
1256 | 1171 | ||
1257 | void ValidateCacheExtractContainer( | 1172 | DWORD ValidateCachePackage( |
1258 | __in BURN_PLAN* pPlan, | ||
1259 | __in BOOL fRollback, | ||
1260 | __in DWORD dwIndex, | ||
1261 | __in LPCWSTR wzContainerId, | ||
1262 | __in BOOL fSkipUntilRetried, | ||
1263 | __in DWORD iSkipUntilAcquiredByAction, | ||
1264 | __in DWORD cPayloads | ||
1265 | ) | ||
1266 | { | ||
1267 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | ||
1268 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_EXTRACT_CONTAINER, pAction->type); | ||
1269 | NativeAssert::StringEqual(wzContainerId, pAction->extractContainer.pContainer->sczId); | ||
1270 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1271 | Assert::Equal(iSkipUntilAcquiredByAction, pAction->extractContainer.iSkipUntilAcquiredByAction); | ||
1272 | Assert::Equal(cPayloads, pAction->extractContainer.cPayloads); | ||
1273 | } | ||
1274 | |||
1275 | DWORD ValidateCachePackageStart( | ||
1276 | __in BURN_PLAN* pPlan, | 1173 | __in BURN_PLAN* pPlan, |
1277 | __in BOOL fRollback, | 1174 | __in BOOL fRollback, |
1278 | __in DWORD dwIndex, | 1175 | __in DWORD dwIndex, |
1279 | __in LPCWSTR wzPackageId, | 1176 | __in LPCWSTR wzPackageId |
1280 | __in DWORD iPackageCompleteAction, | ||
1281 | __in DWORD cCachePayloads, | ||
1282 | __in DWORD64 qwCachePayloadSizeTotal, | ||
1283 | __in BOOL fSkipUntilRetried | ||
1284 | ) | 1177 | ) |
1285 | { | 1178 | { |
1286 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | 1179 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); |
1287 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_PACKAGE_START, pAction->type); | 1180 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_PACKAGE, pAction->type); |
1288 | NativeAssert::StringEqual(wzPackageId, pAction->packageStart.pPackage->sczId); | 1181 | NativeAssert::StringEqual(wzPackageId, pAction->package.pPackage->sczId); |
1289 | Assert::Equal(iPackageCompleteAction, pAction->packageStart.iPackageCompleteAction); | ||
1290 | Assert::Equal(cCachePayloads, pAction->packageStart.cCachePayloads); | ||
1291 | Assert::Equal(qwCachePayloadSizeTotal, pAction->packageStart.qwCachePayloadSizeTotal); | ||
1292 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1293 | return dwIndex + 1; | 1182 | return dwIndex + 1; |
1294 | } | 1183 | } |
1295 | 1184 | ||
1296 | void ValidateCachePackageStop( | ||
1297 | __in BURN_PLAN* pPlan, | ||
1298 | __in BOOL fRollback, | ||
1299 | __in DWORD dwIndex, | ||
1300 | __in LPCWSTR wzPackageId, | ||
1301 | __in BOOL fSkipUntilRetried | ||
1302 | ) | ||
1303 | { | ||
1304 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | ||
1305 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_PACKAGE_STOP, pAction->type); | ||
1306 | NativeAssert::StringEqual(wzPackageId, pAction->packageStop.pPackage->sczId); | ||
1307 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1308 | } | ||
1309 | |||
1310 | void ValidateCacheRollbackPackage( | 1185 | void ValidateCacheRollbackPackage( |
1311 | __in BURN_PLAN* pPlan, | 1186 | __in BURN_PLAN* pPlan, |
1312 | __in BOOL fRollback, | 1187 | __in BOOL fRollback, |
1313 | __in DWORD dwIndex, | 1188 | __in DWORD dwIndex, |
1314 | __in LPCWSTR wzPackageId, | 1189 | __in LPCWSTR wzPackageId |
1315 | __in BOOL fSkipUntilRetried | ||
1316 | ) | 1190 | ) |
1317 | { | 1191 | { |
1318 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | 1192 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); |
1319 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_ROLLBACK_PACKAGE, pAction->type); | 1193 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_ROLLBACK_PACKAGE, pAction->type); |
1320 | NativeAssert::StringEqual(wzPackageId, pAction->rollbackPackage.pPackage->sczId); | 1194 | NativeAssert::StringEqual(wzPackageId, pAction->rollbackPackage.pPackage->sczId); |
1321 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1322 | } | 1195 | } |
1323 | 1196 | ||
1324 | void ValidateCacheSignalSyncpoint( | 1197 | void ValidateCacheSignalSyncpoint( |
1325 | __in BURN_PLAN* pPlan, | 1198 | __in BURN_PLAN* pPlan, |
1326 | __in BOOL fRollback, | 1199 | __in BOOL fRollback, |
1327 | __in DWORD dwIndex, | 1200 | __in DWORD dwIndex |
1328 | __in BOOL fSkipUntilRetried | ||
1329 | ) | 1201 | ) |
1330 | { | 1202 | { |
1331 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | 1203 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); |
1332 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_SIGNAL_SYNCPOINT, pAction->type); | 1204 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_SIGNAL_SYNCPOINT, pAction->type); |
1333 | Assert::NotEqual((DWORD_PTR)NULL, (DWORD_PTR)pAction->syncpoint.hEvent); | 1205 | Assert::NotEqual((DWORD_PTR)NULL, (DWORD_PTR)pAction->syncpoint.hEvent); |
1334 | Assert::Equal<BOOL>(fSkipUntilRetried, pAction->fSkipUntilRetried); | ||
1335 | } | 1206 | } |
1336 | 1207 | ||
1337 | void ValidateCleanAction( | 1208 | void ValidateCleanAction( |