Integrate DUtilUnitTest into latest v4.
Sean Hall committed
Jul 12, 2020 at 11:48 UTC
aeddc77fc021f11f68a4c1a093eabf9776866b80
21 files changed
+78
-936
dutil.sln
+12
@@ -5,6 +5,8 @@ VisualStudioVersion = 15.0.26730.12
5
MinimumVisualStudioVersion = 15.0.26124.0
6
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dutil", "src\dutil\dutil.vcxproj", "{1244E671-F108-4334-BA52-8A7517F26ECD}"
7
EndProject
8
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DUtilUnitTest", "src\test\DUtilUnitTest\DUtilUnitTest.vcxproj", "{AB7EE608-E5FB-42A5-831F-0DEEEA141223}"
9
+EndProject
10
Global
11
GlobalSection(SolutionConfigurationPlatforms) = preSolution
12
Debug|ARM = Debug|ARM
@@ -33,6 +35,16 @@ Global
35
{1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x64.Build.0 = Release|x64
36
{1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.ActiveCfg = Release|Win32
37
{1244E671-F108-4334-BA52-8A7517F26ECD}.Release|x86.Build.0 = Release|Win32
38
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|ARM.ActiveCfg = Debug|Win32
39
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|ARM64.ActiveCfg = Debug|Win32
40
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x64.ActiveCfg = Debug|Win32
41
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.ActiveCfg = Debug|Win32
42
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Debug|x86.Build.0 = Debug|Win32
43
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|ARM.ActiveCfg = Release|Win32
44
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|ARM64.ActiveCfg = Release|Win32
45
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x64.ActiveCfg = Release|Win32
46
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.ActiveCfg = Release|Win32
47
+ {AB7EE608-E5FB-42A5-831F-0DEEEA141223}.Release|x86.Build.0 = Release|Win32
48
EndGlobalSection
49
GlobalSection(SolutionProperties) = preSolution
50
HideSolutionNode = FALSE
nuget.config
+1
@@ -2,6 +2,7 @@
2
<configuration>
3
<packageSources>
4
<clear />
5
+ <add key="wixbuildtools" value="https://ci.appveyor.com/nuget/wixbuildtools" />
6
<add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
7
</packageSources>
8
</configuration>
\ No newline at end of file
src/test/DUtilUnitTest/CondUtilTest.cpp
deleted
-190
@@ -1,190 +0,0 @@
1
-// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
-
3
-#include "precomp.h"
4
-
5
-namespace DutilTests
6
-{
7
- using namespace System;
8
- using namespace Xunit;
9
- using namespace WixTest;
10
-
11
- public ref class CondUtil
12
- {
13
- public:
14
- [NamedFact(Skip = "condutil Not Implemented Yet.")]
15
- void CondEvaluateTest()
16
- {
17
- HRESULT hr = S_OK;
18
- VARIABLES_HANDLE pVariables = NULL;
19
-
20
- try
21
- {
22
- hr = VarCreate(&pVariables);
23
- NativeAssert::Succeeded(hr, "Failed to initialize variables.");
24
-
25
- // set variables
26
- VarSetStringHelper(pVariables, L"PROP1", L"VAL1");
27
- VarSetStringHelper(pVariables, L"PROP2", L"VAL2");
28
- VarSetStringHelper(pVariables, L"PROP3", L"VAL3");
29
- VarSetStringHelper(pVariables, L"PROP4", L"BEGIN MID END");
30
- VarSetNumericHelper(pVariables, L"PROP5", 5);
31
- VarSetNumericHelper(pVariables, L"PROP6", 6);
32
- VarSetStringHelper(pVariables, L"PROP7", L"");
33
- VarSetNumericHelper(pVariables, L"PROP8", 0);
34
- VarSetStringHelper(pVariables, L"_PROP9", L"VAL9");
35
- VarSetNumericHelper(pVariables, L"PROP10", -10);
36
- VarSetNumericHelper(pVariables, L"PROP11", 9223372036854775807ll);
37
- VarSetNumericHelper(pVariables, L"PROP12", -9223372036854775808ll);
38
- VarSetNumericHelper(pVariables, L"PROP13", 0x00010000);
39
- VarSetNumericHelper(pVariables, L"PROP14", 0x00000001);
40
- VarSetNumericHelper(pVariables, L"PROP15", 0x00010001);
41
- VarSetVersionHelper(pVariables, L"PROP16", MAKEQWORDVERSION(0, 0, 0, 0));
42
- VarSetVersionHelper(pVariables, L"PROP17", MAKEQWORDVERSION(1, 0, 0, 0));
43
- VarSetVersionHelper(pVariables, L"PROP18", MAKEQWORDVERSION(1, 1, 0, 0));
44
- VarSetVersionHelper(pVariables, L"PROP19", MAKEQWORDVERSION(1, 1, 1, 0));
45
- VarSetVersionHelper(pVariables, L"PROP20", MAKEQWORDVERSION(1, 1, 1, 1));
46
- VarSetNumericHelper(pVariables, L"vPROP21", 1);
47
- VarSetVersionHelper(pVariables, L"PROP22", MAKEQWORDVERSION(65535, 65535, 65535, 65535));
48
- VarSetStringHelper(pVariables, L"PROP23", L"1.1.1");
49
-
50
- // test conditions
51
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1"));
52
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5"));
53
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP7"));
54
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP8"));
55
- Assert::True(EvaluateConditionHelper(pVariables, L"_PROP9"));
56
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP16"));
57
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17"));
58
-
59
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\""));
60
- Assert::False(EvaluateConditionHelper(pVariables, L"NONE = \"NOT\""));
61
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 <> \"VAL1\""));
62
- Assert::True(EvaluateConditionHelper(pVariables, L"NONE <> \"NOT\""));
63
-
64
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 ~= \"val1\""));
65
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"val1\""));
66
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 ~<> \"val1\""));
67
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 <> \"val1\""));
68
-
69
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 = 5"));
70
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 = 0"));
71
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 <> 5"));
72
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 <> 0"));
73
-
74
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP10 = -10"));
75
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP10 <> -10"));
76
-
77
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 = v1"));
78
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP17 = v0"));
79
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP17 <> v1"));
80
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 <> v0"));
81
-
82
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP16 = v0"));
83
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 = v1"));
84
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP18 = v1.1"));
85
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP19 = v1.1.1"));
86
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP20 = v1.1.1.1"));
87
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP20 = v1.1.1.1.0"));
88
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP20 = v1.1.1.1.1"));
89
- Assert::True(EvaluateConditionHelper(pVariables, L"vPROP21 = 1"));
90
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP23 = v1.1.1"));
91
- Assert::True(EvaluateConditionHelper(pVariables, L"v1.1.1 = PROP23"));
92
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 <> v1.1.1"));
93
- Assert::True(EvaluateConditionHelper(pVariables, L"v1.1.1 <> PROP1"));
94
-
95
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP11 = 9223372036854775806"));
96
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP11 = 9223372036854775807"));
97
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP11 = 9223372036854775808"));
98
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP11 = 92233720368547758070000"));
99
-
100
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP12 = -9223372036854775807"));
101
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP12 = -9223372036854775808"));
102
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP12 = -9223372036854775809"));
103
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP12 = -92233720368547758080000"));
104
-
105
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP22 = v65535.65535.65535.65535"));
106
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP22 = v65536.65535.65535.65535"));
107
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP22 = v65535.655350000.65535.65535"));
108
-
109
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 < 6"));
110
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 < 5"));
111
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 > 4"));
112
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 > 5"));
113
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 <= 6"));
114
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 <= 5"));
115
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 <= 4"));
116
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 >= 4"));
117
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 >= 5"));
118
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 >= 6"));
119
-
120
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP4 << \"BEGIN\""));
121
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP4 << \"END\""));
122
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP4 >> \"END\""));
123
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP4 >> \"BEGIN\""));
124
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP4 >< \"MID\""));
125
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP4 >< \"NONE\""));
126
-
127
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP16 < v1.1"));
128
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP16 < v0"));
129
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 > v0.12"));
130
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP17 > v1"));
131
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP18 >= v1.0"));
132
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP18 >= v1.1"));
133
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP18 >= v2.1"));
134
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP19 <= v1.1234.1"));
135
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP19 <= v1.1.1"));
136
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP19 <= v1.0.123"));
137
-
138
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP6 = \"6\""));
139
- Assert::True(EvaluateConditionHelper(pVariables, L"\"6\" = PROP6"));
140
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP6 = \"ABC\""));
141
- Assert::False(EvaluateConditionHelper(pVariables, L"\"ABC\" = PROP6"));
142
- Assert::False(EvaluateConditionHelper(pVariables, L"\"ABC\" = PROP6"));
143
-
144
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP13 << 1"));
145
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP13 << 0"));
146
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP14 >> 1"));
147
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP14 >> 0"));
148
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP15 >< 65537"));
149
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP15 >< 0"));
150
-
151
- Assert::False(EvaluateConditionHelper(pVariables, L"NOT PROP1"));
152
- Assert::True(EvaluateConditionHelper(pVariables, L"NOT (PROP1 <> \"VAL1\")"));
153
-
154
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"VAL2\""));
155
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"NOT\""));
156
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" AND PROP2 = \"VAL2\""));
157
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" AND PROP2 = \"NOT\""));
158
-
159
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" OR PROP2 = \"VAL2\""));
160
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" OR PROP2 = \"NOT\""));
161
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" OR PROP2 = \"VAL2\""));
162
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" OR PROP2 = \"NOT\""));
163
-
164
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"VAL2\" OR PROP3 = \"NOT\""));
165
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"NOT\" OR PROP3 = \"VAL3\""));
166
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"NOT\" OR PROP3 = \"NOT\""));
167
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND (PROP2 = \"NOT\" OR PROP3 = \"VAL3\")"));
168
- Assert::True(EvaluateConditionHelper(pVariables, L"(PROP1 = \"VAL1\" AND PROP2 = \"VAL2\") OR PROP3 = \"NOT\""));
169
-
170
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP3 = \"NOT\" OR PROP1 = \"VAL1\" AND PROP2 = \"VAL2\""));
171
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP3 = \"VAL3\" OR PROP1 = \"VAL1\" AND PROP2 = \"NOT\""));
172
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP3 = \"NOT\" OR PROP1 = \"VAL1\" AND PROP2 = \"NOT\""));
173
- Assert::True(EvaluateConditionHelper(pVariables, L"(PROP3 = \"NOT\" OR PROP1 = \"VAL1\") AND PROP2 = \"VAL2\""));
174
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP3 = \"NOT\" OR (PROP1 = \"VAL1\" AND PROP2 = \"VAL2\")"));
175
-
176
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"="));
177
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"(PROP1"));
178
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"(PROP1 = \""));
179
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"1A"));
180
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"*"));
181
-
182
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"1 == 1"));
183
- }
184
- finally
185
- {
186
- ReleaseVariables(pVariables);
187
- }
188
- }
189
- };
190
-}
src/test/DUtilUnitTest/DUtilUnitTest.vcxproj
+42
-20
@@ -2,7 +2,9 @@
2
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
3
4
5
-<Project DefaultTargets="Build" ToolsVersion="4.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\xunit.core.2.4.1\build\xunit.core.props" Condition="Exists('..\..\..\packages\xunit.core.2.4.1\build\xunit.core.props')" />
7
+ <Import Project="..\..\..\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props" Condition="Exists('..\..\..\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props')" />
8
<ItemGroup Label="ProjectConfigurations">
9
<ProjectConfiguration Include="Debug|Win32">
10
<Configuration>Debug</Configuration>
@@ -19,17 +21,19 @@
21
<RootNamespace>DUtilUnitTests</RootNamespace>
22
<Keyword>ManagedCProj</Keyword>
23
<ConfigurationType>DynamicLibrary</ConfigurationType>
24
+ <PlatformToolset>v142</PlatformToolset>
25
<CharacterSet>Unicode</CharacterSet>
26
<CLRSupport>true</CLRSupport>
27
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
28
</PropertyGroup>
25
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.props" />
29
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
30
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
31
<PropertyGroup>
27
- <ProjectAdditionalIncludeDirectories>$(WixRoot)src\libs\dutil\inc</ProjectAdditionalIncludeDirectories>
28
- <ProjectAdditionalLinkLibraries>rpcrt4.lib;dutil.lib;Mpr.lib;Ws2_32.lib;urlmon.lib;wininet.lib</ProjectAdditionalLinkLibraries>
32
+ <ProjectAdditionalIncludeDirectories>..\..\dutil\inc</ProjectAdditionalIncludeDirectories>
33
+ <ProjectAdditionalLinkLibraries>rpcrt4.lib;Mpr.lib;Ws2_32.lib;urlmon.lib;wininet.lib</ProjectAdditionalLinkLibraries>
34
</PropertyGroup>
35
<ItemGroup>
36
<ClCompile Include="AssemblyInfo.cpp" />
32
- <ClCompile Include="CondUtilTest.cpp" />
37
<ClCompile Include="DictUtilTest.cpp" />
38
<ClCompile Include="DirUtilTests.cpp" />
39
<ClCompile Include="FileUtilTest.cpp" />
@@ -38,36 +42,54 @@
42
<ClCompile Include="MemUtilTest.cpp" />
43
<ClCompile Include="MonUtilTest.cpp" />
44
<ClCompile Include="PathUtilTest.cpp" />
45
+ <ClCompile Include="precomp.cpp">
46
+ <PrecompiledHeader>Create</PrecompiledHeader>
47
+ <!-- Warnings from NativeAssert.h from referencing netstandard dlls -->
48
+ <DisableSpecificWarnings>4564;4691</DisableSpecificWarnings>
49
+ </ClCompile>
50
<ClCompile Include="SceUtilTest.cpp" Condition=" Exists('$(SqlCESdkIncludePath)') " />
51
<ClCompile Include="StrUtilTest.cpp" />
52
<ClCompile Include="UriUtilTest.cpp" />
44
- <ClCompile Include="VarHelpers.cpp" />
45
- <ClCompile Include="VarUtilTest.cpp" />
53
</ItemGroup>
54
<ItemGroup>
55
<ClInclude Include="precomp.h" />
56
<ClInclude Include="error.h" />
50
- <ClInclude Include="VarHelpers.h" />
57
+ <ClInclude Include="NativeAssert.h" />
58
</ItemGroup>
59
<ItemGroup>
60
+ <None Include="packages.config" />
61
<ResourceCompile Include="UnitTest.rc" />
62
</ItemGroup>
63
<ItemGroup>
64
<Reference Include="System" />
57
- <Reference Include="xunit">
58
- <HintPath>$(XunitPath)\xunit.dll</HintPath>
65
+ <Reference Include="System.Core" />
66
+ <Reference Include="xunit.abstractions">
67
+ <HintPath>..\..\..\packages\xunit.abstractions.2.0.3\lib\netstandard2.0\xunit.abstractions.dll</HintPath>
68
+ </Reference>
69
+ <Reference Include="xunit.assert">
70
+ <HintPath>..\..\..\packages\xunit.assert.2.4.1\lib\netstandard1.1\xunit.assert.dll</HintPath>
71
+ </Reference>
72
+ <Reference Include="xunit.core">
73
+ <HintPath>..\..\..\packages\xunit.extensibility.core.2.4.1\lib\netstandard1.1\xunit.core.dll</HintPath>
74
+ </Reference>
75
+ <Reference Include="xunit.execution.desktop">
76
+ <HintPath>..\..\..\packages\xunit.extensibility.execution.2.4.1\lib\net452\xunit.execution.desktop.dll</HintPath>
77
+ </Reference>
78
+ <Reference Include="WixBuildTools.TestSupport">
79
+ <HintPath>..\..\..\packages\WixBuildTools.TestSupport.4.0.37\lib\net472\WixBuildTools.TestSupport.dll</HintPath>
80
</Reference>
81
</ItemGroup>
82
<ItemGroup>
62
- <ProjectReference Include="..\..\..\..\src\libs\dutil\dutil.vcxproj" />
63
- <ProjectReference Include="..\..\WixCppCliTestTools\WixCppCliTestTools.vcxproj">
64
- <Project>{95BABD97-FBDB-453A-AF8A-FA031A07B599}</Project>
65
- <Name>WixCppCliTestTools</Name>
66
- </ProjectReference>
67
- <ProjectReference Include="..\..\WixTestTools\WixTestTools.csproj">
68
- <Project>{55CB1042-647B-4347-9876-3EA607AF8DCE}</Project>
69
- <Name>WixTestTools</Name>
70
- </ProjectReference>
83
+ <ProjectReference Include="..\..\dutil\dutil.vcxproj" />
84
</ItemGroup>
72
- <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildProjectDirectory), wix.proj))\tools\WixBuild.targets" />
85
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
86
+ <Import Project="..\..\..\packages\xunit.core.2.4.1\build\xunit.core.targets" Condition="Exists('..\..\..\packages\xunit.core.2.4.1\build\xunit.core.targets')" />
87
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
88
+ <PropertyGroup>
89
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
90
+ </PropertyGroup>
91
+ <Error Condition="!Exists('..\..\..\packages\xunit.core.2.4.1\build\xunit.core.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\xunit.core.2.4.1\build\xunit.core.props'))" />
92
+ <Error Condition="!Exists('..\..\..\packages\xunit.core.2.4.1\build\xunit.core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\xunit.core.2.4.1\build\xunit.core.targets'))" />
93
+ <Error Condition="!Exists('..\..\..\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\..\packages\xunit.runner.visualstudio.2.4.1\build\net20\xunit.runner.visualstudio.props'))" />
94
+ </Target>
95
</Project>
src/test/DUtilUnitTest/DUtilUnitTest.vcxproj.filters
+1
-10
@@ -18,9 +18,6 @@
18
<ClCompile Include="AssemblyInfo.cpp">
19
<Filter>Source Files</Filter>
20
</ClCompile>
21
- <ClCompile Include="CondUtilTest.cpp">
22
- <Filter>Source Files</Filter>
23
- </ClCompile>
21
<ClCompile Include="DictUtilTest.cpp">
22
<Filter>Source Files</Filter>
23
</ClCompile>
@@ -51,12 +48,6 @@
48
<ClCompile Include="UriUtilTest.cpp">
49
<Filter>Source Files</Filter>
50
</ClCompile>
54
- <ClCompile Include="VarHelpers.cpp">
55
- <Filter>Source Files</Filter>
56
- </ClCompile>
57
- <ClCompile Include="VarUtilTest.cpp">
58
- <Filter>Source Files</Filter>
59
- </ClCompile>
51
</ItemGroup>
52
<ItemGroup>
53
<ResourceCompile Include="UnitTest.rc">
@@ -70,7 +61,7 @@
61
<ClInclude Include="error.h">
62
<Filter>Header Files</Filter>
63
</ClInclude>
73
- <ClInclude Include="VarHelpers.h">
64
+ <ClInclude Include="NativeAssert.h">
65
<Filter>Header Files</Filter>
66
</ClInclude>
67
</ItemGroup>
src/test/DUtilUnitTest/DictUtilTest.cpp
+1
-1
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
const DWORD numIterations = 100000;
10
src/test/DUtilUnitTest/DirUtilTests.cpp
+2
-2
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
namespace DutilTests
10
{
@@ -32,7 +32,7 @@ namespace DutilTests
32
NativeAssert::Succeeded(hr, "Failed to combine current directory: '{0}' with Guid: '{1}'", sczCurrentDir, sczGuid);
33
34
BOOL fExists = DirExists(sczFolder, NULL);
35
- Assert::False(fExists);
35
+ Assert::False(fExists == TRUE);
36
37
hr = PathConcat(sczFolder, L"foo", &sczSubFolder);
38
NativeAssert::Succeeded(hr, "Failed to combine folder: '%ls' with subfolder: 'foo'", sczFolder);
src/test/DUtilUnitTest/FileUtilTest.cpp
+1
-1
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
namespace DutilTests
10
{
src/test/DUtilUnitTest/GuidUtilTest.cpp
+1
-1
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
namespace DutilTests
10
{
src/test/DUtilUnitTest/IniUtilTest.cpp
+1
-1
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
typedef HRESULT (__clrcall *IniFormatParameters)(
10
INI_HANDLE
src/test/DUtilUnitTest/MemUtilTest.cpp
+1
-1
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
namespace DutilTests
10
{
src/test/DUtilUnitTest/MonUtilTest.cpp
+2
-2
@@ -7,7 +7,7 @@ using namespace System;
7
using namespace System::Collections::Generic;
8
using namespace System::Runtime::InteropServices;
9
using namespace Xunit;
10
-using namespace WixTest;
10
+using namespace WixBuildTools::TestSupport;
11
12
namespace DutilTests
13
{
@@ -423,7 +423,7 @@ namespace DutilTests
423
}
424
}
425
426
- [Fact]
426
+ [Fact(Skip = "Test demonstrates failure")]
427
void MonUtilTest()
428
{
429
HRESULT hr = S_OK;
src/test/DUtilUnitTest/NativeAssert.h
+3
-1
@@ -2,7 +2,8 @@
2
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
4
5
-namespace WixTest {
5
+namespace WixBuildTools {
6
+namespace TestSupport {
7
8
using namespace System;
9
using namespace System::Collections::Generic;
@@ -81,3 +82,4 @@ namespace WixTest {
82
}
83
};
84
}
85
+}
src/test/DUtilUnitTest/PathUtilTest.cpp
+1
-1
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
namespace DutilTests
10
{
src/test/DUtilUnitTest/StrUtilTest.cpp
+1
-1
@@ -4,7 +4,7 @@
4
5
using namespace System;
6
using namespace Xunit;
7
-using namespace WixTest;
7
+using namespace WixBuildTools::TestSupport;
8
9
namespace DutilTests
10
{
src/test/DUtilUnitTest/UnitTest.rc
-1
@@ -4,4 +4,3 @@
4
#define VER_ORIGINAL_FILENAME "UnitTest.dll"
5
#define VER_INTERNAL_NAME "setup"
6
#define VER_FILE_DESCRIPTION "WiX Toolset Bootstrapper unit tests"
7
-#include "wix.rc"
src/test/DUtilUnitTest/VarHelpers.cpp
deleted
-147
@@ -1,147 +0,0 @@
1
-// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
-
3
-#include "precomp.h"
4
-
5
-
6
-namespace DutilTests
7
-{
8
- using namespace System;
9
- using namespace WixTest;
10
-
11
- void VarSetStringHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LPCWSTR wzValue)
12
- {
13
- HRESULT hr = S_OK;
14
-
15
- hr = VarSetString(pVariables, wzVariable, wzValue);
16
- NativeAssert::Succeeded(hr, "Failed to set {0} to: {1}", wzVariable, wzValue);
17
- }
18
-
19
- void VarSetNumericHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LONGLONG llValue)
20
- {
21
- HRESULT hr = S_OK;
22
-
23
- hr = VarSetNumeric(pVariables, wzVariable, llValue);
24
- NativeAssert::Succeeded(hr, gcnew String("Failed to set {0} to: {1}"), gcnew String(wzVariable), llValue);
25
- }
26
-
27
- void VarSetVersionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, DWORD64 qwValue)
28
- {
29
- HRESULT hr = S_OK;
30
-
31
- hr = VarSetVersion(pVariables, wzVariable, qwValue);
32
- NativeAssert::Succeeded(hr, gcnew String("Failed to set {0} to: 0x{1:X8}"), gcnew String(wzVariable), qwValue);
33
- }
34
-
35
- void VarGetStringHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LPCWSTR wzExpectedValue)
36
- {
37
- HRESULT hr = S_OK;
38
- LPWSTR scz = NULL;
39
-
40
- try
41
- {
42
- hr = VarGetString(pVariables, wzVariable, &scz);
43
- NativeAssert::Succeeded(hr, "Failed to get: {0}", wzVariable);
44
- NativeAssert::StringEqual(wzExpectedValue, scz);
45
- }
46
- finally
47
- {
48
- ReleaseStr(scz);
49
- }
50
- }
51
-
52
- void VarGetNumericHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LONGLONG llExpectedValue)
53
- {
54
- HRESULT hr = S_OK;
55
- LONGLONG llValue = 0;
56
-
57
- hr = VarGetNumeric(pVariables, wzVariable, &llValue);
58
- NativeAssert::Succeeded(hr, "Failed to get: {0}", wzVariable);
59
- NativeAssert::Equal(llExpectedValue, llValue);
60
- }
61
-
62
- void VarGetVersionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, DWORD64 qwExpectedValue)
63
- {
64
- HRESULT hr = S_OK;
65
- DWORD64 qwValue = 0;
66
-
67
- hr = VarGetVersion(pVariables, wzVariable, &qwValue);
68
- NativeAssert::Succeeded(hr, "Failed to get: {0}", wzVariable);
69
- NativeAssert::Equal(qwExpectedValue, qwValue);
70
- }
71
-
72
- void VarGetFormattedHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LPCWSTR wzExpectedValue)
73
- {
74
- HRESULT hr = S_OK;
75
- LPWSTR scz = NULL;
76
-
77
- try
78
- {
79
- hr = VarGetFormatted(pVariables, wzVariable, &scz);
80
- NativeAssert::Succeeded(hr, "Failed to get formatted: {0}", wzVariable);
81
- NativeAssert::StringEqual(wzExpectedValue, scz);
82
- }
83
- finally
84
- {
85
- ReleaseStr(scz);
86
- }
87
- }
88
-
89
- void VarFormatStringHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzIn, LPCWSTR wzExpectedValue)
90
- {
91
- HRESULT hr = S_OK;
92
- LPWSTR scz = NULL;
93
-
94
- try
95
- {
96
- hr = VarFormatString(pVariables, wzIn, &scz, NULL);
97
- NativeAssert::Succeeded(hr, "Failed to format string: '{0}'", wzIn);
98
- NativeAssert::StringEqual(wzExpectedValue, scz);
99
- }
100
- finally
101
- {
102
- ReleaseStr(scz);
103
- }
104
- }
105
-
106
- void VarEscapeStringHelper(LPCWSTR wzIn, LPCWSTR wzExpectedValue)
107
- {
108
- HRESULT hr = S_OK;
109
- LPWSTR scz = NULL;
110
-
111
- try
112
- {
113
- hr = VarEscapeString(wzIn, &scz);
114
- NativeAssert::Succeeded(hr, "Failed to escape string: '{0}'", wzIn);
115
- NativeAssert::StringEqual(wzExpectedValue, scz);
116
- }
117
- finally
118
- {
119
- ReleaseStr(scz);
120
- }
121
- }
122
-
123
- bool EvaluateConditionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzCondition)
124
- {
125
- HRESULT hr = S_OK;
126
- BOOL f = FALSE;
127
-
128
- hr = CondEvaluate(pVariables, wzCondition, &f);
129
- NativeAssert::Succeeded(hr, "Failed to evaluate condition: '{0}'", wzCondition);
130
-
131
- return f ? true : false;
132
- }
133
-
134
- bool EvaluateFailureConditionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzCondition)
135
- {
136
- HRESULT hr = S_OK;
137
- BOOL f = FALSE;
138
-
139
- hr = CondEvaluate(pVariables, wzCondition, &f);
140
- if (E_INVALIDDATA != hr)
141
- {
142
- NativeAssert::Succeeded(hr, "Failed to evaluate condition: '{0}'", wzCondition);
143
- }
144
-
145
- return E_INVALIDDATA == hr ? true : false;
146
- }
147
-}
src/test/DUtilUnitTest/VarHelpers.h
deleted
-20
@@ -1,20 +0,0 @@
1
-#pragma once
2
-// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
3
-
4
-
5
-namespace DutilTests
6
-{
7
-
8
-void VarSetStringHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LPCWSTR wzValue);
9
-void VarSetNumericHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LONGLONG llValue);
10
-void VarSetVersionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, DWORD64 qwValue);
11
-void VarGetStringHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LPCWSTR wzExpectedValue);
12
-void VarGetNumericHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LONGLONG llExpectedValue);
13
-void VarGetVersionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, DWORD64 qwExpectedValue);
14
-void VarGetFormattedHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzVariable, LPCWSTR wzExpectedValue);
15
-void VarFormatStringHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzIn, LPCWSTR wzExpectedValue);
16
-void VarEscapeStringHelper(LPCWSTR wzIn, LPCWSTR wzExpectedValue);
17
-bool EvaluateConditionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzCondition);
18
-bool EvaluateFailureConditionHelper(VARIABLES_HANDLE pVariables, LPCWSTR wzCondition);
19
-
20
-}
src/test/DUtilUnitTest/VarUtilTest.cpp
deleted
-532
@@ -1,532 +0,0 @@
1
-// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
-
3
-#include "precomp.h"
4
-#undef GetTempPath
5
-#undef GetEnvironmentVariable
6
-
7
-using namespace System;
8
-using namespace Xunit;
9
-using namespace WixTest;
10
-
11
-namespace DutilTests
12
-{
13
- typedef struct _VarUtilContext
14
- {
15
- DWORD dw;
16
- LPWSTR scz;
17
- } VarUtilContext;
18
-
19
- void FreeValueContext(LPVOID pvContext)
20
- {
21
- if (pvContext)
22
- {
23
- MemFree(pvContext);
24
- }
25
- }
26
-
27
- public ref class VarUtil
28
- {
29
- public:
30
- [NamedFact(Skip = "varutil Not Implemented Yet.")]
31
- void VarUtilBasicTest()
32
- {
33
- HRESULT hr = S_OK;
34
- VARIABLES_HANDLE pVariables = NULL;
35
-
36
- try
37
- {
38
- hr = VarCreate(&pVariables);
39
- NativeAssert::Succeeded(hr, "Failed to initialize variables.");
40
-
41
- // set variables
42
- VarSetStringHelper(pVariables, L"PROP1", L"VAL1");
43
- VarSetNumericHelper(pVariables, L"PROP2", 2);
44
- VarSetStringHelper(pVariables, L"PROP5", L"VAL5");
45
- VarSetStringHelper(pVariables, L"PROP3", L"VAL3");
46
- VarSetStringHelper(pVariables, L"PROP4", L"VAL4");
47
- VarSetStringHelper(pVariables, L"PROP6", L"VAL6");
48
- VarSetStringHelper(pVariables, L"PROP7", L"7");
49
- VarSetVersionHelper(pVariables, L"PROP8", MAKEQWORDVERSION(1, 1, 0, 0));
50
-
51
- // set overwritten variables
52
- VarSetStringHelper(pVariables, L"OVERWRITTEN_STRING", L"ORIGINAL");
53
- VarSetNumericHelper(pVariables, L"OVERWRITTEN_STRING", 42);
54
-
55
- VarSetNumericHelper(pVariables, L"OVERWRITTEN_NUMBER", 5);
56
- VarSetStringHelper(pVariables, L"OVERWRITTEN_NUMBER", L"NEW");
57
-
58
- // get and verify variable values
59
- VarGetStringHelper(pVariables, L"PROP1", L"VAL1");
60
- VarGetNumericHelper(pVariables, L"PROP2", 2);
61
- VarGetStringHelper(pVariables, L"PROP2", L"2");
62
- VarGetStringHelper(pVariables, L"PROP3", L"VAL3");
63
- VarGetStringHelper(pVariables, L"PROP4", L"VAL4");
64
- VarGetStringHelper(pVariables, L"PROP5", L"VAL5");
65
- VarGetStringHelper(pVariables, L"PROP6", L"VAL6");
66
- VarGetNumericHelper(pVariables, L"PROP7", 7);
67
- VarGetVersionHelper(pVariables, L"PROP8", MAKEQWORDVERSION(1, 1, 0, 0));
68
- VarGetStringHelper(pVariables, L"PROP8", L"1.1.0.0");
69
-
70
- VarGetNumericHelper(pVariables, L"OVERWRITTEN_STRING", 42);
71
- VarGetStringHelper(pVariables, L"OVERWRITTEN_NUMBER", L"NEW");
72
- }
73
- finally
74
- {
75
- ReleaseVariables(pVariables);
76
- }
77
- }
78
-
79
- [NamedFact(Skip = "varutil Not Implemented Yet.")]
80
- void VarUtilFormatTest()
81
- {
82
- HRESULT hr = S_OK;
83
- VARIABLES_HANDLE pVariables = NULL;
84
- LPWSTR scz = NULL;
85
- DWORD cch = 0;
86
- try
87
- {
88
- hr = VarCreate(&pVariables);
89
- NativeAssert::Succeeded(hr, "Failed to initialize variables.");
90
-
91
- // set variables
92
- VarSetStringHelper(pVariables, L"PROP1", L"VAL1");
93
- VarSetStringHelper(pVariables, L"PROP2", L"VAL2");
94
- VarSetNumericHelper(pVariables, L"PROP3", 3);
95
-
96
- // test string formatting
97
- VarFormatStringHelper(pVariables, L"NOPROP", L"NOPROP");
98
- VarFormatStringHelper(pVariables, L"[PROP1]", L"VAL1");
99
- VarFormatStringHelper(pVariables, L" [PROP1] ", L" VAL1 ");
100
- VarFormatStringHelper(pVariables, L"PRE [PROP1]", L"PRE VAL1");
101
- VarFormatStringHelper(pVariables, L"[PROP1] POST", L"VAL1 POST");
102
- VarFormatStringHelper(pVariables, L"PRE [PROP1] POST", L"PRE VAL1 POST");
103
- VarFormatStringHelper(pVariables, L"[PROP1] MID [PROP2]", L"VAL1 MID VAL2");
104
- VarFormatStringHelper(pVariables, L"[NONE]", L"");
105
- VarFormatStringHelper(pVariables, L"[prop1]", L"");
106
- VarFormatStringHelper(pVariables, L"[\\[]", L"[");
107
- VarFormatStringHelper(pVariables, L"[\\]]", L"]");
108
- VarFormatStringHelper(pVariables, L"[]", L"[]");
109
- VarFormatStringHelper(pVariables, L"[NONE", L"[NONE");
110
- VarGetFormattedHelper(pVariables, L"PROP2", L"VAL2");
111
- VarGetFormattedHelper(pVariables, L"PROP3", L"3");
112
-
113
- hr = VarFormatString(pVariables, L"PRE [PROP1] POST", &scz, &cch);
114
- NativeAssert::Succeeded(hr, "Failed to format string.");
115
-
116
- Assert::Equal<DWORD>(lstrlenW(scz), cch);
117
-
118
- hr = VarFormatString(pVariables, L"PRE [PROP1] POST", NULL, &cch);
119
- NativeAssert::Succeeded(hr, "Failed to format string.");
120
-
121
- Assert::Equal<DWORD>(lstrlenW(scz), cch);
122
- }
123
- finally
124
- {
125
- ReleaseVariables(pVariables);
126
- ReleaseStr(scz);
127
- }
128
- }
129
-
130
- [NamedFact(Skip = "varutil Not Implemented Yet.")]
131
- void VarUtilEscapeTest()
132
- {
133
- // test string escaping
134
- VarEscapeStringHelper(L"[", L"[\\[]");
135
- VarEscapeStringHelper(L"]", L"[\\]]");
136
- VarEscapeStringHelper(L" [TEXT] ", L" [\\[]TEXT[\\]] ");
137
- }
138
-
139
- [NamedFact(Skip = "varutil Not Implemented Yet.")]
140
- void VarUtilConditionTest()
141
- {
142
- HRESULT hr = S_OK;
143
- VARIABLES_HANDLE pVariables = NULL;
144
-
145
- try
146
- {
147
- hr = VarCreate(&pVariables);
148
- NativeAssert::Succeeded(hr, "Failed to initialize variables.");
149
-
150
- // set variables
151
- VarSetStringHelper(pVariables, L"PROP1", L"VAL1");
152
- VarSetStringHelper(pVariables, L"PROP2", L"VAL2");
153
- VarSetStringHelper(pVariables, L"PROP3", L"VAL3");
154
- VarSetStringHelper(pVariables, L"PROP4", L"BEGIN MID END");
155
- VarSetNumericHelper(pVariables, L"PROP5", 5);
156
- VarSetNumericHelper(pVariables, L"PROP6", 6);
157
- VarSetStringHelper(pVariables, L"PROP7", L"");
158
- VarSetNumericHelper(pVariables, L"PROP8", 0);
159
- VarSetStringHelper(pVariables, L"_PROP9", L"VAL9");
160
- VarSetNumericHelper(pVariables, L"PROP10", -10);
161
- VarSetNumericHelper(pVariables, L"PROP11", 9223372036854775807ll);
162
- VarSetNumericHelper(pVariables, L"PROP12", -9223372036854775808ll);
163
- VarSetNumericHelper(pVariables, L"PROP13", 0x00010000);
164
- VarSetNumericHelper(pVariables, L"PROP14", 0x00000001);
165
- VarSetNumericHelper(pVariables, L"PROP15", 0x00010001);
166
- VarSetVersionHelper(pVariables, L"PROP16", MAKEQWORDVERSION(0, 0, 0, 0));
167
- VarSetVersionHelper(pVariables, L"PROP17", MAKEQWORDVERSION(1, 0, 0, 0));
168
- VarSetVersionHelper(pVariables, L"PROP18", MAKEQWORDVERSION(1, 1, 0, 0));
169
- VarSetVersionHelper(pVariables, L"PROP19", MAKEQWORDVERSION(1, 1, 1, 0));
170
- VarSetVersionHelper(pVariables, L"PROP20", MAKEQWORDVERSION(1, 1, 1, 1));
171
- VarSetNumericHelper(pVariables, L"vPROP21", 1);
172
- VarSetVersionHelper(pVariables, L"PROP22", MAKEQWORDVERSION(65535, 65535, 65535, 65535));
173
- VarSetStringHelper(pVariables, L"PROP23", L"1.1.1");
174
-
175
- // test conditions
176
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1"));
177
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5"));
178
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP7"));
179
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP8"));
180
- Assert::True(EvaluateConditionHelper(pVariables, L"_PROP9"));
181
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP16"));
182
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17"));
183
-
184
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\""));
185
- Assert::False(EvaluateConditionHelper(pVariables, L"NONE = \"NOT\""));
186
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 <> \"VAL1\""));
187
- Assert::True(EvaluateConditionHelper(pVariables, L"NONE <> \"NOT\""));
188
-
189
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 ~= \"val1\""));
190
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"val1\""));
191
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 ~<> \"val1\""));
192
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 <> \"val1\""));
193
-
194
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 = 5"));
195
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 = 0"));
196
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 <> 5"));
197
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 <> 0"));
198
-
199
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP10 = -10"));
200
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP10 <> -10"));
201
-
202
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 = v1"));
203
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP17 = v0"));
204
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP17 <> v1"));
205
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 <> v0"));
206
-
207
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP16 = v0"));
208
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 = v1"));
209
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP18 = v1.1"));
210
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP19 = v1.1.1"));
211
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP20 = v1.1.1.1"));
212
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP20 = v1.1.1.1.0"));
213
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP20 = v1.1.1.1.1"));
214
- Assert::True(EvaluateConditionHelper(pVariables, L"vPROP21 = 1"));
215
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP23 = v1.1.1"));
216
- Assert::True(EvaluateConditionHelper(pVariables, L"v1.1.1 = PROP23"));
217
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 <> v1.1.1"));
218
- Assert::True(EvaluateConditionHelper(pVariables, L"v1.1.1 <> PROP1"));
219
-
220
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP11 = 9223372036854775806"));
221
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP11 = 9223372036854775807"));
222
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP11 = 9223372036854775808"));
223
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP11 = 92233720368547758070000"));
224
-
225
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP12 = -9223372036854775807"));
226
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP12 = -9223372036854775808"));
227
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP12 = -9223372036854775809"));
228
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP12 = -92233720368547758080000"));
229
-
230
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP22 = v65535.65535.65535.65535"));
231
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP22 = v65536.65535.65535.65535"));
232
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"PROP22 = v65535.655350000.65535.65535"));
233
-
234
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 < 6"));
235
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 < 5"));
236
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 > 4"));
237
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 > 5"));
238
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 <= 6"));
239
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 <= 5"));
240
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 <= 4"));
241
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 >= 4"));
242
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP5 >= 5"));
243
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP5 >= 6"));
244
-
245
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP4 << \"BEGIN\""));
246
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP4 << \"END\""));
247
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP4 >> \"END\""));
248
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP4 >> \"BEGIN\""));
249
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP4 >< \"MID\""));
250
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP4 >< \"NONE\""));
251
-
252
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP16 < v1.1"));
253
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP16 < v0"));
254
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP17 > v0.12"));
255
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP17 > v1"));
256
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP18 >= v1.0"));
257
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP18 >= v1.1"));
258
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP18 >= v2.1"));
259
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP19 <= v1.1234.1"));
260
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP19 <= v1.1.1"));
261
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP19 <= v1.0.123"));
262
-
263
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP6 = \"6\""));
264
- Assert::True(EvaluateConditionHelper(pVariables, L"\"6\" = PROP6"));
265
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP6 = \"ABC\""));
266
- Assert::False(EvaluateConditionHelper(pVariables, L"\"ABC\" = PROP6"));
267
- Assert::False(EvaluateConditionHelper(pVariables, L"\"ABC\" = PROP6"));
268
-
269
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP13 << 1"));
270
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP13 << 0"));
271
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP14 >> 1"));
272
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP14 >> 0"));
273
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP15 >< 65537"));
274
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP15 >< 0"));
275
-
276
- Assert::False(EvaluateConditionHelper(pVariables, L"NOT PROP1"));
277
- Assert::True(EvaluateConditionHelper(pVariables, L"NOT (PROP1 <> \"VAL1\")"));
278
-
279
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"VAL2\""));
280
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"NOT\""));
281
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" AND PROP2 = \"VAL2\""));
282
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" AND PROP2 = \"NOT\""));
283
-
284
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" OR PROP2 = \"VAL2\""));
285
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" OR PROP2 = \"NOT\""));
286
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" OR PROP2 = \"VAL2\""));
287
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"NOT\" OR PROP2 = \"NOT\""));
288
-
289
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"VAL2\" OR PROP3 = \"NOT\""));
290
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"NOT\" OR PROP3 = \"VAL3\""));
291
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND PROP2 = \"NOT\" OR PROP3 = \"NOT\""));
292
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP1 = \"VAL1\" AND (PROP2 = \"NOT\" OR PROP3 = \"VAL3\")"));
293
- Assert::True(EvaluateConditionHelper(pVariables, L"(PROP1 = \"VAL1\" AND PROP2 = \"VAL2\") OR PROP3 = \"NOT\""));
294
-
295
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP3 = \"NOT\" OR PROP1 = \"VAL1\" AND PROP2 = \"VAL2\""));
296
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP3 = \"VAL3\" OR PROP1 = \"VAL1\" AND PROP2 = \"NOT\""));
297
- Assert::False(EvaluateConditionHelper(pVariables, L"PROP3 = \"NOT\" OR PROP1 = \"VAL1\" AND PROP2 = \"NOT\""));
298
- Assert::True(EvaluateConditionHelper(pVariables, L"(PROP3 = \"NOT\" OR PROP1 = \"VAL1\") AND PROP2 = \"VAL2\""));
299
- Assert::True(EvaluateConditionHelper(pVariables, L"PROP3 = \"NOT\" OR (PROP1 = \"VAL1\" AND PROP2 = \"VAL2\")"));
300
-
301
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"="));
302
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"(PROP1"));
303
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"(PROP1 = \""));
304
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"1A"));
305
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"*"));
306
-
307
- Assert::True(EvaluateFailureConditionHelper(pVariables, L"1 == 1"));
308
- }
309
- finally
310
- {
311
- ReleaseVariables(pVariables);
312
- }
313
- }
314
-
315
- [NamedFact(Skip = "varutil Not Implemented Yet.")]
316
- void VarUtilValueTest()
317
- {
318
- HRESULT hr = S_OK;
319
- VARIABLES_HANDLE pVariables = NULL;
320
- VARIABLE_VALUE values[8];
321
-
322
- try
323
- {
324
- hr = VarCreate(&pVariables);
325
- NativeAssert::Succeeded(hr, "Failed to initialize variables.");
326
-
327
- // set variables
328
- InitNumericValue(pVariables, values + 0, 2, FALSE, 1, L"PROP1");
329
- InitStringValue(pVariables, values + 1, L"VAL2", FALSE, 2, L"PROP2");
330
- InitVersionValue(pVariables, values + 2, MAKEQWORDVERSION(1, 1, 0, 0), FALSE, 3, L"PROP3");
331
- InitNoneValue(pVariables, values + 3, FALSE, 4, L"PROP4");
332
- InitNoneValue(pVariables, values + 4, TRUE, 5, L"PROP5");
333
- InitVersionValue(pVariables, values + 5, MAKEQWORDVERSION(1, 1, 1, 0), TRUE, 6, L"PROP6");
334
- InitStringValue(pVariables, values + 6, L"7", TRUE, 7, L"PROP7");
335
- InitNumericValue(pVariables, values + 7, 11, TRUE, 8, L"PROP8");
336
-
337
- for (DWORD i = 0; i < 8; i++)
338
- {
339
- VerifyValue(pVariables, values + i);
340
- }
341
- }
342
- finally
343
- {
344
- VarDestroy(pVariables, FreeValueContext);
345
- }
346
- }
347
-
348
- [NamedFact(Skip = "varutil Not Implemented Yet.")]
349
- void VarUtilEnumTest()
350
- {
351
- HRESULT hr = S_OK;
352
- const DWORD dwIndex = 8;
353
- VARIABLES_HANDLE pVariables = NULL;
354
- VARIABLE_ENUM_HANDLE pEnum = NULL;
355
- VARIABLE_VALUE values[dwIndex];
356
- VARIABLE_VALUE* pValue = NULL;
357
-
358
- try
359
- {
360
- hr = VarCreate(&pVariables);
361
- NativeAssert::Succeeded(hr, "Failed to initialize variables.");
362
-
363
- hr = VarStartEnum(pVariables, &pEnum, &pValue);
364
- NativeAssert::ValidReturnCode(hr, E_NOMOREITEMS);
365
-
366
- // set variables
367
- InitNumericValue(pVariables, values + 0, 2, FALSE, 0, L"PROP1");
368
- InitStringValue(pVariables, values + 1, L"VAL2", FALSE, 0, L"PROP2");
369
- InitVersionValue(pVariables, values + 2, MAKEQWORDVERSION(1, 1, 0, 0), FALSE, 0, L"PROP3");
370
- InitNoneValue(pVariables, values + 3, FALSE, 0, L"PROP4");
371
- InitNoneValue(pVariables, values + 4, TRUE, 0, L"PROP5");
372
- InitVersionValue(pVariables, values + 5, MAKEQWORDVERSION(1, 1, 1, 0), TRUE, 0, L"PROP6");
373
- InitStringValue(pVariables, values + 6, L"7", TRUE, 0, L"PROP7");
374
- InitNumericValue(pVariables, values + 7, 11, TRUE, 0, L"PROP8");
375
-
376
- hr = VarStartEnum(pVariables, &pEnum, &pValue);
377
-
378
- for (DWORD i = dwIndex - 1; i; --i)
379
- {
380
- NativeAssert::ValidReturnCode(hr, S_OK);
381
-
382
- VarUtilContext* pContext = reinterpret_cast<VarUtilContext*>(pValue->pvContext);
383
- pContext->dw += 1;
384
-
385
- hr = VarNextVariable(pEnum, &pValue);
386
- }
387
-
388
- NativeAssert::ValidReturnCode(hr, E_NOMOREITEMS);
389
-
390
- for (DWORD j = 0; j < dwIndex; j++)
391
- {
392
- VarUtilContext* pContext = reinterpret_cast<VarUtilContext*>(values[j].pvContext);
393
- NativeAssert::Equal<DWORD>(1, pContext->dw);
394
- }
395
-
396
- VarFinishEnum(pEnum);
397
- pEnum = NULL;
398
-
399
- hr = VarStartEnum(pVariables, &pEnum, &pValue);
400
-
401
- for (DWORD i = dwIndex - 1; i; --i)
402
- {
403
- NativeAssert::ValidReturnCode(hr, S_OK);
404
-
405
- VarUtilContext* pContext = reinterpret_cast<VarUtilContext*>(pValue->pvContext);
406
- pContext->dw += 1;
407
-
408
- hr = VarNextVariable(pEnum, &pValue);
409
- }
410
-
411
- NativeAssert::ValidReturnCode(hr, E_NOMOREITEMS);
412
-
413
- for (DWORD j = 0; j < dwIndex; j++)
414
- {
415
- VarUtilContext* pContext = reinterpret_cast<VarUtilContext*>(values[j].pvContext);
416
- NativeAssert::Equal<DWORD>(2, pContext->dw);
417
- }
418
- }
419
- finally
420
- {
421
- VarFinishEnum(pEnum);
422
- ReleaseVariableValue(pValue);
423
- VarDestroy(pVariables, FreeValueContext);
424
- }
425
- }
426
-
427
- private:
428
- void InitNoneValue(VARIABLES_HANDLE pVariables, VARIABLE_VALUE* pValue, BOOL fHidden, DWORD dw, LPCWSTR wz)
429
- {
430
- pValue->type = VARIABLE_VALUE_TYPE_NONE;
431
- pValue->fHidden = fHidden;
432
-
433
- InitValueContext(pValue, dw, wz);
434
-
435
- HRESULT hr = VarSetValue(pVariables, wz, pValue);
436
- NativeAssert::Succeeded(hr, "Failed to set value for variable {0}", wz);
437
- }
438
-
439
- void InitNumericValue(VARIABLES_HANDLE pVariables, VARIABLE_VALUE* pValue, LONGLONG llValue, BOOL fHidden, DWORD dw, LPCWSTR wz)
440
- {
441
- pValue->type = VARIABLE_VALUE_TYPE_NUMERIC;
442
- pValue->fHidden = fHidden;
443
-
444
- pValue->llValue = llValue;
445
-
446
- InitValueContext(pValue, dw, wz);
447
-
448
- HRESULT hr = VarSetValue(pVariables, wz, pValue);
449
- NativeAssert::Succeeded(hr, "Failed to set value for variable {0}", wz);
450
- }
451
-
452
- void InitStringValue(VARIABLES_HANDLE pVariables, VARIABLE_VALUE* pValue, LPWSTR wzValue, BOOL fHidden, DWORD dw, LPCWSTR wz)
453
- {
454
- pValue->type = VARIABLE_VALUE_TYPE_STRING;
455
- pValue->fHidden = fHidden;
456
-
457
- HRESULT hr = StrAllocString(&pValue->sczValue, wzValue, 0);
458
- NativeAssert::Succeeded(hr, "Failed to alloc string: {0}", wzValue);
459
-
460
- InitValueContext(pValue, dw, wz);
461
-
462
- hr = VarSetValue(pVariables, wz, pValue);
463
- NativeAssert::Succeeded(hr, "Failed to set value for variable {0}", wz);
464
- }
465
-
466
- void InitVersionValue(VARIABLES_HANDLE pVariables, VARIABLE_VALUE* pValue, DWORD64 qwValue, BOOL fHidden, DWORD dw, LPCWSTR wz)
467
- {
468
- pValue->type = VARIABLE_VALUE_TYPE_VERSION;
469
- pValue->fHidden = fHidden;
470
-
471
- pValue->qwValue = qwValue;
472
-
473
- InitValueContext(pValue, dw, wz);
474
-
475
- HRESULT hr = VarSetValue(pVariables, wz, pValue);
476
- NativeAssert::Succeeded(hr, "Failed to set value for variable {0}", wz);
477
- }
478
-
479
- void InitValueContext(VARIABLE_VALUE* pValue, DWORD dw, LPCWSTR wz)
480
- {
481
- pValue->pvContext = MemAlloc(sizeof(VarUtilContext), TRUE);
482
- VarUtilContext* pContext = reinterpret_cast<VarUtilContext*>(pValue->pvContext);
483
- if (!pContext)
484
- {
485
- throw gcnew OutOfMemoryException();
486
- }
487
-
488
- pContext->dw = dw;
489
-
490
- HRESULT hr = StrAllocString(&pContext->scz, wz, 0);
491
- NativeAssert::Succeeded(hr, "Failed to alloc string: {0}", wz);
492
- }
493
-
494
- void VerifyValue(VARIABLES_HANDLE pVariables, VARIABLE_VALUE* pExpectedValue)
495
- {
496
- VARIABLE_VALUE* pActualValue = NULL;
497
-
498
- try
499
- {
500
- VarUtilContext* pExpectedContext = reinterpret_cast<VarUtilContext*>(pExpectedValue->pvContext);
501
- NativeAssert::True(NULL != pExpectedContext);
502
-
503
- HRESULT hr = VarGetValue(pVariables, pExpectedContext->scz, &pActualValue);
504
- NativeAssert::Succeeded(hr, "Failed to get value: {0}", pExpectedContext->scz);
505
-
506
- NativeAssert::Equal<DWORD>(pExpectedValue->type, pActualValue->type);
507
- NativeAssert::InRange<DWORD>(pExpectedValue->type, VARIABLE_VALUE_TYPE_NONE, VARIABLE_VALUE_TYPE_STRING);
508
-
509
- switch (pExpectedValue->type)
510
- {
511
- case VARIABLE_VALUE_TYPE_NONE:
512
- case VARIABLE_VALUE_TYPE_VERSION:
513
- NativeAssert::Equal(pExpectedValue->qwValue, pActualValue->qwValue);
514
- break;
515
- case VARIABLE_VALUE_TYPE_NUMERIC:
516
- NativeAssert::Equal(pExpectedValue->llValue, pActualValue->llValue);
517
- break;
518
- case VARIABLE_VALUE_TYPE_STRING:
519
- NativeAssert::StringEqual(pExpectedValue->sczValue, pActualValue->sczValue);
520
- break;
521
- }
522
-
523
- NativeAssert::Equal(pExpectedValue->fHidden, pActualValue->fHidden);
524
- NativeAssert::True(pExpectedValue->pvContext == pActualValue->pvContext);
525
- }
526
- finally
527
- {
528
- ReleaseVariableValue(pActualValue);
529
- }
530
- }
531
- };
532
-}
src/test/DUtilUnitTest/packages.config
+7
-1
@@ -3,5 +3,11 @@
3
4
5
<packages>
6
- <package id="xunit" version="1.9.1" targetFramework="net40" />
6
+ <package id="xunit.abstractions" version="2.0.3" />
7
+ <package id="xunit.assert" version="2.4.1" />
8
+ <package id="xunit.core" version="2.4.1" />
9
+ <package id="xunit.extensibility.core" version="2.4.1" />
10
+ <package id="xunit.extensibility.execution" version="2.4.1" />
11
+ <package id="xunit.runner.visualstudio" version="2.4.1" />
12
+ <package id="WixBuildTools.TestSupport" version="4.0.37" />
13
</packages>
src/test/DUtilUnitTest/precomp.h
+1
-3
@@ -21,10 +21,8 @@
21
#include <monutil.h>
22
#include <regutil.h>
23
#include <uriutil.h>
24
-#include <varutil.h>
25
-#include <condutil.h>
24
27
-#include "VarHelpers.h"
25
+#include "NativeAssert.h"
26
27
#pragma managed
28
#include <vcclr.h>