Skip to content

Commit fa4539c

Browse files
committed
Internal. Add basic test
1 parent da8b26c commit fa4539c

File tree

6 files changed

+375
-0
lines changed

6 files changed

+375
-0
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
.svn
22
.svnignore
3+
.vscode
34
.wsl
45
Descript.ion
56
premake5.exe

premake5.lua

+41
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ workspace "CE"
99

1010
startproject "ConEmu"
1111

12+
staticruntime "On"
1213
flags { "StaticRuntime", "Maps" }
1314
filter "configurations:Release"
1415
flags { "NoIncrementalLink" }
@@ -208,6 +209,46 @@ project "common-user"
208209

209210

210211

212+
-- ############################### --
213+
-- ############################### --
214+
-- ############################### --
215+
project "Tests"
216+
kind "ConsoleApp"
217+
language "C++"
218+
exceptionhandling "On"
219+
220+
files {
221+
"src/modules/googletest/googletest/src/gtest-all.cc",
222+
"src/UnitTests/*_test.cpp",
223+
}
224+
225+
includedirs {
226+
"src/modules/googletest/googletest/include",
227+
"src/modules/googletest/googletest",
228+
}
229+
230+
targetname ("Tests_%{cfg.buildcfg}_%{cfg.platform}")
231+
targetdir ("src/UnitTests")
232+
233+
links {
234+
-- "common-kernel",
235+
-- "common-user",
236+
"comctl32",
237+
"shlwapi",
238+
"version",
239+
"gdiplus",
240+
"winmm",
241+
"netapi32",
242+
}
243+
244+
objdir ("%{wks.location}/"..build_dir.."/%{cfg.buildcfg}/%{prj.name}_%{cfg.platform}")
245+
implibdir ("%{cfg.objdir}")
246+
247+
postbuildcommands {"$(SolutionDir)UnitTests\\Tests_%{cfg.buildcfg}_%{cfg.platform}.exe"}
248+
249+
filter {}
250+
-- end of "Tests"
251+
211252

212253
-- ############################### --
213254
-- ############################### --

src/Tests.vcxproj

+286
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,286 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup Label="ProjectConfigurations">
4+
<ProjectConfiguration Include="Release|Win32">
5+
<Configuration>Release</Configuration>
6+
<Platform>Win32</Platform>
7+
</ProjectConfiguration>
8+
<ProjectConfiguration Include="Release|x64">
9+
<Configuration>Release</Configuration>
10+
<Platform>x64</Platform>
11+
</ProjectConfiguration>
12+
<ProjectConfiguration Include="Debug|Win32">
13+
<Configuration>Debug</Configuration>
14+
<Platform>Win32</Platform>
15+
</ProjectConfiguration>
16+
<ProjectConfiguration Include="Debug|x64">
17+
<Configuration>Debug</Configuration>
18+
<Platform>x64</Platform>
19+
</ProjectConfiguration>
20+
<ProjectConfiguration Include="Remote|Win32">
21+
<Configuration>Remote</Configuration>
22+
<Platform>Win32</Platform>
23+
</ProjectConfiguration>
24+
<ProjectConfiguration Include="Remote|x64">
25+
<Configuration>Remote</Configuration>
26+
<Platform>x64</Platform>
27+
</ProjectConfiguration>
28+
</ItemGroup>
29+
<PropertyGroup Label="Globals">
30+
<ProjectGuid>{5865280E-C479-50BF-8DFB-F31EF9CE4CF0}</ProjectGuid>
31+
<IgnoreWarnCompileDuplicatedFilename>true</IgnoreWarnCompileDuplicatedFilename>
32+
<Keyword>Win32Proj</Keyword>
33+
<RootNamespace>Tests</RootNamespace>
34+
</PropertyGroup>
35+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
36+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
37+
<ConfigurationType>Application</ConfigurationType>
38+
<UseDebugLibraries>false</UseDebugLibraries>
39+
<CharacterSet>Unicode</CharacterSet>
40+
<PlatformToolset>v141_xp</PlatformToolset>
41+
</PropertyGroup>
42+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
43+
<ConfigurationType>Application</ConfigurationType>
44+
<UseDebugLibraries>false</UseDebugLibraries>
45+
<CharacterSet>Unicode</CharacterSet>
46+
<PlatformToolset>v141_xp</PlatformToolset>
47+
</PropertyGroup>
48+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
49+
<ConfigurationType>Application</ConfigurationType>
50+
<UseDebugLibraries>true</UseDebugLibraries>
51+
<CharacterSet>Unicode</CharacterSet>
52+
<PlatformToolset>v141_xp</PlatformToolset>
53+
</PropertyGroup>
54+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
55+
<ConfigurationType>Application</ConfigurationType>
56+
<UseDebugLibraries>true</UseDebugLibraries>
57+
<CharacterSet>Unicode</CharacterSet>
58+
<PlatformToolset>v141_xp</PlatformToolset>
59+
</PropertyGroup>
60+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Remote|Win32'" Label="Configuration">
61+
<ConfigurationType>Application</ConfigurationType>
62+
<UseDebugLibraries>true</UseDebugLibraries>
63+
<CharacterSet>Unicode</CharacterSet>
64+
<PlatformToolset>v141_xp</PlatformToolset>
65+
</PropertyGroup>
66+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Remote|x64'" Label="Configuration">
67+
<ConfigurationType>Application</ConfigurationType>
68+
<UseDebugLibraries>true</UseDebugLibraries>
69+
<CharacterSet>Unicode</CharacterSet>
70+
<PlatformToolset>v141_xp</PlatformToolset>
71+
</PropertyGroup>
72+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
73+
<ImportGroup Label="ExtensionSettings">
74+
</ImportGroup>
75+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
76+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
77+
</ImportGroup>
78+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
79+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
80+
</ImportGroup>
81+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
82+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
83+
</ImportGroup>
84+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
85+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
86+
</ImportGroup>
87+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Remote|Win32'">
88+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
89+
</ImportGroup>
90+
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Remote|x64'">
91+
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
92+
</ImportGroup>
93+
<PropertyGroup Label="UserMacros" />
94+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
95+
<LinkIncremental>false</LinkIncremental>
96+
<OutDir>UnitTests\</OutDir>
97+
<IntDir>_VCBUILD\Release\Tests_Win32\</IntDir>
98+
<TargetName>Tests_Release_Win32</TargetName>
99+
<TargetExt>.exe</TargetExt>
100+
</PropertyGroup>
101+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
102+
<LinkIncremental>false</LinkIncremental>
103+
<OutDir>UnitTests\</OutDir>
104+
<IntDir>_VCBUILD\Release\Tests_x64\</IntDir>
105+
<TargetName>Tests_Release_x64</TargetName>
106+
<TargetExt>.exe</TargetExt>
107+
</PropertyGroup>
108+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
109+
<LinkIncremental>true</LinkIncremental>
110+
<OutDir>UnitTests\</OutDir>
111+
<IntDir>_VCBUILD\Debug\Tests_Win32\</IntDir>
112+
<TargetName>Tests_Debug_Win32</TargetName>
113+
<TargetExt>.exe</TargetExt>
114+
</PropertyGroup>
115+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
116+
<LinkIncremental>true</LinkIncremental>
117+
<OutDir>UnitTests\</OutDir>
118+
<IntDir>_VCBUILD\Debug\Tests_x64\</IntDir>
119+
<TargetName>Tests_Debug_x64</TargetName>
120+
<TargetExt>.exe</TargetExt>
121+
</PropertyGroup>
122+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Remote|Win32'">
123+
<LinkIncremental>true</LinkIncremental>
124+
<OutDir>UnitTests\</OutDir>
125+
<IntDir>_VCBUILD\Remote\Tests_Win32\</IntDir>
126+
<TargetName>Tests_Remote_Win32</TargetName>
127+
<TargetExt>.exe</TargetExt>
128+
</PropertyGroup>
129+
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Remote|x64'">
130+
<LinkIncremental>true</LinkIncremental>
131+
<OutDir>UnitTests\</OutDir>
132+
<IntDir>_VCBUILD\Remote\Tests_x64\</IntDir>
133+
<TargetName>Tests_Remote_x64</TargetName>
134+
<TargetExt>.exe</TargetExt>
135+
</PropertyGroup>
136+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
137+
<ClCompile>
138+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
139+
<WarningLevel>Level3</WarningLevel>
140+
<PreprocessorDefinitions>WIN32;_WIN32;NDEBUG;HIDE_TODO;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
141+
<AdditionalIncludeDirectories>modules\googletest\googletest\include;modules\googletest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
142+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
143+
<Optimization>MinSpace</Optimization>
144+
<FunctionLevelLinking>true</FunctionLevelLinking>
145+
<IntrinsicFunctions>true</IntrinsicFunctions>
146+
<MinimalRebuild>false</MinimalRebuild>
147+
<StringPooling>true</StringPooling>
148+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
149+
<ExceptionHandling>Sync</ExceptionHandling>
150+
</ClCompile>
151+
<Link>
152+
<SubSystem>Console</SubSystem>
153+
<GenerateDebugInformation>true</GenerateDebugInformation>
154+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
155+
<OptimizeReferences>true</OptimizeReferences>
156+
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
157+
<GenerateMapFile>true</GenerateMapFile>
158+
</Link>
159+
<PostBuildEvent>
160+
<Command>$(SolutionDir)UnitTests\Tests_Release_Win32.exe</Command>
161+
</PostBuildEvent>
162+
</ItemDefinitionGroup>
163+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
164+
<ClCompile>
165+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
166+
<WarningLevel>Level3</WarningLevel>
167+
<PreprocessorDefinitions>WIN64;_WIN64;NDEBUG;HIDE_TODO;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
168+
<AdditionalIncludeDirectories>modules\googletest\googletest\include;modules\googletest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
169+
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
170+
<Optimization>MinSpace</Optimization>
171+
<FunctionLevelLinking>true</FunctionLevelLinking>
172+
<IntrinsicFunctions>true</IntrinsicFunctions>
173+
<MinimalRebuild>false</MinimalRebuild>
174+
<StringPooling>true</StringPooling>
175+
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
176+
<ExceptionHandling>Sync</ExceptionHandling>
177+
</ClCompile>
178+
<Link>
179+
<SubSystem>Console</SubSystem>
180+
<GenerateDebugInformation>true</GenerateDebugInformation>
181+
<EnableCOMDATFolding>true</EnableCOMDATFolding>
182+
<OptimizeReferences>true</OptimizeReferences>
183+
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
184+
<GenerateMapFile>true</GenerateMapFile>
185+
</Link>
186+
<PostBuildEvent>
187+
<Command>$(SolutionDir)UnitTests\Tests_Release_x64.exe</Command>
188+
</PostBuildEvent>
189+
</ItemDefinitionGroup>
190+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
191+
<ClCompile>
192+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
193+
<WarningLevel>Level3</WarningLevel>
194+
<PreprocessorDefinitions>WIN32;_WIN32;_DEBUG;HIDE_TODO;MSGLOGGER;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
195+
<AdditionalIncludeDirectories>modules\googletest\googletest\include;modules\googletest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
196+
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
197+
<Optimization>Disabled</Optimization>
198+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
199+
<ExceptionHandling>Sync</ExceptionHandling>
200+
</ClCompile>
201+
<Link>
202+
<SubSystem>Console</SubSystem>
203+
<GenerateDebugInformation>true</GenerateDebugInformation>
204+
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
205+
<GenerateMapFile>true</GenerateMapFile>
206+
</Link>
207+
<PostBuildEvent>
208+
<Command>$(SolutionDir)UnitTests\Tests_Debug_Win32.exe</Command>
209+
</PostBuildEvent>
210+
</ItemDefinitionGroup>
211+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
212+
<ClCompile>
213+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
214+
<WarningLevel>Level3</WarningLevel>
215+
<PreprocessorDefinitions>WIN64;_WIN64;_DEBUG;HIDE_TODO;MSGLOGGER;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
216+
<AdditionalIncludeDirectories>modules\googletest\googletest\include;modules\googletest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
217+
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
218+
<Optimization>Disabled</Optimization>
219+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
220+
<ExceptionHandling>Sync</ExceptionHandling>
221+
</ClCompile>
222+
<Link>
223+
<SubSystem>Console</SubSystem>
224+
<GenerateDebugInformation>true</GenerateDebugInformation>
225+
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
226+
<GenerateMapFile>true</GenerateMapFile>
227+
</Link>
228+
<PostBuildEvent>
229+
<Command>$(SolutionDir)UnitTests\Tests_Debug_x64.exe</Command>
230+
</PostBuildEvent>
231+
</ItemDefinitionGroup>
232+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Remote|Win32'">
233+
<ClCompile>
234+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
235+
<WarningLevel>Level3</WarningLevel>
236+
<PreprocessorDefinitions>WIN32;_WIN32;_DEBUG;HIDE_TODO;MSGLOGGER;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
237+
<AdditionalIncludeDirectories>modules\googletest\googletest\include;modules\googletest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
238+
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
239+
<Optimization>Disabled</Optimization>
240+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
241+
<ExceptionHandling>Sync</ExceptionHandling>
242+
</ClCompile>
243+
<Link>
244+
<SubSystem>Console</SubSystem>
245+
<GenerateDebugInformation>true</GenerateDebugInformation>
246+
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
247+
<GenerateMapFile>true</GenerateMapFile>
248+
</Link>
249+
<PostBuildEvent>
250+
<Command>$(SolutionDir)UnitTests\Tests_Remote_Win32.exe</Command>
251+
</PostBuildEvent>
252+
</ItemDefinitionGroup>
253+
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Remote|x64'">
254+
<ClCompile>
255+
<PrecompiledHeader>NotUsing</PrecompiledHeader>
256+
<WarningLevel>Level3</WarningLevel>
257+
<PreprocessorDefinitions>WIN64;_WIN64;_DEBUG;HIDE_TODO;MSGLOGGER;NOMINMAX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
258+
<AdditionalIncludeDirectories>modules\googletest\googletest\include;modules\googletest\googletest;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
259+
<DebugInformationFormat>EditAndContinue</DebugInformationFormat>
260+
<Optimization>Disabled</Optimization>
261+
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
262+
<ExceptionHandling>Sync</ExceptionHandling>
263+
</ClCompile>
264+
<Link>
265+
<SubSystem>Console</SubSystem>
266+
<GenerateDebugInformation>true</GenerateDebugInformation>
267+
<AdditionalDependencies>comctl32.lib;shlwapi.lib;version.lib;gdiplus.lib;winmm.lib;netapi32.lib;%(AdditionalDependencies)</AdditionalDependencies>
268+
<GenerateMapFile>true</GenerateMapFile>
269+
</Link>
270+
<PostBuildEvent>
271+
<Command>$(SolutionDir)UnitTests\Tests_Remote_x64.exe</Command>
272+
</PostBuildEvent>
273+
</ItemDefinitionGroup>
274+
<ItemGroup>
275+
<ClCompile Include="UnitTests\main_test.cpp" />
276+
<ClCompile Include="modules\googletest\googletest\src\gtest-all.cc" />
277+
</ItemGroup>
278+
<ItemGroup>
279+
<ProjectReference Include="common-kernel.vcxproj">
280+
<Project>{9CA77168-0868-ED9E-D1A2-361C3D22327B}</Project>
281+
</ProjectReference>
282+
</ItemGroup>
283+
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
284+
<ImportGroup Label="ExtensionTargets">
285+
</ImportGroup>
286+
</Project>

src/Tests.vcxproj.filters

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
<ItemGroup>
4+
<Filter Include="UnitTests">
5+
<UniqueIdentifier>{F8411ACB-64AC-CE41-ADEA-7FE71994AC96}</UniqueIdentifier>
6+
</Filter>
7+
<Filter Include="modules">
8+
<UniqueIdentifier>{FEAC8BD4-6A8C-0A70-73A4-9546DF0271D1}</UniqueIdentifier>
9+
</Filter>
10+
<Filter Include="modules\googletest">
11+
<UniqueIdentifier>{CA63A526-B647-667C-1FA8-60CF0BAB50FE}</UniqueIdentifier>
12+
</Filter>
13+
<Filter Include="modules\googletest\googletest">
14+
<UniqueIdentifier>{16C36F5D-82DB-5687-4B88-E620B75FEB20}</UniqueIdentifier>
15+
</Filter>
16+
<Filter Include="modules\googletest\googletest\src">
17+
<UniqueIdentifier>{2D1C4347-998A-98C6-E273-53C64E218E62}</UniqueIdentifier>
18+
</Filter>
19+
</ItemGroup>
20+
<ItemGroup>
21+
<ClCompile Include="UnitTests\main_test.cpp">
22+
<Filter>UnitTests</Filter>
23+
</ClCompile>
24+
<ClCompile Include="modules\googletest\googletest\src\gtest-all.cc">
25+
<Filter>modules\googletest\googletest\src</Filter>
26+
</ClCompile>
27+
</ItemGroup>
28+
</Project>

src/UnitTests/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
*.obj
22
*.log
33
*.fail
4+
*.ilk
45
/test1/Debug
56
/test1vc9

0 commit comments

Comments
 (0)