Fix StrAllocString assertions.
Sean Hall committed
May 11, 2021 at 17:14 UTC
1446d4e582465af5c09db3fba16afc59529a3863
3 files changed
+22
-16
src/burn/engine/registration.cpp
+6
-4
@@ -1137,14 +1137,15 @@ static HRESULT GetBundleManufacturer(
1137
)
1138
{
1139
HRESULT hr = S_OK;
1140
+ LPCWSTR wzPublisher = pRegistration->sczPublisher ? pRegistration->sczPublisher : L"";
1141
1142
hr = VariableGetString(pVariables, BURN_BUNDLE_MANUFACTURER, psczBundleManufacturer);
1143
if (E_NOTFOUND == hr)
1144
{
1144
- hr = VariableSetString(pVariables, BURN_BUNDLE_MANUFACTURER, pRegistration->sczPublisher, FALSE, FALSE);
1145
+ hr = VariableSetString(pVariables, BURN_BUNDLE_MANUFACTURER, wzPublisher, FALSE, FALSE);
1146
ExitOnFailure(hr, "Failed to set bundle manufacturer.");
1147
1147
- hr = StrAllocString(psczBundleManufacturer, pRegistration->sczPublisher, 0);
1148
+ hr = StrAllocString(psczBundleManufacturer, wzPublisher, 0);
1149
}
1150
ExitOnFailure(hr, "Failed to get bundle manufacturer.");
1151
@@ -1159,14 +1160,15 @@ static HRESULT GetBundleName(
1160
)
1161
{
1162
HRESULT hr = S_OK;
1163
+ LPCWSTR wzDisplayName = pRegistration->sczDisplayName ? pRegistration->sczDisplayName : L"";
1164
1165
hr = VariableGetString(pVariables, BURN_BUNDLE_NAME, psczBundleName);
1166
if (E_NOTFOUND == hr)
1167
{
1166
- hr = VariableSetString(pVariables, BURN_BUNDLE_NAME, pRegistration->sczDisplayName, FALSE, FALSE);
1168
+ hr = VariableSetString(pVariables, BURN_BUNDLE_NAME, wzDisplayName, FALSE, FALSE);
1169
ExitOnFailure(hr, "Failed to set bundle name.");
1170
1169
- hr = StrAllocString(psczBundleName, pRegistration->sczDisplayName, 0);
1171
+ hr = StrAllocString(psczBundleName, wzDisplayName, 0);
1172
}
1173
ExitOnFailure(hr, "Failed to get bundle name.");
1174
src/burn/test/BurnUnitTest/PlanTest.cpp
+15
-11
@@ -33,7 +33,7 @@ namespace Bootstrapper
33
{
34
}
35
36
- [Fact(Skip = "Disable due to hang on CI")]
36
+ [Fact]
37
void MsiTransactionInstallTest()
38
{
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);
171
}
172
173
- [Fact(Skip = "Disable due to hang on CI")]
173
+ [Fact]
174
void MsiTransactionUninstallTest()
175
{
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);
280
}
281
282
- [Fact(Skip = "Disable due to hang on CI")]
282
+ [Fact]
283
void RelatedBundleMissingFromCacheTest()
284
{
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);
363
}
364
365
- [Fact(Skip = "Disable due to hang on CI")]
365
+ [Fact]
366
void SingleMsiCacheTest()
367
{
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);
434
}
435
436
- [Fact(Skip = "Disable due to hang on CI")]
436
+ [Fact]
437
void SingleMsiInstallTest()
438
{
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);
518
}
519
520
- [Fact(Skip = "Disable due to hang on CI")]
520
+ [Fact]
521
void SingleMsiInstalledWithNoInstalledPackagesModifyTest()
522
{
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);
578
}
579
580
- [Fact(Skip = "Disable due to hang on CI")]
580
+ [Fact]
581
void SingleMsiUninstallTest()
582
{
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);
651
}
652
653
- [Fact(Skip = "Disable due to hang on CI")]
653
+ [Fact]
654
void SingleMsiUninstallTestFromUpgradeBundleWithSameExactPackage()
655
{
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);
714
}
715
716
- [Fact(Skip = "Disable due to hang on CI")]
716
+ [Fact]
717
void SlipstreamInstallTest()
718
{
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);
825
}
826
827
- [Fact(Skip = "Disable due to hang on CI")]
827
+ [Fact]
828
void SlipstreamUninstallTest()
829
{
830
HRESULT hr = S_OK;
@@ -1106,10 +1106,14 @@ namespace Bootstrapper
1106
HRESULT hr = S_OK;
1107
BURN_RELATED_BUNDLES* pRelatedBundles = &pEngineState->registration.relatedBundles;
1108
BURN_DEPENDENCY_PROVIDER dependencyProvider = { };
1109
+ LPCWSTR wzFilePath = pEngineState->registration.sczExecutableName;
1110
1111
hr = StrAllocString(&dependencyProvider.sczKey, wzId, 0);
1112
NativeAssert::Succeeded(hr, "Failed to copy provider key");
1113
1114
+ hr = StrAllocString(&dependencyProvider.sczDisplayName, wzId, 0);
1115
+ NativeAssert::Succeeded(hr, "Failed to copy display name");
1116
+
1117
dependencyProvider.fImported = TRUE;
1118
1119
hr = StrAllocString(&dependencyProvider.sczVersion, wzVersion, 0);
@@ -1126,7 +1130,7 @@ namespace Bootstrapper
1130
pRelatedBundle->fPlannable = TRUE;
1131
pRelatedBundle->relationType = BOOTSTRAPPER_RELATION_UPGRADE;
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);
1134
NativeAssert::Succeeded(hr, "Failed to initialize related bundle to represent bundle: %ls", wzId);
1135
1136
++pRelatedBundles->cRelatedBundles;
src/internal/SetBuildNumber/SetBuildNumber.proj
+1
-1
@@ -28,7 +28,7 @@
28
Condition=" '$(APPVEYOR)'=='True' ">
29
<PropertyGroup>
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>
33
34
<Message Importance="high" Text=" $(AppVeyorBuildNumber)" />