aboutsummaryrefslogtreecommitdiff
path: root/src/burn/test
diff options
context:
space:
mode:
authorSean Hall <r.sean.hall@gmail.com>2021-05-03 21:14:52 -0500
committerSean Hall <r.sean.hall@gmail.com>2021-05-11 19:11:19 -0500
commita2f2036c8598efcb434eebeeacd7ede84ab60dfe (patch)
tree271e07336a3eb394f5f9fe4c2da0973d2b3193dc /src/burn/test
parent2f4287fdcee83b30e0f7f3ce548bcdff2ee85e1f (diff)
downloadwix-a2f2036c8598efcb434eebeeacd7ede84ab60dfe.tar.gz
wix-a2f2036c8598efcb434eebeeacd7ede84ab60dfe.tar.bz2
wix-a2f2036c8598efcb434eebeeacd7ede84ab60dfe.zip
Cache packages that will be present for CACHE/INSTALL overall actions.
During actions that are expected to have source media available, all packages that have cacheType set to keep should be cached if the package is going to be present. Set NetFx ExePackage Cache="no" and remove uninstall and repair arguments. #5125
Diffstat (limited to 'src/burn/test')
-rw-r--r--src/burn/test/BurnUnitTest/PlanTest.cpp25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/burn/test/BurnUnitTest/PlanTest.cpp b/src/burn/test/BurnUnitTest/PlanTest.cpp
index 045c510e..23192349 100644
--- a/src/burn/test/BurnUnitTest/PlanTest.cpp
+++ b/src/burn/test/BurnUnitTest/PlanTest.cpp
@@ -726,27 +726,33 @@ namespace Bootstrapper
726 BOOL fRollback = FALSE; 726 BOOL fRollback = FALSE;
727 DWORD dwIndex = 0; 727 DWORD dwIndex = 0;
728 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1); 728 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 1);
729 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web");
730 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++);
731 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 3);
729 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA"); 732 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PatchA");
730 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); 733 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++);
731 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); 734 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 4);
732 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); 735 ValidateCachePackage(pPlan, fRollback, dwIndex++, L"PackageA");
733 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++); 736 ValidateCacheSignalSyncpoint(pPlan, fRollback, dwIndex++);
734 Assert::Equal(dwIndex, pPlan->cCacheActions); 737 Assert::Equal(dwIndex, pPlan->cCacheActions);
735 738
736 fRollback = TRUE; 739 fRollback = TRUE;
737 dwIndex = 0; 740 dwIndex = 0;
738 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 2); 741 ValidateCacheCheckpoint(pPlan, fRollback, dwIndex++, 4);
739 Assert::Equal(dwIndex, pPlan->cRollbackCacheActions); 742 Assert::Equal(dwIndex, pPlan->cRollbackCacheActions);
740 743
741 Assert::Equal(3055111ull, pPlan->qwEstimatedSize); 744 Assert::Equal(3055111ull, pPlan->qwEstimatedSize);
742 Assert::Equal(212992ull, pPlan->qwCacheSizeTotal); 745 Assert::Equal(6130592ull, pPlan->qwCacheSizeTotal);
743 746
744 fRollback = FALSE; 747 fRollback = FALSE;
745 dwIndex = 0; 748 dwIndex = 0;
746 DWORD dwExecuteCheckpointId = 3; 749 DWORD dwExecuteCheckpointId = 2;
747 BURN_EXECUTE_ACTION* pExecuteAction = NULL; 750 BURN_EXECUTE_ACTION* pExecuteAction = NULL;
748 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); 751 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE);
749 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[5].syncpoint.hEvent); 752 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent);
753 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
754 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[8].syncpoint.hEvent);
755 dwExecuteCheckpointId += 2; // cache checkpoints
750 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 756 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
751 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 757 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
752 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER); 758 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_REGISTER);
@@ -755,7 +761,7 @@ namespace Bootstrapper
755 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 761 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
756 ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", BURN_DEPENDENCY_ACTION_REGISTER); 762 ValidateExecutePackageDependency(pPlan, fRollback, dwIndex++, L"PackageA", L"{22D1DDBA-284D-40A7-BD14-95EA07906F21}", BURN_DEPENDENCY_ACTION_REGISTER);
757 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 763 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
758 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[2].syncpoint.hEvent); 764 ValidateExecuteWaitSyncpoint(pPlan, fRollback, dwIndex++, pPlan->rgCacheActions[5].syncpoint.hEvent);
759 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 765 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
760 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 766 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
761 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", BURN_DEPENDENCY_ACTION_REGISTER); 767 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PatchA", BURN_DEPENDENCY_ACTION_REGISTER);
@@ -769,8 +775,11 @@ namespace Bootstrapper
769 775
770 fRollback = TRUE; 776 fRollback = TRUE;
771 dwIndex = 0; 777 dwIndex = 0;
772 dwExecuteCheckpointId = 3; 778 dwExecuteCheckpointId = 2;
773 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE); 779 ValidateExecuteRollbackBoundary(pPlan, fRollback, dwIndex++, L"WixDefaultBoundary", TRUE, FALSE);
780 ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"NetFx48Web");
781 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
782 dwExecuteCheckpointId += 2; // cache checkpoints
774 ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageA"); 783 ValidateExecuteUncachePackage(pPlan, fRollback, dwIndex++, L"PackageA");
775 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++); 784 ValidateExecuteCheckpoint(pPlan, fRollback, dwIndex++, dwExecuteCheckpointId++);
776 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER); 785 ValidateExecutePackageProvider(pPlan, fRollback, dwIndex++, L"PackageA", BURN_DEPENDENCY_ACTION_UNREGISTER);
@@ -793,7 +802,7 @@ namespace Bootstrapper
793 Assert::Equal(dwIndex, pPlan->cRollbackActions); 802 Assert::Equal(dwIndex, pPlan->cRollbackActions);
794 803
795 Assert::Equal(2ul, pPlan->cExecutePackagesTotal); 804 Assert::Equal(2ul, pPlan->cExecutePackagesTotal);
796 Assert::Equal(4ul, pPlan->cOverallProgressTicksTotal); 805 Assert::Equal(5ul, pPlan->cOverallProgressTicksTotal);
797 806
798 dwIndex = 0; 807 dwIndex = 0;
799 Assert::Equal(dwIndex, pPlan->cCleanActions); 808 Assert::Equal(dwIndex, pPlan->cCleanActions);