diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2020-10-17 19:12:21 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2020-10-24 20:07:21 -0500 |
| commit | 273c69f34311f4f4e5f6b5896e71d0788f12d96a (patch) | |
| tree | 4cf8f42f3ecfa9341a41686b74aa5e48068ede87 /src/test/BurnUnitTest | |
| parent | 3f8e35223216ebbe7f6683a5031a5a97bbc66d5a (diff) | |
| download | wix-273c69f34311f4f4e5f6b5896e71d0788f12d96a.tar.gz wix-273c69f34311f4f4e5f6b5896e71d0788f12d96a.tar.bz2 wix-273c69f34311f4f4e5f6b5896e71d0788f12d96a.zip | |
WIXFEAT:6210 Change data type of versions to strings.
Diffstat (limited to 'src/test/BurnUnitTest')
| -rw-r--r-- | src/test/BurnUnitTest/BurnUnitTest.vcxproj | 4 | ||||
| -rw-r--r-- | src/test/BurnUnitTest/SearchTest.cpp | 17 | ||||
| -rw-r--r-- | src/test/BurnUnitTest/VariableHelpers.cpp | 34 | ||||
| -rw-r--r-- | src/test/BurnUnitTest/VariableHelpers.h | 4 | ||||
| -rw-r--r-- | src/test/BurnUnitTest/VariableTest.cpp | 32 | ||||
| -rw-r--r-- | src/test/BurnUnitTest/VariantTest.cpp | 52 | ||||
| -rw-r--r-- | src/test/BurnUnitTest/packages.config | 2 | ||||
| -rw-r--r-- | src/test/BurnUnitTest/precomp.h | 1 |
8 files changed, 95 insertions, 51 deletions
diff --git a/src/test/BurnUnitTest/BurnUnitTest.vcxproj b/src/test/BurnUnitTest/BurnUnitTest.vcxproj index fda7cb7b..cc19fa60 100644 --- a/src/test/BurnUnitTest/BurnUnitTest.vcxproj +++ b/src/test/BurnUnitTest/BurnUnitTest.vcxproj | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> | 5 | <Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> |
| 6 | <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" /> | 6 | <Import Project="..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props" Condition="Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" /> |
| 7 | <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.49\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.49\build\WixToolset.DUtil.props')" /> | 7 | <Import Project="..\..\..\packages\WixToolset.DUtil.4.0.55\build\WixToolset.DUtil.props" Condition="Exists('..\..\..\packages\WixToolset.DUtil.4.0.55\build\WixToolset.DUtil.props')" /> |
| 8 | <ItemGroup Label="ProjectConfigurations"> | 8 | <ItemGroup Label="ProjectConfigurations"> |
| 9 | <ProjectConfiguration Include="Debug|Win32"> | 9 | <ProjectConfiguration Include="Debug|Win32"> |
| 10 | <Configuration>Debug</Configuration> | 10 | <Configuration>Debug</Configuration> |
| @@ -80,6 +80,6 @@ | |||
| 80 | </PropertyGroup> | 80 | </PropertyGroup> |
| 81 | <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props'))" /> | 81 | <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.props'))" /> |
| 82 | <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets'))" /> | 82 | <Error Condition="!Exists('..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixBuildTools.TestSupport.Native.4.0.40\build\WixBuildTools.TestSupport.Native.targets'))" /> |
| 83 | <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.49\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.49\build\WixToolset.DUtil.props'))" /> | 83 | <Error Condition="!Exists('..\..\..\packages\WixToolset.DUtil.4.0.55\build\WixToolset.DUtil.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\WixToolset.DUtil.4.0.55\build\WixToolset.DUtil.props'))" /> |
| 84 | </Target> | 84 | </Target> |
| 85 | </Project> | 85 | </Project> |
diff --git a/src/test/BurnUnitTest/SearchTest.cpp b/src/test/BurnUnitTest/SearchTest.cpp index 32107d87..d868190d 100644 --- a/src/test/BurnUnitTest/SearchTest.cpp +++ b/src/test/BurnUnitTest/SearchTest.cpp | |||
| @@ -106,6 +106,7 @@ namespace Bootstrapper | |||
| 106 | BURN_SEARCHES searches = { }; | 106 | BURN_SEARCHES searches = { }; |
| 107 | BURN_EXTENSIONS burnExtensions = { }; | 107 | BURN_EXTENSIONS burnExtensions = { }; |
| 108 | ULARGE_INTEGER uliVersion = { }; | 108 | ULARGE_INTEGER uliVersion = { }; |
| 109 | VERUTIL_VERSION* pVersion = NULL; | ||
| 109 | try | 110 | try |
| 110 | { | 111 | { |
| 111 | hr = VariableInitialize(&variables); | 112 | hr = VariableInitialize(&variables); |
| @@ -117,6 +118,9 @@ namespace Bootstrapper | |||
| 117 | hr = FileVersion(wzFile2, &uliVersion.HighPart, &uliVersion.LowPart); | 118 | hr = FileVersion(wzFile2, &uliVersion.HighPart, &uliVersion.LowPart); |
| 118 | TestThrowOnFailure(hr, L"Failed to get DLL version."); | 119 | TestThrowOnFailure(hr, L"Failed to get DLL version."); |
| 119 | 120 | ||
| 121 | hr = VerVersionFromQword(uliVersion.QuadPart, &pVersion); | ||
| 122 | NativeAssert::Succeeded(hr, "Failed to create version."); | ||
| 123 | |||
| 120 | VariableSetStringHelper(&variables, L"File1", wzFile1, FALSE); | 124 | VariableSetStringHelper(&variables, L"File1", wzFile1, FALSE); |
| 121 | VariableSetStringHelper(&variables, L"File2", wzFile2, FALSE); | 125 | VariableSetStringHelper(&variables, L"File2", wzFile2, FALSE); |
| 122 | 126 | ||
| @@ -140,10 +144,11 @@ namespace Bootstrapper | |||
| 140 | // check variable values | 144 | // check variable values |
| 141 | Assert::Equal(0ll, VariableGetNumericHelper(&variables, L"Variable1")); | 145 | Assert::Equal(0ll, VariableGetNumericHelper(&variables, L"Variable1")); |
| 142 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable2")); | 146 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable2")); |
| 143 | Assert::Equal(uliVersion.QuadPart, VariableGetVersionHelper(&variables, L"Variable3")); | 147 | Assert::Equal<String^>(gcnew String(pVersion->sczVersion), VariableGetVersionHelper(&variables, L"Variable3")); |
| 144 | } | 148 | } |
| 145 | finally | 149 | finally |
| 146 | { | 150 | { |
| 151 | ReleaseVerutilVersion(pVersion); | ||
| 147 | ReleaseObject(pixeBundle); | 152 | ReleaseObject(pixeBundle); |
| 148 | VariablesUninitialize(&variables); | 153 | VariablesUninitialize(&variables); |
| 149 | SearchesUninitialize(&searches); | 154 | SearchesUninitialize(&searches); |
| @@ -247,8 +252,8 @@ namespace Bootstrapper | |||
| 247 | Assert::NotEqual(gcnew String(L"String1 %TEMP%"), VariableGetStringHelper(&variables, L"Variable10")); | 252 | Assert::NotEqual(gcnew String(L"String1 %TEMP%"), VariableGetStringHelper(&variables, L"Variable10")); |
| 248 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable11")); | 253 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable11")); |
| 249 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable12")); | 254 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable12")); |
| 250 | Assert::Equal(MAKEQWORDVERSION(1,1,1,1), VariableGetVersionHelper(&variables, L"Variable13")); | 255 | Assert::Equal<String^>(gcnew String(L"1.1.1.1"), VariableGetVersionHelper(&variables, L"Variable13")); |
| 251 | Assert::Equal(MAKEQWORDVERSION(1,1,1,1), VariableGetVersionHelper(&variables, L"Variable14")); | 256 | Assert::Equal<String^>(gcnew String(L"1.1.1.1"), VariableGetVersionHelper(&variables, L"Variable14")); |
| 252 | Assert::Equal<String^>(gcnew String(L"String1"), VariableGetStringHelper(&variables, L"Variable15")); | 257 | Assert::Equal<String^>(gcnew String(L"String1"), VariableGetStringHelper(&variables, L"Variable15")); |
| 253 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable16")); | 258 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable16")); |
| 254 | Assert::False(VariableExistsHelper(&variables, L"Variable17")); | 259 | Assert::False(VariableExistsHelper(&variables, L"Variable17")); |
| @@ -401,11 +406,11 @@ namespace Bootstrapper | |||
| 401 | 406 | ||
| 402 | // check variable values | 407 | // check variable values |
| 403 | Assert::Equal(2ll, VariableGetNumericHelper(&variables, L"Variable1")); | 408 | Assert::Equal(2ll, VariableGetNumericHelper(&variables, L"Variable1")); |
| 404 | Assert::Equal(MAKEQWORDVERSION(1,0,0,0), VariableGetVersionHelper(&variables, L"Variable2")); | 409 | Assert::Equal<String^>(gcnew String(L"1.0.0.0"), VariableGetVersionHelper(&variables, L"Variable2")); |
| 405 | Assert::Equal(1033ll, VariableGetNumericHelper(&variables, L"Variable3")); | 410 | Assert::Equal(1033ll, VariableGetNumericHelper(&variables, L"Variable3")); |
| 406 | Assert::Equal(5ll, VariableGetNumericHelper(&variables, L"Variable4")); | 411 | Assert::Equal(5ll, VariableGetNumericHelper(&variables, L"Variable4")); |
| 407 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable5")); | 412 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Variable5")); |
| 408 | Assert::Equal(MAKEQWORDVERSION(1,0,0,0), VariableGetVersionHelper(&variables, L"Variable6")); | 413 | Assert::Equal<String^>(gcnew String(L"1.0.0.0"), VariableGetVersionHelper(&variables, L"Variable6")); |
| 409 | } | 414 | } |
| 410 | finally | 415 | finally |
| 411 | { | 416 | { |
| @@ -581,7 +586,7 @@ namespace Bootstrapper | |||
| 581 | Assert::Equal<String^>(gcnew String(L"VAL5"), VariableGetStringHelper(&variables, L"PROP5")); | 586 | Assert::Equal<String^>(gcnew String(L"VAL5"), VariableGetStringHelper(&variables, L"PROP5")); |
| 582 | Assert::Equal<String^>(gcnew String(L"VAL6"), VariableGetStringHelper(&variables, L"PROP6")); | 587 | Assert::Equal<String^>(gcnew String(L"VAL6"), VariableGetStringHelper(&variables, L"PROP6")); |
| 583 | Assert::Equal(7ll, VariableGetNumericHelper(&variables, L"PROP7")); | 588 | Assert::Equal(7ll, VariableGetNumericHelper(&variables, L"PROP7")); |
| 584 | Assert::Equal(MAKEQWORDVERSION(1, 1, 0, 0), VariableGetVersionHelper(&variables, L"PROP8")); | 589 | Assert::Equal<String^>(gcnew String(L"1.1.0.0"), VariableGetVersionHelper(&variables, L"PROP8")); |
| 585 | Assert::Equal<String^>(gcnew String(L"1.1.0.0"), VariableGetStringHelper(&variables, L"PROP8")); | 590 | Assert::Equal<String^>(gcnew String(L"1.1.0.0"), VariableGetStringHelper(&variables, L"PROP8")); |
| 586 | Assert::Equal<String^>(gcnew String(L"[VAL9]"), VariableGetStringHelper(&variables, L"PROP9")); | 591 | Assert::Equal<String^>(gcnew String(L"[VAL9]"), VariableGetStringHelper(&variables, L"PROP9")); |
| 587 | 592 | ||
diff --git a/src/test/BurnUnitTest/VariableHelpers.cpp b/src/test/BurnUnitTest/VariableHelpers.cpp index fdfb9191..99ba492a 100644 --- a/src/test/BurnUnitTest/VariableHelpers.cpp +++ b/src/test/BurnUnitTest/VariableHelpers.cpp | |||
| @@ -33,12 +33,23 @@ namespace Bootstrapper | |||
| 33 | TestThrowOnFailure2(hr, L"Failed to set %s to: %I64d", wzVariable, llValue); | 33 | TestThrowOnFailure2(hr, L"Failed to set %s to: %I64d", wzVariable, llValue); |
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | void VariableSetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, DWORD64 qwValue) | 36 | void VariableSetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, LPCWSTR wzValue) |
| 37 | { | 37 | { |
| 38 | HRESULT hr = S_OK; | 38 | HRESULT hr = S_OK; |
| 39 | VERUTIL_VERSION* pVersion = NULL; | ||
| 39 | 40 | ||
| 40 | hr = VariableSetVersion(pVariables, wzVariable, qwValue, FALSE); | 41 | try |
| 41 | TestThrowOnFailure2(hr, L"Failed to set %s to: 0x%016I64x", wzVariable, qwValue); | 42 | { |
| 43 | hr = VerParseVersion(wzValue, 0, FALSE, &pVersion); | ||
| 44 | TestThrowOnFailure1(hr, L"Failed to parse version '%ls'", wzValue); | ||
| 45 | |||
| 46 | hr = VariableSetVersion(pVariables, wzVariable, pVersion, FALSE); | ||
| 47 | TestThrowOnFailure2(hr, L"Failed to set %s to: '%ls'", wzVariable, wzValue); | ||
| 48 | } | ||
| 49 | finally | ||
| 50 | { | ||
| 51 | ReleaseVerutilVersion(pVersion); | ||
| 52 | } | ||
| 42 | } | 53 | } |
| 43 | 54 | ||
| 44 | String^ VariableGetStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable) | 55 | String^ VariableGetStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable) |
| @@ -69,15 +80,22 @@ namespace Bootstrapper | |||
| 69 | return llValue; | 80 | return llValue; |
| 70 | } | 81 | } |
| 71 | 82 | ||
| 72 | unsigned __int64 VariableGetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable) | 83 | String^ VariableGetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable) |
| 73 | { | 84 | { |
| 74 | HRESULT hr = S_OK; | 85 | HRESULT hr = S_OK; |
| 75 | DWORD64 qwValue = 0; | 86 | VERUTIL_VERSION* pValue = NULL; |
| 76 | 87 | ||
| 77 | hr = VariableGetVersion(pVariables, wzVariable, &qwValue); | 88 | try |
| 78 | TestThrowOnFailure1(hr, L"Failed to get: %s", wzVariable); | 89 | { |
| 90 | hr = VariableGetVersion(pVariables, wzVariable, &pValue); | ||
| 91 | TestThrowOnFailure1(hr, L"Failed to get: %s", wzVariable); | ||
| 79 | 92 | ||
| 80 | return qwValue; | 93 | return gcnew String(pValue->sczVersion); |
| 94 | } | ||
| 95 | finally | ||
| 96 | { | ||
| 97 | ReleaseVerutilVersion(pValue); | ||
| 98 | } | ||
| 81 | } | 99 | } |
| 82 | 100 | ||
| 83 | String^ VariableGetFormattedHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable) | 101 | String^ VariableGetFormattedHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable) |
diff --git a/src/test/BurnUnitTest/VariableHelpers.h b/src/test/BurnUnitTest/VariableHelpers.h index 8c2b081a..96122219 100644 --- a/src/test/BurnUnitTest/VariableHelpers.h +++ b/src/test/BurnUnitTest/VariableHelpers.h | |||
| @@ -16,10 +16,10 @@ namespace Bootstrapper | |||
| 16 | 16 | ||
| 17 | void VariableSetStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, LPCWSTR wzValue, BOOL fFormatted); | 17 | void VariableSetStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, LPCWSTR wzValue, BOOL fFormatted); |
| 18 | void VariableSetNumericHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, LONGLONG llValue); | 18 | void VariableSetNumericHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, LONGLONG llValue); |
| 19 | void VariableSetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, DWORD64 qwValue); | 19 | void VariableSetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable, LPCWSTR wzValue); |
| 20 | System::String^ VariableGetStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); | 20 | System::String^ VariableGetStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); |
| 21 | __int64 VariableGetNumericHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); | 21 | __int64 VariableGetNumericHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); |
| 22 | unsigned __int64 VariableGetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); | 22 | System::String^ VariableGetVersionHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); |
| 23 | System::String^ VariableGetFormattedHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); | 23 | System::String^ VariableGetFormattedHelper(BURN_VARIABLES* pVariables, LPCWSTR wzVariable); |
| 24 | System::String^ VariableFormatStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzIn); | 24 | System::String^ VariableFormatStringHelper(BURN_VARIABLES* pVariables, LPCWSTR wzIn); |
| 25 | System::String^ VariableEscapeStringHelper(LPCWSTR wzIn); | 25 | System::String^ VariableEscapeStringHelper(LPCWSTR wzIn); |
diff --git a/src/test/BurnUnitTest/VariableTest.cpp b/src/test/BurnUnitTest/VariableTest.cpp index 0b49a530..405c8fab 100644 --- a/src/test/BurnUnitTest/VariableTest.cpp +++ b/src/test/BurnUnitTest/VariableTest.cpp | |||
| @@ -42,7 +42,7 @@ namespace Bootstrapper | |||
| 42 | VariableSetStringHelper(&variables, L"PROP4", L"VAL4", FALSE); | 42 | VariableSetStringHelper(&variables, L"PROP4", L"VAL4", FALSE); |
| 43 | VariableSetStringHelper(&variables, L"PROP6", L"VAL6", FALSE); | 43 | VariableSetStringHelper(&variables, L"PROP6", L"VAL6", FALSE); |
| 44 | VariableSetStringHelper(&variables, L"PROP7", L"7", FALSE); | 44 | VariableSetStringHelper(&variables, L"PROP7", L"7", FALSE); |
| 45 | VariableSetVersionHelper(&variables, L"PROP8", MAKEQWORDVERSION(1,1,0,0)); | 45 | VariableSetVersionHelper(&variables, L"PROP8", L"1.1.0.0"); |
| 46 | VariableSetStringHelper(&variables, L"PROP9", L"[VAL9]", TRUE); | 46 | VariableSetStringHelper(&variables, L"PROP9", L"[VAL9]", TRUE); |
| 47 | 47 | ||
| 48 | // set overwritten variables | 48 | // set overwritten variables |
| @@ -61,7 +61,7 @@ namespace Bootstrapper | |||
| 61 | Assert::Equal<String^>(gcnew String(L"VAL5"), VariableGetStringHelper(&variables, L"PROP5")); | 61 | Assert::Equal<String^>(gcnew String(L"VAL5"), VariableGetStringHelper(&variables, L"PROP5")); |
| 62 | Assert::Equal<String^>(gcnew String(L"VAL6"), VariableGetStringHelper(&variables, L"PROP6")); | 62 | Assert::Equal<String^>(gcnew String(L"VAL6"), VariableGetStringHelper(&variables, L"PROP6")); |
| 63 | Assert::Equal(7ll, VariableGetNumericHelper(&variables, L"PROP7")); | 63 | Assert::Equal(7ll, VariableGetNumericHelper(&variables, L"PROP7")); |
| 64 | Assert::Equal(MAKEQWORDVERSION(1,1,0,0), VariableGetVersionHelper(&variables, L"PROP8")); | 64 | Assert::Equal<String^>(gcnew String(L"1.1.0.0"), VariableGetVersionHelper(&variables, L"PROP8")); |
| 65 | Assert::Equal<String^>(gcnew String(L"1.1.0.0"), VariableGetStringHelper(&variables, L"PROP8")); | 65 | Assert::Equal<String^>(gcnew String(L"1.1.0.0"), VariableGetStringHelper(&variables, L"PROP8")); |
| 66 | Assert::Equal<String^>(gcnew String(L"[VAL9]"), VariableGetStringHelper(&variables, L"PROP9")); | 66 | Assert::Equal<String^>(gcnew String(L"[VAL9]"), VariableGetStringHelper(&variables, L"PROP9")); |
| 67 | 67 | ||
| @@ -110,7 +110,7 @@ namespace Bootstrapper | |||
| 110 | 110 | ||
| 111 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Var1")); | 111 | Assert::Equal(1ll, VariableGetNumericHelper(&variables, L"Var1")); |
| 112 | Assert::Equal<String^>(gcnew String(L"String value."), VariableGetStringHelper(&variables, L"Var2")); | 112 | Assert::Equal<String^>(gcnew String(L"String value."), VariableGetStringHelper(&variables, L"Var2")); |
| 113 | Assert::Equal(MAKEQWORDVERSION(1,2,3,4), VariableGetVersionHelper(&variables, L"Var3")); | 113 | Assert::Equal<String^>(gcnew String(L"1.2.3.4"), VariableGetVersionHelper(&variables, L"Var3")); |
| 114 | Assert::Equal<String^>(gcnew String(L"[Formatted]"), VariableGetStringHelper(&variables, L"Var6")); | 114 | Assert::Equal<String^>(gcnew String(L"[Formatted]"), VariableGetStringHelper(&variables, L"Var6")); |
| 115 | } | 115 | } |
| 116 | finally | 116 | finally |
| @@ -214,13 +214,13 @@ namespace Bootstrapper | |||
| 214 | VariableSetNumericHelper(&variables, L"PROP13", 0x00010000); | 214 | VariableSetNumericHelper(&variables, L"PROP13", 0x00010000); |
| 215 | VariableSetNumericHelper(&variables, L"PROP14", 0x00000001); | 215 | VariableSetNumericHelper(&variables, L"PROP14", 0x00000001); |
| 216 | VariableSetNumericHelper(&variables, L"PROP15", 0x00010001); | 216 | VariableSetNumericHelper(&variables, L"PROP15", 0x00010001); |
| 217 | VariableSetVersionHelper(&variables, L"PROP16", MAKEQWORDVERSION(0,0,0,0)); | 217 | VariableSetVersionHelper(&variables, L"PROP16", L"0.0.0.0"); |
| 218 | VariableSetVersionHelper(&variables, L"PROP17", MAKEQWORDVERSION(1,0,0,0)); | 218 | VariableSetVersionHelper(&variables, L"PROP17", L"1.0.0.0"); |
| 219 | VariableSetVersionHelper(&variables, L"PROP18", MAKEQWORDVERSION(1,1,0,0)); | 219 | VariableSetVersionHelper(&variables, L"PROP18", L"1.1.0.0"); |
| 220 | VariableSetVersionHelper(&variables, L"PROP19", MAKEQWORDVERSION(1,1,1,0)); | 220 | VariableSetVersionHelper(&variables, L"PROP19", L"1.1.1.0"); |
| 221 | VariableSetVersionHelper(&variables, L"PROP20", MAKEQWORDVERSION(1,1,1,1)); | 221 | VariableSetVersionHelper(&variables, L"PROP20", L"1.1.1.1"); |
| 222 | VariableSetNumericHelper(&variables, L"vPROP21", 1); | 222 | VariableSetNumericHelper(&variables, L"vPROP21", 1); |
| 223 | VariableSetVersionHelper(&variables, L"PROP22", MAKEQWORDVERSION(65535,65535,65535,65535)); | 223 | VariableSetVersionHelper(&variables, L"PROP22", L"65535.65535.65535.65535"); |
| 224 | VariableSetStringHelper(&variables, L"PROP23", L"1.1.1", FALSE); | 224 | VariableSetStringHelper(&variables, L"PROP23", L"1.1.1", FALSE); |
| 225 | VariableSetStringHelper(&variables, L"PROP24", L"[PROP1]", TRUE); | 225 | VariableSetStringHelper(&variables, L"PROP24", L"[PROP1]", TRUE); |
| 226 | VariableSetStringHelper(&variables, L"PROP25", L"[PROP7]", TRUE); | 226 | VariableSetStringHelper(&variables, L"PROP25", L"[PROP7]", TRUE); |
| @@ -233,7 +233,7 @@ namespace Bootstrapper | |||
| 233 | Assert::False(EvaluateConditionHelper(&variables, L"PROP7")); | 233 | Assert::False(EvaluateConditionHelper(&variables, L"PROP7")); |
| 234 | Assert::False(EvaluateConditionHelper(&variables, L"PROP8")); | 234 | Assert::False(EvaluateConditionHelper(&variables, L"PROP8")); |
| 235 | Assert::True(EvaluateConditionHelper(&variables, L"_PROP9")); | 235 | Assert::True(EvaluateConditionHelper(&variables, L"_PROP9")); |
| 236 | Assert::False(EvaluateConditionHelper(&variables, L"PROP16")); | 236 | Assert::True(EvaluateConditionHelper(&variables, L"PROP16")); |
| 237 | Assert::True(EvaluateConditionHelper(&variables, L"PROP17")); | 237 | Assert::True(EvaluateConditionHelper(&variables, L"PROP17")); |
| 238 | Assert::True(EvaluateConditionHelper(&variables, L"PROP24")); | 238 | Assert::True(EvaluateConditionHelper(&variables, L"PROP24")); |
| 239 | Assert::True(EvaluateConditionHelper(&variables, L"PROP25")); | 239 | Assert::True(EvaluateConditionHelper(&variables, L"PROP25")); |
| @@ -268,8 +268,8 @@ namespace Bootstrapper | |||
| 268 | Assert::True(EvaluateConditionHelper(&variables, L"PROP18 = v1.1")); | 268 | Assert::True(EvaluateConditionHelper(&variables, L"PROP18 = v1.1")); |
| 269 | Assert::True(EvaluateConditionHelper(&variables, L"PROP19 = v1.1.1")); | 269 | Assert::True(EvaluateConditionHelper(&variables, L"PROP19 = v1.1.1")); |
| 270 | Assert::True(EvaluateConditionHelper(&variables, L"PROP20 = v1.1.1.1")); | 270 | Assert::True(EvaluateConditionHelper(&variables, L"PROP20 = v1.1.1.1")); |
| 271 | Assert::True(EvaluateFailureConditionHelper(&variables, L"PROP20 = v1.1.1.1.0")); | 271 | Assert::True(EvaluateConditionHelper(&variables, L"PROP20 > v1.1.1.1.0")); |
| 272 | Assert::True(EvaluateFailureConditionHelper(&variables, L"PROP20 = v1.1.1.1.1")); | 272 | Assert::True(EvaluateConditionHelper(&variables, L"PROP20 > v1.1.1.1.1")); |
| 273 | Assert::True(EvaluateConditionHelper(&variables, L"vPROP21 = 1")); | 273 | Assert::True(EvaluateConditionHelper(&variables, L"vPROP21 = 1")); |
| 274 | Assert::True(EvaluateConditionHelper(&variables, L"PROP23 = v1.1.1")); | 274 | Assert::True(EvaluateConditionHelper(&variables, L"PROP23 = v1.1.1")); |
| 275 | Assert::True(EvaluateConditionHelper(&variables, L"v1.1.1 = PROP23")); | 275 | Assert::True(EvaluateConditionHelper(&variables, L"v1.1.1 = PROP23")); |
| @@ -287,8 +287,8 @@ namespace Bootstrapper | |||
| 287 | Assert::True(EvaluateFailureConditionHelper(&variables, L"PROP12 = -92233720368547758080000")); | 287 | Assert::True(EvaluateFailureConditionHelper(&variables, L"PROP12 = -92233720368547758080000")); |
| 288 | 288 | ||
| 289 | Assert::True(EvaluateConditionHelper(&variables, L"PROP22 = v65535.65535.65535.65535")); | 289 | Assert::True(EvaluateConditionHelper(&variables, L"PROP22 = v65535.65535.65535.65535")); |
| 290 | Assert::True(EvaluateFailureConditionHelper(&variables, L"PROP22 = v65536.65535.65535.65535")); | 290 | Assert::True(EvaluateConditionHelper(&variables, L"PROP22 < v65536.65535.65535.65535")); |
| 291 | Assert::True(EvaluateFailureConditionHelper(&variables, L"PROP22 = v65535.655350000.65535.65535")); | 291 | Assert::True(EvaluateConditionHelper(&variables, L"PROP22 < v65535.655350000.65535.65535")); |
| 292 | 292 | ||
| 293 | Assert::True(EvaluateConditionHelper(&variables, L"PROP5 < 6")); | 293 | Assert::True(EvaluateConditionHelper(&variables, L"PROP5 < 6")); |
| 294 | Assert::False(EvaluateConditionHelper(&variables, L"PROP5 < 5")); | 294 | Assert::False(EvaluateConditionHelper(&variables, L"PROP5 < 5")); |
| @@ -388,7 +388,7 @@ namespace Bootstrapper | |||
| 388 | 388 | ||
| 389 | VariableSetStringHelper(&variables1, L"PROP1", L"VAL1", FALSE); | 389 | VariableSetStringHelper(&variables1, L"PROP1", L"VAL1", FALSE); |
| 390 | VariableSetNumericHelper(&variables1, L"PROP2", 2); | 390 | VariableSetNumericHelper(&variables1, L"PROP2", 2); |
| 391 | VariableSetVersionHelper(&variables1, L"PROP3", MAKEQWORDVERSION(1,1,1,1)); | 391 | VariableSetVersionHelper(&variables1, L"PROP3", L"1.1.1.1"); |
| 392 | VariableSetStringHelper(&variables1, L"PROP4", L"VAL4", FALSE); | 392 | VariableSetStringHelper(&variables1, L"PROP4", L"VAL4", FALSE); |
| 393 | VariableSetStringHelper(&variables1, L"PROP5", L"[PROP1]", TRUE); | 393 | VariableSetStringHelper(&variables1, L"PROP5", L"[PROP1]", TRUE); |
| 394 | 394 | ||
| @@ -404,7 +404,7 @@ namespace Bootstrapper | |||
| 404 | 404 | ||
| 405 | Assert::Equal<String^>(gcnew String(L"VAL1"), VariableGetStringHelper(&variables2, L"PROP1")); | 405 | Assert::Equal<String^>(gcnew String(L"VAL1"), VariableGetStringHelper(&variables2, L"PROP1")); |
| 406 | Assert::Equal(2ll, VariableGetNumericHelper(&variables2, L"PROP2")); | 406 | Assert::Equal(2ll, VariableGetNumericHelper(&variables2, L"PROP2")); |
| 407 | Assert::Equal(MAKEQWORDVERSION(1,1,1,1), VariableGetVersionHelper(&variables2, L"PROP3")); | 407 | Assert::Equal<String^>(gcnew String(L"1.1.1.1"), VariableGetVersionHelper(&variables2, L"PROP3")); |
| 408 | Assert::Equal<String^>(gcnew String(L"VAL4"), VariableGetStringHelper(&variables2, L"PROP4")); | 408 | Assert::Equal<String^>(gcnew String(L"VAL4"), VariableGetStringHelper(&variables2, L"PROP4")); |
| 409 | Assert::Equal<String^>(gcnew String(L"[PROP1]"), VariableGetStringHelper(&variables2, L"PROP5")); | 409 | Assert::Equal<String^>(gcnew String(L"[PROP1]"), VariableGetStringHelper(&variables2, L"PROP5")); |
| 410 | 410 | ||
diff --git a/src/test/BurnUnitTest/VariantTest.cpp b/src/test/BurnUnitTest/VariantTest.cpp index c982db72..34328f53 100644 --- a/src/test/BurnUnitTest/VariantTest.cpp +++ b/src/test/BurnUnitTest/VariantTest.cpp | |||
| @@ -37,10 +37,10 @@ namespace Bootstrapper | |||
| 37 | { | 37 | { |
| 38 | InitNumericValue(expectedVariants + 0, 2, FALSE, L"PROP1", actualVariants + 0); | 38 | InitNumericValue(expectedVariants + 0, 2, FALSE, L"PROP1", actualVariants + 0); |
| 39 | InitStringValue(expectedVariants + 1, L"VAL2", FALSE, L"PROP2", actualVariants + 1); | 39 | InitStringValue(expectedVariants + 1, L"VAL2", FALSE, L"PROP2", actualVariants + 1); |
| 40 | InitVersionValue(expectedVariants + 2, MAKEQWORDVERSION(1, 1, 0, 0), FALSE, L"PROP3", actualVariants + 2); | 40 | InitVersionValue(expectedVariants + 2, L"1.1.0.0", FALSE, L"PROP3", actualVariants + 2); |
| 41 | InitNoneValue(expectedVariants + 3, FALSE, L"PROP4", actualVariants + 3); | 41 | InitNoneValue(expectedVariants + 3, FALSE, L"PROP4", actualVariants + 3); |
| 42 | InitNoneValue(expectedVariants + 4, TRUE, L"PROP5", actualVariants + 4); | 42 | InitNoneValue(expectedVariants + 4, TRUE, L"PROP5", actualVariants + 4); |
| 43 | InitVersionValue(expectedVariants + 5, MAKEQWORDVERSION(1, 1, 1, 0), TRUE, L"PROP6", actualVariants + 5); | 43 | InitVersionValue(expectedVariants + 5, L"1.1.1.0", TRUE, L"PROP6", actualVariants + 5); |
| 44 | InitStringValue(expectedVariants + 6, L"7", TRUE, L"PROP7", actualVariants + 6); | 44 | InitStringValue(expectedVariants + 6, L"7", TRUE, L"PROP7", actualVariants + 6); |
| 45 | InitNumericValue(expectedVariants + 7, 11, TRUE, L"PROP8", actualVariants + 7); | 45 | InitNumericValue(expectedVariants + 7, 11, TRUE, L"PROP8", actualVariants + 7); |
| 46 | InitFormattedValue(expectedVariants + 8, L"VAL9", FALSE, L"PROP9", actualVariants + 8); | 46 | InitFormattedValue(expectedVariants + 8, L"VAL9", FALSE, L"PROP9", actualVariants + 8); |
| @@ -143,21 +143,34 @@ namespace Bootstrapper | |||
| 143 | } | 143 | } |
| 144 | } | 144 | } |
| 145 | 145 | ||
| 146 | void InitVersionValue(BURN_VARIANT* pValue, DWORD64 qwValue, BOOL fHidden, LPCWSTR wz, BURN_VARIANT* pActualValue) | 146 | void InitVersionValue(BURN_VARIANT* pValue, LPCWSTR wzValue, BOOL fHidden, LPCWSTR wz, BURN_VARIANT* pActualValue) |
| 147 | { | 147 | { |
| 148 | HRESULT hr = S_OK; | 148 | HRESULT hr = S_OK; |
| 149 | pValue->Type = BURN_VARIANT_TYPE_VERSION; | 149 | VERUTIL_VERSION* pVersion = NULL; |
| 150 | pValue->qwValue = qwValue; | ||
| 151 | 150 | ||
| 152 | hr = BVariantCopy(pValue, pActualValue); | 151 | try |
| 153 | NativeAssert::Succeeded(hr, "Failed to copy variant {0}", wz); | ||
| 154 | |||
| 155 | if (fHidden) | ||
| 156 | { | 152 | { |
| 157 | hr = BVariantSetEncryption(pActualValue, TRUE); | 153 | hr = VerParseVersion(wzValue, 0, FALSE, &pVersion); |
| 158 | NativeAssert::Succeeded(hr, "Failed to encrypt variant {0}", wz); | 154 | NativeAssert::Succeeded(hr, "Failed to parse version {0}", wzValue); |
| 159 | 155 | ||
| 160 | NativeAssert::True(pActualValue->fEncryptString); | 156 | pValue->Type = BURN_VARIANT_TYPE_VERSION; |
| 157 | pValue->pValue = pVersion; | ||
| 158 | pVersion = NULL; | ||
| 159 | |||
| 160 | hr = BVariantCopy(pValue, pActualValue); | ||
| 161 | NativeAssert::Succeeded(hr, "Failed to copy variant {0}", wz); | ||
| 162 | |||
| 163 | if (fHidden) | ||
| 164 | { | ||
| 165 | hr = BVariantSetEncryption(pActualValue, TRUE); | ||
| 166 | NativeAssert::Succeeded(hr, "Failed to encrypt variant {0}", wz); | ||
| 167 | |||
| 168 | NativeAssert::True(pActualValue->fEncryptString); | ||
| 169 | } | ||
| 170 | } | ||
| 171 | finally | ||
| 172 | { | ||
| 173 | ReleaseVerutilVersion(pVersion); | ||
| 161 | } | 174 | } |
| 162 | } | 175 | } |
| 163 | 176 | ||
| @@ -224,14 +237,21 @@ namespace Bootstrapper | |||
| 224 | void VerifyVersionValue(BURN_VARIANT* pExpectedValue, BURN_VARIANT* pActualValue) | 237 | void VerifyVersionValue(BURN_VARIANT* pExpectedValue, BURN_VARIANT* pActualValue) |
| 225 | { | 238 | { |
| 226 | HRESULT hr = S_OK; | 239 | HRESULT hr = S_OK; |
| 227 | DWORD64 qwValue = 0; | 240 | VERUTIL_VERSION* pValue = NULL; |
| 228 | NativeAssert::Equal<DWORD>(BURN_VARIANT_TYPE_VERSION, pExpectedValue->Type); | 241 | NativeAssert::Equal<DWORD>(BURN_VARIANT_TYPE_VERSION, pExpectedValue->Type); |
| 229 | NativeAssert::Equal<DWORD>(BURN_VARIANT_TYPE_VERSION, pActualValue->Type); | 242 | NativeAssert::Equal<DWORD>(BURN_VARIANT_TYPE_VERSION, pActualValue->Type); |
| 230 | 243 | ||
| 231 | hr = BVariantGetVersion(pActualValue, &qwValue); | 244 | try |
| 232 | NativeAssert::Succeeded(hr, "Failed to get version value"); | 245 | { |
| 246 | hr = BVariantGetVersion(pActualValue, &pValue); | ||
| 247 | NativeAssert::Succeeded(hr, "Failed to get version value"); | ||
| 233 | 248 | ||
| 234 | NativeAssert::Equal<DWORD64>(pExpectedValue->qwValue, qwValue); | 249 | NativeAssert::StringEqual(pExpectedValue->pValue->sczVersion, pActualValue->pValue->sczVersion); |
| 250 | } | ||
| 251 | finally | ||
| 252 | { | ||
| 253 | ReleaseVerutilVersion(pValue); | ||
| 254 | } | ||
| 235 | } | 255 | } |
| 236 | }; | 256 | }; |
| 237 | } | 257 | } |
diff --git a/src/test/BurnUnitTest/packages.config b/src/test/BurnUnitTest/packages.config index e537bcdb..74f2523f 100644 --- a/src/test/BurnUnitTest/packages.config +++ b/src/test/BurnUnitTest/packages.config | |||
| @@ -9,5 +9,5 @@ | |||
| 9 | <package id="xunit.runner.visualstudio" version="2.4.1" /> | 9 | <package id="xunit.runner.visualstudio" version="2.4.1" /> |
| 10 | <package id="WixBuildTools.TestSupport" version="4.0.40" /> | 10 | <package id="WixBuildTools.TestSupport" version="4.0.40" /> |
| 11 | <package id="WixBuildTools.TestSupport.Native" version="4.0.40" /> | 11 | <package id="WixBuildTools.TestSupport.Native" version="4.0.40" /> |
| 12 | <package id="WixToolset.DUtil" version="4.0.49" targetFramework="native" /> | 12 | <package id="WixToolset.DUtil" version="4.0.55" targetFramework="native" /> |
| 13 | </packages> \ No newline at end of file | 13 | </packages> \ No newline at end of file |
diff --git a/src/test/BurnUnitTest/precomp.h b/src/test/BurnUnitTest/precomp.h index e288eb3e..fea30156 100644 --- a/src/test/BurnUnitTest/precomp.h +++ b/src/test/BurnUnitTest/precomp.h | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #include "wininet.h" | 13 | #include "wininet.h" |
| 14 | 14 | ||
| 15 | #include <dutil.h> | 15 | #include <dutil.h> |
| 16 | #include <verutil.h> | ||
| 16 | #include <cryputil.h> | 17 | #include <cryputil.h> |
| 17 | #include <dlutil.h> | 18 | #include <dlutil.h> |
| 18 | #include <buffutil.h> | 19 | #include <buffutil.h> |
