diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2021-05-11 17:14:30 -0500 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2021-05-11 19:11:19 -0500 |
commit | 1446d4e582465af5c09db3fba16afc59529a3863 (patch) | |
tree | 68699ff77b53a9c40370454ff2da237889f4f3fe | |
parent | a91c413750b354ba6975be9d427787b13664b750 (diff) | |
download | wix-1446d4e582465af5c09db3fba16afc59529a3863.tar.gz wix-1446d4e582465af5c09db3fba16afc59529a3863.tar.bz2 wix-1446d4e582465af5c09db3fba16afc59529a3863.zip |
Fix StrAllocString assertions.
-rw-r--r-- | src/burn/engine/registration.cpp | 10 | ||||
-rw-r--r-- | src/burn/test/BurnUnitTest/PlanTest.cpp | 26 | ||||
-rw-r--r-- | src/internal/SetBuildNumber/SetBuildNumber.proj | 2 |
3 files changed, 22 insertions, 16 deletions
diff --git a/src/burn/engine/registration.cpp b/src/burn/engine/registration.cpp index 19da543c..5b246112 100644 --- a/src/burn/engine/registration.cpp +++ b/src/burn/engine/registration.cpp | |||
@@ -1137,14 +1137,15 @@ static HRESULT GetBundleManufacturer( | |||
1137 | ) | 1137 | ) |
1138 | { | 1138 | { |
1139 | HRESULT hr = S_OK; | 1139 | HRESULT hr = S_OK; |
1140 | LPCWSTR wzPublisher = pRegistration->sczPublisher ? pRegistration->sczPublisher : L""; | ||
1140 | 1141 | ||
1141 | hr = VariableGetString(pVariables, BURN_BUNDLE_MANUFACTURER, psczBundleManufacturer); | 1142 | hr = VariableGetString(pVariables, BURN_BUNDLE_MANUFACTURER, psczBundleManufacturer); |
1142 | if (E_NOTFOUND == hr) | 1143 | if (E_NOTFOUND == hr) |
1143 | { | 1144 | { |
1144 | hr = VariableSetString(pVariables, BURN_BUNDLE_MANUFACTURER, pRegistration->sczPublisher, FALSE, FALSE); | 1145 | hr = VariableSetString(pVariables, BURN_BUNDLE_MANUFACTURER, wzPublisher, FALSE, FALSE); |
1145 | ExitOnFailure(hr, "Failed to set bundle manufacturer."); | 1146 | ExitOnFailure(hr, "Failed to set bundle manufacturer."); |
1146 | 1147 | ||
1147 | hr = StrAllocString(psczBundleManufacturer, pRegistration->sczPublisher, 0); | 1148 | hr = StrAllocString(psczBundleManufacturer, wzPublisher, 0); |
1148 | } | 1149 | } |
1149 | ExitOnFailure(hr, "Failed to get bundle manufacturer."); | 1150 | ExitOnFailure(hr, "Failed to get bundle manufacturer."); |
1150 | 1151 | ||
@@ -1159,14 +1160,15 @@ static HRESULT GetBundleName( | |||
1159 | ) | 1160 | ) |
1160 | { | 1161 | { |
1161 | HRESULT hr = S_OK; | 1162 | HRESULT hr = S_OK; |
1163 | LPCWSTR wzDisplayName = pRegistration->sczDisplayName ? pRegistration->sczDisplayName : L""; | ||
1162 | 1164 | ||
1163 | hr = VariableGetString(pVariables, BURN_BUNDLE_NAME, psczBundleName); | 1165 | hr = VariableGetString(pVariables, BURN_BUNDLE_NAME, psczBundleName); |
1164 | if (E_NOTFOUND == hr) | 1166 | if (E_NOTFOUND == hr) |
1165 | { | 1167 | { |
1166 | hr = VariableSetString(pVariables, BURN_BUNDLE_NAME, pRegistration->sczDisplayName, FALSE, FALSE); | 1168 | hr = VariableSetString(pVariables, BURN_BUNDLE_NAME, wzDisplayName, FALSE, FALSE); |
1167 | ExitOnFailure(hr, "Failed to set bundle name."); | 1169 | ExitOnFailure(hr, "Failed to set bundle name."); |
1168 | 1170 | ||
1169 | hr = StrAllocString(psczBundleName, pRegistration->sczDisplayName, 0); | 1171 | hr = StrAllocString(psczBundleName, wzDisplayName, 0); |
1170 | } | 1172 | } |
1171 | ExitOnFailure(hr, "Failed to get bundle name."); | 1173 | ExitOnFailure(hr, "Failed to get bundle name."); |
1172 | 1174 | ||
diff --git a/src/burn/test/BurnUnitTest/PlanTest.cpp b/src/burn/test/BurnUnitTest/PlanTest.cpp index 3cb42c5f..7909d747 100644 --- a/src/burn/test/BurnUnitTest/PlanTest.cpp +++ b/src/burn/test/BurnUnitTest/PlanTest.cpp | |||
@@ -33,7 +33,7 @@ namespace Bootstrapper | |||
33 | { | 33 | { |
34 | } | 34 | } |
35 | 35 | ||
36 | [Fact(Skip = "Disable due to hang on CI")] | 36 | [Fact] |
37 | void MsiTransactionInstallTest() | 37 | void MsiTransactionInstallTest() |
38 | { | 38 | { |
39 | HRESULT hr = S_OK; | 39 | HRESULT hr = S_OK; |
@@ -170,7 +170,7 @@ namespace Bootstrapper | |||
170 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); | 170 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); |
171 | } | 171 | } |
172 | 172 | ||
173 | [Fact(Skip = "Disable due to hang on CI")] | 173 | [Fact] |
174 | void MsiTransactionUninstallTest() | 174 | void MsiTransactionUninstallTest() |
175 | { | 175 | { |
176 | HRESULT hr = S_OK; | 176 | HRESULT hr = S_OK; |
@@ -279,7 +279,7 @@ namespace Bootstrapper | |||
279 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); | 279 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PackageC", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); |
280 | } | 280 | } |
281 | 281 | ||
282 | [Fact(Skip = "Disable due to hang on CI")] | 282 | [Fact] |
283 | void RelatedBundleMissingFromCacheTest() | 283 | void RelatedBundleMissingFromCacheTest() |
284 | { | 284 | { |
285 | HRESULT hr = S_OK; | 285 | HRESULT hr = S_OK; |
@@ -362,7 +362,7 @@ namespace Bootstrapper | |||
362 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); | 362 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); |
363 | } | 363 | } |
364 | 364 | ||
365 | [Fact(Skip = "Disable due to hang on CI")] | 365 | [Fact] |
366 | void SingleMsiCacheTest() | 366 | void SingleMsiCacheTest() |
367 | { | 367 | { |
368 | HRESULT hr = S_OK; | 368 | HRESULT hr = S_OK; |
@@ -433,7 +433,7 @@ namespace Bootstrapper | |||
433 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); | 433 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); |
434 | } | 434 | } |
435 | 435 | ||
436 | [Fact(Skip = "Disable due to hang on CI")] | 436 | [Fact] |
437 | void SingleMsiInstallTest() | 437 | void SingleMsiInstallTest() |
438 | { | 438 | { |
439 | HRESULT hr = S_OK; | 439 | HRESULT hr = S_OK; |
@@ -517,7 +517,7 @@ namespace Bootstrapper | |||
517 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); | 517 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); |
518 | } | 518 | } |
519 | 519 | ||
520 | [Fact(Skip = "Disable due to hang on CI")] | 520 | [Fact] |
521 | void SingleMsiInstalledWithNoInstalledPackagesModifyTest() | 521 | void SingleMsiInstalledWithNoInstalledPackagesModifyTest() |
522 | { | 522 | { |
523 | HRESULT hr = S_OK; | 523 | HRESULT hr = S_OK; |
@@ -577,7 +577,7 @@ namespace Bootstrapper | |||
577 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); | 577 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); |
578 | } | 578 | } |
579 | 579 | ||
580 | [Fact(Skip = "Disable due to hang on CI")] | 580 | [Fact] |
581 | void SingleMsiUninstallTest() | 581 | void SingleMsiUninstallTest() |
582 | { | 582 | { |
583 | HRESULT hr = S_OK; | 583 | HRESULT hr = S_OK; |
@@ -650,7 +650,7 @@ namespace Bootstrapper | |||
650 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); | 650 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_ABSENT, BURN_PACKAGE_REGISTRATION_STATE_ABSENT); |
651 | } | 651 | } |
652 | 652 | ||
653 | [Fact(Skip = "Disable due to hang on CI")] | 653 | [Fact] |
654 | void SingleMsiUninstallTestFromUpgradeBundleWithSameExactPackage() | 654 | void SingleMsiUninstallTestFromUpgradeBundleWithSameExactPackage() |
655 | { | 655 | { |
656 | HRESULT hr = S_OK; | 656 | HRESULT hr = S_OK; |
@@ -713,7 +713,7 @@ namespace Bootstrapper | |||
713 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_IGNORED, BURN_PACKAGE_REGISTRATION_STATE_IGNORED); | 713 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[0], L"PackageA", BURN_PACKAGE_REGISTRATION_STATE_IGNORED, BURN_PACKAGE_REGISTRATION_STATE_IGNORED); |
714 | } | 714 | } |
715 | 715 | ||
716 | [Fact(Skip = "Disable due to hang on CI")] | 716 | [Fact] |
717 | void SlipstreamInstallTest() | 717 | void SlipstreamInstallTest() |
718 | { | 718 | { |
719 | HRESULT hr = S_OK; | 719 | HRESULT hr = S_OK; |
@@ -824,7 +824,7 @@ namespace Bootstrapper | |||
824 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PatchA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); | 824 | ValidateNonPermanentPackageExpectedStates(&pEngineState->packages.rgPackages[2], L"PatchA", BURN_PACKAGE_REGISTRATION_STATE_PRESENT, BURN_PACKAGE_REGISTRATION_STATE_PRESENT); |
825 | } | 825 | } |
826 | 826 | ||
827 | [Fact(Skip = "Disable due to hang on CI")] | 827 | [Fact] |
828 | void SlipstreamUninstallTest() | 828 | void SlipstreamUninstallTest() |
829 | { | 829 | { |
830 | HRESULT hr = S_OK; | 830 | HRESULT hr = S_OK; |
@@ -1106,10 +1106,14 @@ namespace Bootstrapper | |||
1106 | HRESULT hr = S_OK; | 1106 | HRESULT hr = S_OK; |
1107 | BURN_RELATED_BUNDLES* pRelatedBundles = &pEngineState->registration.relatedBundles; | 1107 | BURN_RELATED_BUNDLES* pRelatedBundles = &pEngineState->registration.relatedBundles; |
1108 | BURN_DEPENDENCY_PROVIDER dependencyProvider = { }; | 1108 | BURN_DEPENDENCY_PROVIDER dependencyProvider = { }; |
1109 | LPCWSTR wzFilePath = pEngineState->registration.sczExecutableName; | ||
1109 | 1110 | ||
1110 | hr = StrAllocString(&dependencyProvider.sczKey, wzId, 0); | 1111 | hr = StrAllocString(&dependencyProvider.sczKey, wzId, 0); |
1111 | NativeAssert::Succeeded(hr, "Failed to copy provider key"); | 1112 | NativeAssert::Succeeded(hr, "Failed to copy provider key"); |
1112 | 1113 | ||
1114 | hr = StrAllocString(&dependencyProvider.sczDisplayName, wzId, 0); | ||
1115 | NativeAssert::Succeeded(hr, "Failed to copy display name"); | ||
1116 | |||
1113 | dependencyProvider.fImported = TRUE; | 1117 | dependencyProvider.fImported = TRUE; |
1114 | 1118 | ||
1115 | hr = StrAllocString(&dependencyProvider.sczVersion, wzVersion, 0); | 1119 | hr = StrAllocString(&dependencyProvider.sczVersion, wzVersion, 0); |
@@ -1126,7 +1130,7 @@ namespace Bootstrapper | |||
1126 | pRelatedBundle->fPlannable = TRUE; | 1130 | pRelatedBundle->fPlannable = TRUE; |
1127 | pRelatedBundle->relationType = BOOTSTRAPPER_RELATION_UPGRADE; | 1131 | pRelatedBundle->relationType = BOOTSTRAPPER_RELATION_UPGRADE; |
1128 | 1132 | ||
1129 | hr = PseudoBundleInitialize(0, &pRelatedBundle->package, TRUE, wzId, pRelatedBundle->relationType, BOOTSTRAPPER_PACKAGE_STATE_PRESENT, TRUE, NULL, NULL, NULL, 0, FALSE, L"-quiet", L"-repair -quiet", L"-uninstall -quiet", &dependencyProvider, NULL, 0); | 1133 | hr = PseudoBundleInitialize(0, &pRelatedBundle->package, TRUE, wzId, pRelatedBundle->relationType, BOOTSTRAPPER_PACKAGE_STATE_PRESENT, TRUE, wzFilePath, wzFilePath, NULL, 0, FALSE, L"-quiet", L"-repair -quiet", L"-uninstall -quiet", &dependencyProvider, NULL, 0); |
1130 | NativeAssert::Succeeded(hr, "Failed to initialize related bundle to represent bundle: %ls", wzId); | 1134 | NativeAssert::Succeeded(hr, "Failed to initialize related bundle to represent bundle: %ls", wzId); |
1131 | 1135 | ||
1132 | ++pRelatedBundles->cRelatedBundles; | 1136 | ++pRelatedBundles->cRelatedBundles; |
diff --git a/src/internal/SetBuildNumber/SetBuildNumber.proj b/src/internal/SetBuildNumber/SetBuildNumber.proj index e0993cd3..9342f297 100644 --- a/src/internal/SetBuildNumber/SetBuildNumber.proj +++ b/src/internal/SetBuildNumber/SetBuildNumber.proj | |||
@@ -28,7 +28,7 @@ | |||
28 | Condition=" '$(APPVEYOR)'=='True' "> | 28 | Condition=" '$(APPVEYOR)'=='True' "> |
29 | <PropertyGroup> | 29 | <PropertyGroup> |
30 | <AppVeyorBuildNumber>$(InformationalVersion)</AppVeyorBuildNumber> | 30 | <AppVeyorBuildNumber>$(InformationalVersion)</AppVeyorBuildNumber> |
31 | <AppVeyorBuildNumber Condition=" 'APPVEYOR_PULL_REQUEST_NUMBER'!='' ">PR#$(APPVEYOR_PULL_REQUEST_NUMBER)-$(AppVeyorBuildNumber)</AppVeyorBuildNumber> | 31 | <AppVeyorBuildNumber Condition=" '$(APPVEYOR_PULL_REQUEST_NUMBER)'!='' ">PR#$(APPVEYOR_PULL_REQUEST_NUMBER)-$(AppVeyorBuildNumber)</AppVeyorBuildNumber> |
32 | </PropertyGroup> | 32 | </PropertyGroup> |
33 | 33 | ||
34 | <Message Importance="high" Text=" $(AppVeyorBuildNumber)" /> | 34 | <Message Importance="high" Text=" $(AppVeyorBuildNumber)" /> |