diff options
Diffstat (limited to 'src/burn/test/BurnUnitTest/PlanTest.cpp')
| -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( |
