diff options
Diffstat (limited to 'src/burn/test')
-rw-r--r-- | src/burn/test/BurnUnitTest/PlanTest.cpp | 179 |
1 files changed, 116 insertions, 63 deletions
diff --git a/src/burn/test/BurnUnitTest/PlanTest.cpp b/src/burn/test/BurnUnitTest/PlanTest.cpp index 2135d9f5..37027ada 100644 --- a/src/burn/test/BurnUnitTest/PlanTest.cpp +++ b/src/burn/test/BurnUnitTest/PlanTest.cpp | |||
@@ -87,8 +87,8 @@ namespace Bootstrapper | |||
87 | fRollback = FALSE; | 87 | fRollback = FALSE; |
88 | dwIndex = 0; | 88 | dwIndex = 0; |
89 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 89 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
90 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"TestExe"); | 90 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"TestExe", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
91 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 91 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"TestExe"); |
92 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 92 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
93 | 93 | ||
94 | fRollback = TRUE; | 94 | fRollback = TRUE; |
@@ -259,19 +259,24 @@ namespace Bootstrapper | |||
259 | 259 | ||
260 | fRollback = FALSE; | 260 | fRollback = FALSE; |
261 | dwIndex = 0; | 261 | dwIndex = 0; |
262 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | ||
263 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"TestExe", FALSE, BURN_CACHE_PACKAGE_TYPE_NONE, BURN_CACHE_PACKAGE_TYPE_REQUIRED); | ||
264 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"TestExe"); | ||
262 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 265 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
263 | 266 | ||
264 | fRollback = TRUE; | 267 | fRollback = TRUE; |
265 | dwIndex = 0; | 268 | dwIndex = 0; |
266 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 269 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
267 | 270 | ||
268 | Assert::Equal(0ull, pPlan->qwCacheSizeTotal); | 271 | Assert::Equal(143724ull, pPlan->qwCacheSizeTotal); |
269 | 272 | ||
270 | fRollback = FALSE; | 273 | fRollback = FALSE; |
271 | dwIndex = 0; | 274 | dwIndex = 0; |
272 | DWORD dwExecuteCheckpointId = 1; | 275 | DWORD dwExecuteCheckpointId = 2; |
273 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 276 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
274 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 277 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
278 | ValidateExecuteWaitCachePackage(pPlan, fRollback, dwIndex++, L"TestExe"); | ||
279 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
275 | ValidateExecuteExePackage(pPlan, fRollback, dwIndex++, L"TestExe", BOOTSTRAPPER_ACTION_STATE_UNINSTALL); | 280 | ValidateExecuteExePackage(pPlan, fRollback, dwIndex++, L"TestExe", BOOTSTRAPPER_ACTION_STATE_UNINSTALL); |
276 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 281 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
277 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 282 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -280,8 +285,9 @@ namespace Bootstrapper | |||
280 | 285 | ||
281 | fRollback = TRUE; | 286 | fRollback = TRUE; |
282 | dwIndex = 0; | 287 | dwIndex = 0; |
283 | dwExecuteCheckpointId = 1; | 288 | dwExecuteCheckpointId = 2; |
284 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 289 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
290 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
285 | ValidateExecuteExePackage(pPlan, fRollback, dwIndex++, L"TestExe", BOOTSTRAPPER_ACTION_STATE_INSTALL); | 291 | ValidateExecuteExePackage(pPlan, fRollback, dwIndex++, L"TestExe", BOOTSTRAPPER_ACTION_STATE_INSTALL); |
286 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 292 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
287 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 293 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -290,7 +296,7 @@ namespace Bootstrapper | |||
290 | Assert::Equal(dwIndex, pPlan->cRollbackActions); | 296 | Assert::Equal(dwIndex, pPlan->cRollbackActions); |
291 | 297 | ||
292 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); | 298 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); |
293 | Assert::Equal(1ul, pPlan->cOverallProgressTicksTotal); | 299 | Assert::Equal(2ul, pPlan->cOverallProgressTicksTotal); |
294 | 300 | ||
295 | dwIndex = 0; | 301 | dwIndex = 0; |
296 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); | 302 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); |
@@ -347,14 +353,14 @@ namespace Bootstrapper | |||
347 | fRollback = FALSE; | 353 | fRollback = FALSE; |
348 | dwIndex = 0; | 354 | dwIndex = 0; |
349 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 355 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
350 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 356 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
351 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 357 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
352 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 9); | 358 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 9); |
353 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageB"); | 359 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageB", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
354 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 360 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageB"); |
355 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 14); | 361 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 14); |
356 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageC"); | 362 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageC", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
357 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 363 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageC"); |
358 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 364 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
359 | 365 | ||
360 | fRollback = TRUE; | 366 | fRollback = TRUE; |
@@ -506,13 +512,16 @@ namespace Bootstrapper | |||
506 | 512 | ||
507 | fRollback = FALSE; | 513 | fRollback = FALSE; |
508 | dwIndex = 0; | 514 | dwIndex = 0; |
515 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 9); | ||
516 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE, BURN_CACHE_PACKAGE_TYPE_NONE, BURN_CACHE_PACKAGE_TYPE_REQUIRED); | ||
517 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
509 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 518 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
510 | 519 | ||
511 | fRollback = TRUE; | 520 | fRollback = TRUE; |
512 | dwIndex = 0; | 521 | dwIndex = 0; |
513 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 522 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
514 | 523 | ||
515 | Assert::Equal(0ull, pPlan->qwCacheSizeTotal); | 524 | Assert::Equal(185118ull, pPlan->qwCacheSizeTotal); |
516 | 525 | ||
517 | fRollback = FALSE; | 526 | fRollback = FALSE; |
518 | dwIndex = 0; | 527 | dwIndex = 0; |
@@ -536,6 +545,9 @@ namespace Bootstrapper | |||
536 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 545 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
537 | ValidateExecuteRollbackBoundaryEnd(pPlan, fRollback, dwIndex++); | 546 | ValidateExecuteRollbackBoundaryEnd(pPlan, fRollback, dwIndex++); |
538 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 547 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
548 | dwExecuteCheckpointId += 1; // cache checkpoints | ||
549 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
550 | ValidateExecuteWaitCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
539 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 551 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
540 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", unregisterActions1, 1); | 552 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", unregisterActions1, 1); |
541 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 553 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -565,6 +577,8 @@ namespace Bootstrapper | |||
565 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 577 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
566 | ValidateExecuteRollbackBoundaryEnd(pPlan, fRollback, dwIndex++); | 578 | ValidateExecuteRollbackBoundaryEnd(pPlan, fRollback, dwIndex++); |
567 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 579 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
580 | dwExecuteCheckpointId += 1; // cache checkpoints | ||
581 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
568 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", registerActions1, 1); | 582 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{E6469F05-BDC8-4EB8-B218-67412543EFAA}", registerActions1, 1); |
569 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 583 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
570 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); | 584 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); |
@@ -577,7 +591,7 @@ namespace Bootstrapper | |||
577 | Assert::Equal(dwIndex, pPlan->cRollbackActions); | 591 | Assert::Equal(dwIndex, pPlan->cRollbackActions); |
578 | 592 | ||
579 | Assert::Equal(3ul, pPlan->cExecutePackagesTotal); | 593 | Assert::Equal(3ul, pPlan->cExecutePackagesTotal); |
580 | Assert::Equal(3ul, pPlan->cOverallProgressTicksTotal); | 594 | Assert::Equal(4ul, pPlan->cOverallProgressTicksTotal); |
581 | 595 | ||
582 | dwIndex = 0; | 596 | dwIndex = 0; |
583 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); | 597 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); |
@@ -640,11 +654,11 @@ namespace Bootstrapper | |||
640 | fRollback = FALSE; | 654 | fRollback = FALSE; |
641 | dwIndex = 0; | 655 | dwIndex = 0; |
642 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 656 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
643 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 657 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_REQUIRED); |
644 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 658 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
645 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 6); | 659 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 6); |
646 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageB"); | 660 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageB", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_REQUIRED); |
647 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 661 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageB"); |
648 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 662 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
649 | 663 | ||
650 | fRollback = TRUE; | 664 | fRollback = TRUE; |
@@ -753,8 +767,8 @@ namespace Bootstrapper | |||
753 | fRollback = FALSE; | 767 | fRollback = FALSE; |
754 | dwIndex = 0; | 768 | dwIndex = 0; |
755 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); | 769 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); |
756 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageB"); | 770 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageB", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
757 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 771 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageB"); |
758 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 772 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
759 | 773 | ||
760 | fRollback = TRUE; | 774 | fRollback = TRUE; |
@@ -949,8 +963,8 @@ namespace Bootstrapper | |||
949 | fRollback = FALSE; | 963 | fRollback = FALSE; |
950 | dwIndex = 0; | 964 | dwIndex = 0; |
951 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 965 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
952 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 966 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
953 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 967 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
954 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 968 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
955 | 969 | ||
956 | fRollback = TRUE; | 970 | fRollback = TRUE; |
@@ -1068,8 +1082,8 @@ namespace Bootstrapper | |||
1068 | fRollback = FALSE; | 1082 | fRollback = FALSE; |
1069 | dwIndex = 0; | 1083 | dwIndex = 0; |
1070 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 1084 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
1071 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 1085 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
1072 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 1086 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
1073 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 1087 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
1074 | 1088 | ||
1075 | fRollback = TRUE; | 1089 | fRollback = TRUE; |
@@ -1170,8 +1184,8 @@ namespace Bootstrapper | |||
1170 | fRollback = FALSE; | 1184 | fRollback = FALSE; |
1171 | dwIndex = 0; | 1185 | dwIndex = 0; |
1172 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 1186 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
1173 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"ExeA"); | 1187 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"ExeA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_REQUIRED); |
1174 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 1188 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"ExeA"); |
1175 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 1189 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
1176 | 1190 | ||
1177 | fRollback = TRUE; | 1191 | fRollback = TRUE; |
@@ -1264,8 +1278,8 @@ namespace Bootstrapper | |||
1264 | fRollback = FALSE; | 1278 | fRollback = FALSE; |
1265 | dwIndex = 0; | 1279 | dwIndex = 0; |
1266 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 1280 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
1267 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 1281 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
1268 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 1282 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
1269 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 1283 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
1270 | 1284 | ||
1271 | fRollback = TRUE; | 1285 | fRollback = TRUE; |
@@ -1515,8 +1529,8 @@ namespace Bootstrapper | |||
1515 | fRollback = FALSE; | 1529 | fRollback = FALSE; |
1516 | dwIndex = 0; | 1530 | dwIndex = 0; |
1517 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 1531 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
1518 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 1532 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
1519 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 1533 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
1520 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 1534 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
1521 | 1535 | ||
1522 | fRollback = TRUE; | 1536 | fRollback = TRUE; |
@@ -1610,8 +1624,8 @@ namespace Bootstrapper | |||
1610 | fRollback = FALSE; | 1624 | fRollback = FALSE; |
1611 | dwIndex = 0; | 1625 | dwIndex = 0; |
1612 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 1626 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
1613 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 1627 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
1614 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 1628 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
1615 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 1629 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
1616 | 1630 | ||
1617 | fRollback = TRUE; | 1631 | fRollback = TRUE; |
@@ -1794,19 +1808,24 @@ namespace Bootstrapper | |||
1794 | 1808 | ||
1795 | fRollback = FALSE; | 1809 | fRollback = FALSE; |
1796 | dwIndex = 0; | 1810 | dwIndex = 0; |
1811 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | ||
1812 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE, BURN_CACHE_PACKAGE_TYPE_NONE, BURN_CACHE_PACKAGE_TYPE_REQUIRED); | ||
1813 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
1797 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 1814 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
1798 | 1815 | ||
1799 | fRollback = TRUE; | 1816 | fRollback = TRUE; |
1800 | dwIndex = 0; | 1817 | dwIndex = 0; |
1801 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 1818 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
1802 | 1819 | ||
1803 | Assert::Equal(0ull, pPlan->qwCacheSizeTotal); | 1820 | Assert::Equal(175674ull, pPlan->qwCacheSizeTotal); |
1804 | 1821 | ||
1805 | fRollback = FALSE; | 1822 | fRollback = FALSE; |
1806 | dwIndex = 0; | 1823 | dwIndex = 0; |
1807 | DWORD dwExecuteCheckpointId = 1; | 1824 | DWORD dwExecuteCheckpointId = 2; |
1808 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 1825 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
1809 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 1826 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
1827 | ValidateExecuteWaitCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
1828 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
1810 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", unregisterActions1, 1); | 1829 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", unregisterActions1, 1); |
1811 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 1830 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
1812 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", unregisterActions1, 1); | 1831 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", unregisterActions1, 1); |
@@ -1819,8 +1838,9 @@ namespace Bootstrapper | |||
1819 | 1838 | ||
1820 | fRollback = TRUE; | 1839 | fRollback = TRUE; |
1821 | dwIndex = 0; | 1840 | dwIndex = 0; |
1822 | dwExecuteCheckpointId = 1; | 1841 | dwExecuteCheckpointId = 2; |
1823 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 1842 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
1843 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
1824 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", registerActions1, 1); | 1844 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", registerActions1, 1); |
1825 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 1845 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
1826 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); | 1846 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); |
@@ -1833,7 +1853,7 @@ namespace Bootstrapper | |||
1833 | Assert::Equal(dwIndex, pPlan->cRollbackActions); | 1853 | Assert::Equal(dwIndex, pPlan->cRollbackActions); |
1834 | 1854 | ||
1835 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); | 1855 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); |
1836 | Assert::Equal(1ul, pPlan->cOverallProgressTicksTotal); | 1856 | Assert::Equal(2ul, pPlan->cOverallProgressTicksTotal); |
1837 | 1857 | ||
1838 | dwIndex = 0; | 1858 | dwIndex = 0; |
1839 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); | 1859 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); |
@@ -2043,19 +2063,24 @@ namespace Bootstrapper | |||
2043 | 2063 | ||
2044 | fRollback = FALSE; | 2064 | fRollback = FALSE; |
2045 | dwIndex = 0; | 2065 | dwIndex = 0; |
2066 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | ||
2067 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE, BURN_CACHE_PACKAGE_TYPE_NONE, BURN_CACHE_PACKAGE_TYPE_REQUIRED); | ||
2068 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
2046 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 2069 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
2047 | 2070 | ||
2048 | fRollback = TRUE; | 2071 | fRollback = TRUE; |
2049 | dwIndex = 0; | 2072 | dwIndex = 0; |
2050 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 2073 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
2051 | 2074 | ||
2052 | Assert::Equal(0ull, pPlan->qwCacheSizeTotal); | 2075 | Assert::Equal(175674ull, pPlan->qwCacheSizeTotal); |
2053 | 2076 | ||
2054 | fRollback = FALSE; | 2077 | fRollback = FALSE; |
2055 | dwIndex = 0; | 2078 | dwIndex = 0; |
2056 | DWORD dwExecuteCheckpointId = 1; | 2079 | DWORD dwExecuteCheckpointId = 2; |
2057 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 2080 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
2058 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2081 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2082 | ValidateExecuteWaitCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
2083 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2059 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", unregisterActions1, 1); | 2084 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", unregisterActions1, 1); |
2060 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2085 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2061 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", unregisterActions1, 1); | 2086 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", unregisterActions1, 1); |
@@ -2068,8 +2093,9 @@ namespace Bootstrapper | |||
2068 | 2093 | ||
2069 | fRollback = TRUE; | 2094 | fRollback = TRUE; |
2070 | dwIndex = 0; | 2095 | dwIndex = 0; |
2071 | dwExecuteCheckpointId = 1; | 2096 | dwExecuteCheckpointId = 2; |
2072 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 2097 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
2098 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2073 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", registerActions1, 1); | 2099 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{A6F0CBF7-1578-450C-B9D7-9CF2EEC40002}", registerActions1, 1); |
2074 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2100 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2075 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); | 2101 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); |
@@ -2082,7 +2108,7 @@ namespace Bootstrapper | |||
2082 | Assert::Equal(dwIndex, pPlan->cRollbackActions); | 2108 | Assert::Equal(dwIndex, pPlan->cRollbackActions); |
2083 | 2109 | ||
2084 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); | 2110 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); |
2085 | Assert::Equal(1ul, pPlan->cOverallProgressTicksTotal); | 2111 | Assert::Equal(2ul, pPlan->cOverallProgressTicksTotal); |
2086 | 2112 | ||
2087 | dwIndex = 0; | 2113 | dwIndex = 0; |
2088 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); | 2114 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); |
@@ -2139,8 +2165,8 @@ namespace Bootstrapper | |||
2139 | fRollback = FALSE; | 2165 | fRollback = FALSE; |
2140 | dwIndex = 0; | 2166 | dwIndex = 0; |
2141 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 2167 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
2142 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"test.msu"); | 2168 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"test.msu", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
2143 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 2169 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"test.msu"); |
2144 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 2170 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
2145 | 2171 | ||
2146 | fRollback = TRUE; | 2172 | fRollback = TRUE; |
@@ -2233,14 +2259,14 @@ namespace Bootstrapper | |||
2233 | fRollback = FALSE; | 2259 | fRollback = FALSE; |
2234 | dwIndex = 0; | 2260 | dwIndex = 0; |
2235 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 2261 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
2236 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web"); | 2262 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
2237 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 2263 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"NetFx48Web"); |
2238 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 3); | 2264 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 3); |
2239 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA"); | 2265 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
2240 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 2266 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PatchA"); |
2241 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 5); | 2267 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 5); |
2242 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 2268 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
2243 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 2269 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
2244 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 2270 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
2245 | 2271 | ||
2246 | fRollback = TRUE; | 2272 | fRollback = TRUE; |
@@ -2363,26 +2389,37 @@ namespace Bootstrapper | |||
2363 | 2389 | ||
2364 | fRollback = FALSE; | 2390 | fRollback = FALSE; |
2365 | dwIndex = 0; | 2391 | dwIndex = 0; |
2392 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | ||
2393 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA", FALSE, BURN_CACHE_PACKAGE_TYPE_NONE, BURN_CACHE_PACKAGE_TYPE_REQUIRED); | ||
2394 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PatchA"); | ||
2395 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 6); | ||
2396 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE, BURN_CACHE_PACKAGE_TYPE_NONE, BURN_CACHE_PACKAGE_TYPE_REQUIRED); | ||
2397 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
2366 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 2398 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
2367 | 2399 | ||
2368 | fRollback = TRUE; | 2400 | fRollback = TRUE; |
2369 | dwIndex = 0; | 2401 | dwIndex = 0; |
2370 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 2402 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
2371 | 2403 | ||
2372 | Assert::Equal(0ull, pPlan->qwCacheSizeTotal); | 2404 | Assert::Equal(212992ull, pPlan->qwCacheSizeTotal); |
2373 | 2405 | ||
2374 | fRollback = FALSE; | 2406 | fRollback = FALSE; |
2375 | dwIndex = 0; | 2407 | dwIndex = 0; |
2376 | DWORD dwExecuteCheckpointId = 1; | 2408 | DWORD dwExecuteCheckpointId = 2; |
2377 | BURN_EXECUTE_ACTION* pExecuteAction = NULL; | 2409 | BURN_EXECUTE_ACTION* pExecuteAction = NULL; |
2378 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 2410 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
2379 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2411 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2412 | ValidateExecuteWaitCachePackage(pPlan, fRollback, dwIndex++, L"PatchA"); | ||
2413 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2380 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PatchA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", unregisterActions1, 1); | 2414 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PatchA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", unregisterActions1, 1); |
2381 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2415 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2382 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", unregisterActions1, 1); | 2416 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", unregisterActions1, 1); |
2383 | pExecuteAction = ValidateDeletedExecuteMspTarget(pPlan, fRollback, dwIndex++, L"PatchA", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, L"{5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}", TRUE, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, BOOTSTRAPPER_MSI_FILE_VERSIONING_MISSING_OR_OLDER, TRUE); | 2417 | pExecuteAction = ValidateDeletedExecuteMspTarget(pPlan, fRollback, dwIndex++, L"PatchA", BOOTSTRAPPER_ACTION_STATE_UNINSTALL, L"{5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}", TRUE, BURN_MSI_PROPERTY_UNINSTALL, INSTALLUILEVEL_NONE, FALSE, BOOTSTRAPPER_MSI_FILE_VERSIONING_MISSING_OR_OLDER, TRUE); |
2384 | ValidateExecuteMspTargetPatch(pExecuteAction, 0, L"PatchA"); | 2418 | ValidateExecuteMspTargetPatch(pExecuteAction, 0, L"PatchA"); |
2385 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2419 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2420 | dwExecuteCheckpointId += 1; // cache checkpoints | ||
2421 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2422 | ValidateExecuteWaitCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
2386 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2423 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2387 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", unregisterActions1, 1); | 2424 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", unregisterActions1, 1); |
2388 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2425 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
@@ -2396,8 +2433,9 @@ namespace Bootstrapper | |||
2396 | 2433 | ||
2397 | fRollback = TRUE; | 2434 | fRollback = TRUE; |
2398 | dwIndex = 0; | 2435 | dwIndex = 0; |
2399 | dwExecuteCheckpointId = 1; | 2436 | dwExecuteCheckpointId = 2; |
2400 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 2437 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
2438 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2401 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PatchA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", registerActions1, 1); | 2439 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PatchA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", registerActions1, 1); |
2402 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2440 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2403 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", registerActions1, 1); | 2441 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", registerActions1, 1); |
@@ -2405,6 +2443,8 @@ namespace Bootstrapper | |||
2405 | pExecuteAction = ValidateDeletedExecuteMspTarget(pPlan, fRollback, dwIndex++, L"PatchA", BOOTSTRAPPER_ACTION_STATE_INSTALL, L"{5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}", TRUE, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, BOOTSTRAPPER_MSI_FILE_VERSIONING_MISSING_OR_OLDER, TRUE); | 2443 | pExecuteAction = ValidateDeletedExecuteMspTarget(pPlan, fRollback, dwIndex++, L"PatchA", BOOTSTRAPPER_ACTION_STATE_INSTALL, L"{5FF7F534-3FFC-41E0-80CD-E6361E5E7B7B}", TRUE, BURN_MSI_PROPERTY_INSTALL, INSTALLUILEVEL_NONE, FALSE, BOOTSTRAPPER_MSI_FILE_VERSIONING_MISSING_OR_OLDER, TRUE); |
2406 | ValidateExecuteMspTargetPatch(pExecuteAction, 0, L"PatchA"); | 2444 | ValidateExecuteMspTargetPatch(pExecuteAction, 0, L"PatchA"); |
2407 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2445 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2446 | dwExecuteCheckpointId += 1; // cache checkpoints | ||
2447 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2408 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", registerActions1, 1); | 2448 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", registerActions1, 1); |
2409 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2449 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2410 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); | 2450 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); |
@@ -2417,7 +2457,7 @@ namespace Bootstrapper | |||
2417 | Assert::Equal(dwIndex, pPlan->cRollbackActions); | 2457 | Assert::Equal(dwIndex, pPlan->cRollbackActions); |
2418 | 2458 | ||
2419 | Assert::Equal(2ul, pPlan->cExecutePackagesTotal); | 2459 | Assert::Equal(2ul, pPlan->cExecutePackagesTotal); |
2420 | Assert::Equal(2ul, pPlan->cOverallProgressTicksTotal); | 2460 | Assert::Equal(4ul, pPlan->cOverallProgressTicksTotal); |
2421 | 2461 | ||
2422 | dwIndex = 0; | 2462 | dwIndex = 0; |
2423 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); | 2463 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); |
@@ -2479,19 +2519,24 @@ namespace Bootstrapper | |||
2479 | 2519 | ||
2480 | fRollback = FALSE; | 2520 | fRollback = FALSE; |
2481 | dwIndex = 0; | 2521 | dwIndex = 0; |
2522 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | ||
2523 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", FALSE, BURN_CACHE_PACKAGE_TYPE_NONE, BURN_CACHE_PACKAGE_TYPE_REQUIRED); | ||
2524 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
2482 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 2525 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
2483 | 2526 | ||
2484 | fRollback = TRUE; | 2527 | fRollback = TRUE; |
2485 | dwIndex = 0; | 2528 | dwIndex = 0; |
2486 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); | 2529 | Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); |
2487 | 2530 | ||
2488 | Assert::Equal(0ull, pPlan->qwCacheSizeTotal); | 2531 | Assert::Equal(131072ull, pPlan->qwCacheSizeTotal); |
2489 | 2532 | ||
2490 | fRollback = FALSE; | 2533 | fRollback = FALSE; |
2491 | dwIndex = 0; | 2534 | dwIndex = 0; |
2492 | DWORD dwExecuteCheckpointId = 1; | 2535 | DWORD dwExecuteCheckpointId = 2; |
2493 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 2536 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
2494 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2537 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2538 | ValidateExecuteWaitCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | ||
2539 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2495 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", unregisterActions1, 1); | 2540 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", unregisterActions1, 1); |
2496 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2541 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2497 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", unregisterActions1, 1); | 2542 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", unregisterActions1, 1); |
@@ -2504,8 +2549,9 @@ namespace Bootstrapper | |||
2504 | 2549 | ||
2505 | fRollback = TRUE; | 2550 | fRollback = TRUE; |
2506 | dwIndex = 0; | 2551 | dwIndex = 0; |
2507 | dwExecuteCheckpointId = 1; | 2552 | dwExecuteCheckpointId = 2; |
2508 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); | 2553 | ValidateExecuteRollbackBoundaryStart(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); |
2554 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | ||
2509 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", registerActions1, 1); | 2555 | ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", registerActions1, 1); |
2510 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); | 2556 | ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); |
2511 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); | 2557 | ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", registerActions1, 1); |
@@ -2518,7 +2564,7 @@ namespace Bootstrapper | |||
2518 | Assert::Equal(dwIndex, pPlan->cRollbackActions); | 2564 | Assert::Equal(dwIndex, pPlan->cRollbackActions); |
2519 | 2565 | ||
2520 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); | 2566 | Assert::Equal(1ul, pPlan->cExecutePackagesTotal); |
2521 | Assert::Equal(1ul, pPlan->cOverallProgressTicksTotal); | 2567 | Assert::Equal(2ul, pPlan->cOverallProgressTicksTotal); |
2522 | 2568 | ||
2523 | dwIndex = 0; | 2569 | dwIndex = 0; |
2524 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); | 2570 | Assert::Equal(dwIndex, pPlan->cRestoreRelatedBundleActions); |
@@ -2575,11 +2621,11 @@ namespace Bootstrapper | |||
2575 | fRollback = FALSE; | 2621 | fRollback = FALSE; |
2576 | dwIndex = 0; | 2622 | dwIndex = 0; |
2577 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); | 2623 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); |
2578 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web"); | 2624 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
2579 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 2625 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"NetFx48Web"); |
2580 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 4); | 2626 | ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 4); |
2581 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); | 2627 | ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA", TRUE, BURN_CACHE_PACKAGE_TYPE_REQUIRED, BURN_CACHE_PACKAGE_TYPE_NONE); |
2582 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); | 2628 | ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++, L"PackageA"); |
2583 | Assert::Equal(dwIndex, pPlan->cCacheActions); | 2629 | Assert::Equal(dwIndex, pPlan->cCacheActions); |
2584 | 2630 | ||
2585 | fRollback = TRUE; | 2631 | fRollback = TRUE; |
@@ -3008,12 +3054,18 @@ namespace Bootstrapper | |||
3008 | __in BURN_PLAN* pPlan, | 3054 | __in BURN_PLAN* pPlan, |
3009 | __in BOOL fRollback, | 3055 | __in BOOL fRollback, |
3010 | __in DWORD dwIndex, | 3056 | __in DWORD dwIndex, |
3011 | __in LPCWSTR wzPackageId | 3057 | __in LPCWSTR wzPackageId, |
3058 | __in BOOL fVital, | ||
3059 | __in BURN_CACHE_PACKAGE_TYPE executeCacheType, | ||
3060 | __in BURN_CACHE_PACKAGE_TYPE rollbackCacheType | ||
3012 | ) | 3061 | ) |
3013 | { | 3062 | { |
3014 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | 3063 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); |
3015 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_PACKAGE, pAction->type); | 3064 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_PACKAGE, pAction->type); |
3016 | NativeAssert::StringEqual(wzPackageId, pAction->package.pPackage->sczId); | 3065 | NativeAssert::StringEqual(wzPackageId, pAction->package.pPackage->sczId); |
3066 | Assert::Equal<BOOL>(fVital, pAction->package.pPackage->fCacheVital); | ||
3067 | Assert::Equal<DWORD>(executeCacheType, pAction->package.pPackage->executeCacheType); | ||
3068 | Assert::Equal<DWORD>(rollbackCacheType, pAction->package.pPackage->rollbackCacheType); | ||
3017 | return dwIndex + 1; | 3069 | return dwIndex + 1; |
3018 | } | 3070 | } |
3019 | 3071 | ||
@@ -3032,12 +3084,13 @@ namespace Bootstrapper | |||
3032 | void ValidateCacheSignalSyncpoint( | 3084 | void ValidateCacheSignalSyncpoint( |
3033 | __in BURN_PLAN* pPlan, | 3085 | __in BURN_PLAN* pPlan, |
3034 | __in BOOL fRollback, | 3086 | __in BOOL fRollback, |
3035 | __in DWORD dwIndex | 3087 | __in DWORD dwIndex, |
3088 | __in LPCWSTR wzPackageId | ||
3036 | ) | 3089 | ) |
3037 | { | 3090 | { |
3038 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); | 3091 | BURN_CACHE_ACTION* pAction = ValidateCacheActionExists(pPlan, fRollback, dwIndex); |
3039 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_SIGNAL_SYNCPOINT, pAction->type); | 3092 | Assert::Equal<DWORD>(BURN_CACHE_ACTION_TYPE_SIGNAL_SYNCPOINT, pAction->type); |
3040 | Assert::NotEqual((DWORD_PTR)NULL, (DWORD_PTR)pAction->syncpoint.hEvent); | 3093 | NativeAssert::StringEqual(wzPackageId, pAction->syncpoint.pPackage->sczId); |
3041 | } | 3094 | } |
3042 | 3095 | ||
3043 | void ValidateCleanAction( | 3096 | void ValidateCleanAction( |