Moved deque unit test to gtest framework
authorkhizmax <libcds.dev@gmail.com>
Sat, 16 Jan 2016 15:53:26 +0000 (18:53 +0300)
committerkhizmax <libcds.dev@gmail.com>
Sat, 16 Jan 2016 15:53:26 +0000 (18:53 +0300)
17 files changed:
projects/Win/vc14/cds.sln
projects/Win/vc14/gtest-deque.vcxproj [new file with mode: 0644]
projects/Win/vc14/gtest-deque.vcxproj.filters [new file with mode: 0644]
projects/Win/vc14/gtest-pqueue.vcxproj
projects/Win/vc14/gtest-pqueue.vcxproj.filters
projects/Win/vc14/gtest-stack.vcxproj
projects/Win/vc14/gtest-stack.vcxproj.filters
projects/Win/vc14/hdr-test-deque.vcxproj [deleted file]
projects/source.test-hdr.mk
test/unit/CMakeLists.txt
test/unit/deque/CMakeLists.txt [new file with mode: 0644]
test/unit/deque/fcdeque.cpp [new file with mode: 0644]
test/unit/main.cpp [new file with mode: 0644]
test/unit/pqueue/CMakeLists.txt
test/unit/stack/CMakeLists.txt
tests/test-hdr/CMakeLists.txt
tests/test-hdr/deque/hdr_fcdeque.cpp [deleted file]

index 9404ae70a325154845182754bd8362c92569856a..9674e163e7c539bc36770156159a1de88b7dbf7d 100644 (file)
@@ -46,12 +46,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "single-threaded test", "sin
                ..\..\..\tests\test-hdr\size_check.h = ..\..\..\tests\test-hdr\size_check.h\r
        EndProjectSection\r
 EndProject\r
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hdr-test-deque", "hdr-test-deque.vcxproj", "{CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}"\r
-       ProjectSection(ProjectDependencies) = postProject\r
-               {61179F2F-07E1-490D-B64D-D85A90B6EF81} = {61179F2F-07E1-490D-B64D-D85A90B6EF81}\r
-               {408FE9BC-44F0-4E6A-89FA-D6F952584239} = {408FE9BC-44F0-4E6A-89FA-D6F952584239}\r
-       EndProjectSection\r
-EndProject\r
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hdr-test-map", "hdr-test-map.vcxproj", "{282E9A9A-386A-40FB-A483-994BACE24830}"\r
        ProjectSection(ProjectDependencies) = postProject\r
                {61179F2F-07E1-490D-B64D-D85A90B6EF81} = {61179F2F-07E1-490D-B64D-D85A90B6EF81}\r
@@ -200,6 +194,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cds_test", "cds_test", "{3A
                ..\..\..\test\include\cds_test\fixture.h = ..\..\..\test\include\cds_test\fixture.h\r
        EndProjectSection\r
 EndProject\r
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-deque", "gtest-deque.vcxproj", "{20A9F084-D01F-47E5-B775-4F4B48504FCC}"\r
+EndProject\r
 Global\r
        GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
                Debug|Win32 = Debug|Win32\r
@@ -270,18 +266,6 @@ Global
                {E29DE1F7-AE8D-4AE6-98B1-147E5103D974}.Release|Win32.Build.0 = Release|Win32\r
                {E29DE1F7-AE8D-4AE6-98B1-147E5103D974}.Release|x64.ActiveCfg = Release|x64\r
                {E29DE1F7-AE8D-4AE6-98B1-147E5103D974}.Release|x64.Build.0 = Release|x64\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Debug|Win32.ActiveCfg = Debug|Win32\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Debug|Win32.Build.0 = Debug|Win32\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Debug|x64.ActiveCfg = Debug|x64\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Debug|x64.Build.0 = Debug|x64\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.DebugVLD|Win32.ActiveCfg = DebugVLD|Win32\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.DebugVLD|Win32.Build.0 = DebugVLD|Win32\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.DebugVLD|x64.ActiveCfg = DebugVLD|x64\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.DebugVLD|x64.Build.0 = DebugVLD|x64\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Release|Win32.ActiveCfg = Release|Win32\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Release|Win32.Build.0 = Release|Win32\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Release|x64.ActiveCfg = Release|x64\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}.Release|x64.Build.0 = Release|x64\r
                {282E9A9A-386A-40FB-A483-994BACE24830}.Debug|Win32.ActiveCfg = Debug|Win32\r
                {282E9A9A-386A-40FB-A483-994BACE24830}.Debug|Win32.Build.0 = Debug|Win32\r
                {282E9A9A-386A-40FB-A483-994BACE24830}.Debug|x64.ActiveCfg = Debug|x64\r
@@ -498,6 +482,18 @@ Global
                {EAD522BF-E7DA-4A20-94FF-4D3EAF0A540A}.Release|Win32.Build.0 = Release|Win32\r
                {EAD522BF-E7DA-4A20-94FF-4D3EAF0A540A}.Release|x64.ActiveCfg = Release|x64\r
                {EAD522BF-E7DA-4A20-94FF-4D3EAF0A540A}.Release|x64.Build.0 = Release|x64\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Debug|Win32.ActiveCfg = Debug|Win32\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Debug|Win32.Build.0 = Debug|Win32\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Debug|x64.ActiveCfg = Debug|x64\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Debug|x64.Build.0 = Debug|x64\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.DebugVLD|Win32.ActiveCfg = DebugVLD|Win32\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.DebugVLD|Win32.Build.0 = DebugVLD|Win32\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.DebugVLD|x64.ActiveCfg = DebugVLD|x64\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.DebugVLD|x64.Build.0 = DebugVLD|x64\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Release|Win32.ActiveCfg = Release|Win32\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Release|Win32.Build.0 = Release|Win32\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Release|x64.ActiveCfg = Release|x64\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC}.Release|x64.Build.0 = Release|x64\r
        EndGlobalSection\r
        GlobalSection(SolutionProperties) = preSolution\r
                HideSolutionNode = FALSE\r
@@ -507,7 +503,6 @@ Global
                {77350FDC-9E51-438B-9A8F-D2FEA11D46B2} = {B30CA283-1796-4763-92C3-2E4848D443F7}\r
                {6C15AF8A-4A99-49F9-BCF0-1BF36771099A} = {B30CA283-1796-4763-92C3-2E4848D443F7}\r
                {E29DE1F7-AE8D-4AE6-98B1-147E5103D974} = {B30CA283-1796-4763-92C3-2E4848D443F7}\r
-               {CD0BC7FC-9BFF-40B0-8E66-99D244A8A026} = {B8C24D26-A3BF-4DA6-B64C-142CBA4BFE75}\r
                {282E9A9A-386A-40FB-A483-994BACE24830} = {B8C24D26-A3BF-4DA6-B64C-142CBA4BFE75}\r
                {C5E76975-B87B-4B9E-8596-B01DDA683FCA} = {B8C24D26-A3BF-4DA6-B64C-142CBA4BFE75}\r
                {EFCBBADE-2CF4-4E2B-ADB2-98C8D139E805} = {B8C24D26-A3BF-4DA6-B64C-142CBA4BFE75}\r
@@ -528,6 +523,7 @@ Global
                {DE256E91-EE96-412E-82EE-DD7BD1A1130D} = {A64449B7-90FB-4E2B-A686-9EFC0E298644}\r
                {5407E9D2-67D9-4266-976E-7A90BDE2541D} = {810490B7-31E5-49AE-8455-CAF99A9658B6}\r
                {EAD522BF-E7DA-4A20-94FF-4D3EAF0A540A} = {810490B7-31E5-49AE-8455-CAF99A9658B6}\r
+               {20A9F084-D01F-47E5-B775-4F4B48504FCC} = {810490B7-31E5-49AE-8455-CAF99A9658B6}\r
        EndGlobalSection\r
        GlobalSection(DPCodeReviewSolutionGUID) = preSolution\r
                DPCodeReviewSolutionGUID = {00000000-0000-0000-0000-000000000000}\r
diff --git a/projects/Win/vc14/gtest-deque.vcxproj b/projects/Win/vc14/gtest-deque.vcxproj
new file mode 100644 (file)
index 0000000..2aaeadb
--- /dev/null
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup Label="ProjectConfigurations">\r
+    <ProjectConfiguration Include="DebugVLD|Win32">\r
+      <Configuration>DebugVLD</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="DebugVLD|x64">\r
+      <Configuration>DebugVLD</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|Win32">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|Win32">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>Win32</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Debug|x64">\r
+      <Configuration>Debug</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+    <ProjectConfiguration Include="Release|x64">\r
+      <Configuration>Release</Configuration>\r
+      <Platform>x64</Platform>\r
+    </ProjectConfiguration>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClCompile Include="..\..\..\test\unit\deque\fcdeque.cpp" />\r
+    <ClCompile Include="..\..\..\test\unit\main.cpp" />\r
+  </ItemGroup>\r
+  <PropertyGroup Label="Globals">\r
+    <ProjectGuid>{20A9F084-D01F-47E5-B775-4F4B48504FCC}</ProjectGuid>\r
+    <Keyword>Win32Proj</Keyword>\r
+    <RootNamespace>stack</RootNamespace>\r
+    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>true</UseDebugLibraries>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
+    <ConfigurationType>Application</ConfigurationType>\r
+    <UseDebugLibraries>false</UseDebugLibraries>\r
+    <PlatformToolset>v140</PlatformToolset>\r
+    <WholeProgramOptimization>true</WholeProgramOptimization>\r
+    <CharacterSet>Unicode</CharacterSet>\r
+  </PropertyGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
+  <ImportGroup Label="ExtensionSettings">\r
+  </ImportGroup>\r
+  <ImportGroup Label="Shared">\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'" Label="PropertySheets">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
+  </ImportGroup>\r
+  <PropertyGroup Label="UserMacros" />\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <LinkIncremental>true</LinkIncremental>\r
+    <OutDir>$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
+    <IntDir>$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <TargetName>$(ProjectName)_d</TargetName>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">\r
+    <LinkIncremental>true</LinkIncremental>\r
+    <OutDir>$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
+    <IntDir>$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <TargetName>$(ProjectName)_d</TargetName>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <LinkIncremental>true</LinkIncremental>\r
+    <OutDir>$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
+    <IntDir>$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <TargetName>$(ProjectName)_d</TargetName>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">\r
+    <LinkIncremental>true</LinkIncremental>\r
+    <OutDir>$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
+    <IntDir>$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <TargetName>$(ProjectName)_d</TargetName>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <LinkIncremental>false</LinkIncremental>\r
+    <OutDir>$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)-release\</OutDir>\r
+    <IntDir>$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <LinkIncremental>false</LinkIncremental>\r
+    <OutDir>$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)-release\</OutDir>\r
+    <IntDir>$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
+  </PropertyGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
+    <ClCompile>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <Optimization>Disabled</Optimization>\r
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(GTEST_ROOT)/include;$(SolutionDir)..\..\..\test\include;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <AdditionalLibraryDirectories>$(GTEST_LIB32);$(GTEST_ROOT)/lib/x86;$(BOOST_PATH)/stage32/lib;$(BOOST_PATH)/stage/lib;$(BOOST_PATH)/bin;%(AdditionalLibraryDirectories);$(OutDir)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>gtestd.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">\r
+    <ClCompile>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <Optimization>Disabled</Optimization>\r
+      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(GTEST_ROOT)/include;$(SolutionDir)..\..\..\test\include;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <AdditionalLibraryDirectories>$(GTEST_LIB32);$(GTEST_ROOT)/lib/x86;$(BOOST_PATH)/stage32/lib;$(BOOST_PATH)/stage/lib;$(BOOST_PATH)/bin;%(AdditionalLibraryDirectories);$(OutDir)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>gtestd.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
+    <ClCompile>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <Optimization>Disabled</Optimization>\r
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(GTEST_ROOT)/include;$(SolutionDir)..\..\..\test\include;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <AdditionalLibraryDirectories>$(GTEST_LIB64);$(GTEST_ROOT)/lib/x64;$(BOOST_PATH)/stage64/lib;$(BOOST_PATH)/bin;%(AdditionalLibraryDirectories);$(OutDir)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>gtestd.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">\r
+    <ClCompile>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <Optimization>Disabled</Optimization>\r
+      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(GTEST_ROOT)/include;$(SolutionDir)..\..\..\test\include;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <AdditionalLibraryDirectories>$(GTEST_LIB64);$(GTEST_ROOT)/lib/x64;$(BOOST_PATH)/stage64/lib;$(BOOST_PATH)/bin;%(AdditionalLibraryDirectories);$(OutDir)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>gtestd.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
+    <ClCompile>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <Optimization>MaxSpeed</Optimization>\r
+      <FunctionLevelLinking>true</FunctionLevelLinking>\r
+      <IntrinsicFunctions>true</IntrinsicFunctions>\r
+      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(GTEST_ROOT)/include;$(SolutionDir)..\..\..\test\include;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+      <OptimizeReferences>true</OptimizeReferences>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <AdditionalLibraryDirectories>$(GTEST_LIB32);$(GTEST_ROOT)/lib/x86;$(BOOST_PATH)/stage32/lib;$(BOOST_PATH)/stage/lib;$(BOOST_PATH)/bin;%(AdditionalLibraryDirectories);$(OutDir)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>gtest.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
+    <ClCompile>\r
+      <WarningLevel>Level3</WarningLevel>\r
+      <PrecompiledHeader>\r
+      </PrecompiledHeader>\r
+      <Optimization>MaxSpeed</Optimization>\r
+      <FunctionLevelLinking>true</FunctionLevelLinking>\r
+      <IntrinsicFunctions>true</IntrinsicFunctions>\r
+      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(GTEST_ROOT)/include;$(SolutionDir)..\..\..\test\include;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+    </ClCompile>\r
+    <Link>\r
+      <SubSystem>Console</SubSystem>\r
+      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
+      <OptimizeReferences>true</OptimizeReferences>\r
+      <GenerateDebugInformation>true</GenerateDebugInformation>\r
+      <AdditionalLibraryDirectories>$(GTEST_LIB64);$(GTEST_ROOT)/lib/x64;$(BOOST_PATH)/stage64/lib;$(BOOST_PATH)/bin;%(AdditionalLibraryDirectories);$(OutDir)</AdditionalLibraryDirectories>\r
+      <AdditionalDependencies>gtest.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+    </Link>\r
+  </ItemDefinitionGroup>\r
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
+  <ImportGroup Label="ExtensionTargets">\r
+  </ImportGroup>\r
+</Project>
\ No newline at end of file
diff --git a/projects/Win/vc14/gtest-deque.vcxproj.filters b/projects/Win/vc14/gtest-deque.vcxproj.filters
new file mode 100644 (file)
index 0000000..f8df4a7
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <ItemGroup>\r
+    <Filter Include="Source Files">\r
+      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\r
+      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\r
+    </Filter>\r
+    <Filter Include="Header Files">\r
+      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\r
+      <Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>\r
+    </Filter>\r
+    <Filter Include="Resource Files">\r
+      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\r
+      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>\r
+    </Filter>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <ClCompile Include="..\..\..\test\unit\main.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
+    <ClCompile Include="..\..\..\test\unit\deque\fcdeque.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
+  </ItemGroup>\r
+</Project>
\ No newline at end of file
index 7aa5b94499a6196818096b728dfa696a8969e4fd..1348a7829aa167d87a89f2c0b103016e322d1dc9 100644 (file)
     </ProjectConfiguration>\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <ClCompile Include="..\..\..\test\unit\main.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\pqueue\fcpqueue_boost_stable_vector.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\pqueue\fcpqueue_deque.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\pqueue\fcpqueue_vector.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\pqueue\intrusive_mspqueue.cpp" />\r
-    <ClCompile Include="..\..\..\test\unit\pqueue\main.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\pqueue\mspqueue.cpp" />\r
   </ItemGroup>\r
   <ItemGroup>\r
index 228156a96c28df14dbaaae2744c1dd0d9ff97293..d7dd05810a023d9c9ca3ab891ea78a294b3b8ae9 100644 (file)
@@ -15,9 +15,6 @@
     </Filter>\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <ClCompile Include="..\..\..\test\unit\pqueue\main.cpp">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
     <ClCompile Include="..\..\..\test\unit\pqueue\fcpqueue_vector.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
@@ -33,6 +30,9 @@
     <ClCompile Include="..\..\..\test\unit\pqueue\intrusive_mspqueue.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="..\..\..\test\unit\main.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\..\..\test\unit\pqueue\test_fcpqueue.h">\r
index 3741d2e1e107bcc18660eca20dc0c6dd5ef5633a..39cd7ea88bae81532dba28125604048518df7794 100644 (file)
     </ProjectConfiguration>\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <ClCompile Include="..\..\..\test\unit\main.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\stack\fcstack.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\stack\intrusive_fcstack.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\stack\intrusive_treiber_stack_dhp.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\stack\intrusive_treiber_stack_hp.cpp" />\r
-    <ClCompile Include="..\..\..\test\unit\stack\main.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\stack\treiber_stack_dhp.cpp" />\r
     <ClCompile Include="..\..\..\test\unit\stack\treiber_stack_hp.cpp" />\r
   </ItemGroup>\r
index 621b653ce9299aebefe58510c46f202e7d428b50..86b7995ac54b296f847ce2f48517f49cc187cd05 100644 (file)
@@ -18,9 +18,6 @@
     <ClCompile Include="..\..\..\test\unit\stack\fcstack.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
-    <ClCompile Include="..\..\..\test\unit\stack\main.cpp">\r
-      <Filter>Source Files</Filter>\r
-    </ClCompile>\r
     <ClCompile Include="..\..\..\test\unit\stack\intrusive_fcstack.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
@@ -36,6 +33,9 @@
     <ClCompile Include="..\..\..\test\unit\stack\treiber_stack_dhp.cpp">\r
       <Filter>Source Files</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="..\..\..\test\unit\main.cpp">\r
+      <Filter>Source Files</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\..\..\test\unit\stack\test_intrusive_treiber_stack.h">\r
diff --git a/projects/Win/vc14/hdr-test-deque.vcxproj b/projects/Win/vc14/hdr-test-deque.vcxproj
deleted file mode 100644 (file)
index 2161382..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <ItemGroup Label="ProjectConfigurations">\r
-    <ProjectConfiguration Include="DebugVLD|Win32">\r
-      <Configuration>DebugVLD</Configuration>\r
-      <Platform>Win32</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="DebugVLD|x64">\r
-      <Configuration>DebugVLD</Configuration>\r
-      <Platform>x64</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="Debug|Win32">\r
-      <Configuration>Debug</Configuration>\r
-      <Platform>Win32</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="Debug|x64">\r
-      <Configuration>Debug</Configuration>\r
-      <Platform>x64</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="Release|Win32">\r
-      <Configuration>Release</Configuration>\r
-      <Platform>Win32</Platform>\r
-    </ProjectConfiguration>\r
-    <ProjectConfiguration Include="Release|x64">\r
-      <Configuration>Release</Configuration>\r
-      <Platform>x64</Platform>\r
-    </ProjectConfiguration>\r
-  </ItemGroup>\r
-  <PropertyGroup Label="Globals">\r
-    <ProjectGuid>{CD0BC7FC-9BFF-40B0-8E66-99D244A8A026}</ProjectGuid>\r
-    <RootNamespace>hdrtestdeque</RootNamespace>\r
-    <Keyword>Win32Proj</Keyword>\r
-    <WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>\r
-  </PropertyGroup>\r
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'" Label="Configuration">\r
-    <ConfigurationType>Application</ConfigurationType>\r
-    <CharacterSet>MultiByte</CharacterSet>\r
-    <PlatformToolset>v140</PlatformToolset>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">\r
-    <ConfigurationType>Application</ConfigurationType>\r
-    <CharacterSet>MultiByte</CharacterSet>\r
-    <WholeProgramOptimization>true</WholeProgramOptimization>\r
-    <PlatformToolset>v140</PlatformToolset>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">\r
-    <ConfigurationType>Application</ConfigurationType>\r
-    <CharacterSet>MultiByte</CharacterSet>\r
-    <PlatformToolset>v140</PlatformToolset>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'" Label="Configuration">\r
-    <ConfigurationType>Application</ConfigurationType>\r
-    <CharacterSet>MultiByte</CharacterSet>\r
-    <PlatformToolset>v140</PlatformToolset>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">\r
-    <ConfigurationType>Application</ConfigurationType>\r
-    <CharacterSet>MultiByte</CharacterSet>\r
-    <WholeProgramOptimization>true</WholeProgramOptimization>\r
-    <PlatformToolset>v140</PlatformToolset>\r
-  </PropertyGroup>\r
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">\r
-    <ConfigurationType>Application</ConfigurationType>\r
-    <CharacterSet>MultiByte</CharacterSet>\r
-    <PlatformToolset>v140</PlatformToolset>\r
-  </PropertyGroup>\r
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
-  <ImportGroup Label="ExtensionSettings">\r
-  </ImportGroup>\r
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'" Label="PropertySheets">\r
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
-  </ImportGroup>\r
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">\r
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
-  </ImportGroup>\r
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">\r
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
-  </ImportGroup>\r
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'" Label="PropertySheets">\r
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
-  </ImportGroup>\r
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">\r
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
-  </ImportGroup>\r
-  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">\r
-    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
-  </ImportGroup>\r
-  <PropertyGroup Label="UserMacros" />\r
-  <PropertyGroup>\r
-    <_ProjectFileVersion>10.0.40219.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)-release\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)-release\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">$(SolutionDir)..\..\..\bin\vc.$(PlatformToolset)\$(Platform)\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">$(SolutionDir)..\..\..\obj\vc.$(PlatformToolset)\$(Platform)\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">false</LinkIncremental>\r
-    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>\r
-    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'" />\r
-    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'" />\r
-    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">AllRules.ruleset</CodeAnalysisRuleSet>\r
-    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'" />\r
-    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'" />\r
-    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>\r
-    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />\r
-    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" />\r
-    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">AllRules.ruleset</CodeAnalysisRuleSet>\r
-    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />\r
-    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" />\r
-    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>\r
-    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />\r
-    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" />\r
-    <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet>\r
-    <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />\r
-    <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" />\r
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(ProjectName)_d</TargetName>\r
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(ProjectName)_d</TargetName>\r
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">$(ProjectName)_d</TargetName>\r
-    <TargetName Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">$(ProjectName)_d</TargetName>\r
-  </PropertyGroup>\r
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
-    <ClCompile>\r
-      <AdditionalOptions>/bigobj /Zc:inline %(AdditionalOptions)</AdditionalOptions>\r
-      <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(SolutionDir)..\..\..\tests\test-hdr;$(SolutionDir)..\..\..\tests;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;_SCL_SECURE=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
-      <MinimalRebuild>true</MinimalRebuild>\r
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
-      <PrecompiledHeader>\r
-      </PrecompiledHeader>\r
-      <WarningLevel>Level3</WarningLevel>\r
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
-      <CallingConvention>Cdecl</CallingConvention>\r
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
-      <DisableSpecificWarnings>4520</DisableSpecificWarnings>\r
-    </ClCompile>\r
-    <Link>\r
-      <AdditionalDependencies>unit-prerequisites_d.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <OutputFile>$(TargetPath)</OutputFile>\r
-      <AdditionalLibraryDirectories>$(BOOST_PATH)/stage32/lib;$(BOOST_PATH)/stage/lib;$(BOOST_PATH)/bin;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <SubSystem>Console</SubSystem>\r
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
-      <DataExecutionPrevention>\r
-      </DataExecutionPrevention>\r
-      <TargetMachine>MachineX86</TargetMachine>\r
-      <ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>\r
-    </Link>\r
-  </ItemDefinitionGroup>\r
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
-    <Midl>\r
-      <TargetEnvironment>X64</TargetEnvironment>\r
-    </Midl>\r
-    <ClCompile>\r
-      <AdditionalOptions>/bigobj /Zc:inline %(AdditionalOptions)</AdditionalOptions>\r
-      <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(SolutionDir)..\..\..\tests\test-hdr;$(SolutionDir)..\..\..\tests;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;_SCL_SECURE=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
-      <MinimalRebuild>true</MinimalRebuild>\r
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
-      <PrecompiledHeader>\r
-      </PrecompiledHeader>\r
-      <WarningLevel>Level3</WarningLevel>\r
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
-      <CallingConvention>Cdecl</CallingConvention>\r
-      <DisableSpecificWarnings>4520</DisableSpecificWarnings>\r
-    </ClCompile>\r
-    <Link>\r
-      <AdditionalDependencies>unit-prerequisites_d.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <OutputFile>$(TargetPath)</OutputFile>\r
-      <AdditionalLibraryDirectories>$(BOOST_PATH)/stage64/lib;$(BOOST_PATH)/bin;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <SubSystem>Console</SubSystem>\r
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
-      <DataExecutionPrevention>\r
-      </DataExecutionPrevention>\r
-      <TargetMachine>MachineX64</TargetMachine>\r
-      <ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>\r
-    </Link>\r
-  </ItemDefinitionGroup>\r
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
-    <ClCompile>\r
-      <AdditionalOptions>/bigobj /Zc:inline %(AdditionalOptions)</AdditionalOptions>\r
-      <Optimization>Full</Optimization>\r
-      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
-      <IntrinsicFunctions>true</IntrinsicFunctions>\r
-      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
-      <OmitFramePointers>false</OmitFramePointers>\r
-      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(SolutionDir)..\..\..\tests\test-hdr;$(SolutionDir)..\..\..\tests;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0500;_SCL_SECURE=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
-      <StringPooling>true</StringPooling>\r
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
-      <PrecompiledHeader>\r
-      </PrecompiledHeader>\r
-      <WarningLevel>Level3</WarningLevel>\r
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
-      <CallingConvention>Cdecl</CallingConvention>\r
-      <EnablePREfast>false</EnablePREfast>\r
-      <DisableSpecificWarnings>4520</DisableSpecificWarnings>\r
-    </ClCompile>\r
-    <Link>\r
-      <AdditionalDependencies>unit-prerequisites.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <OutputFile>$(TargetPath)</OutputFile>\r
-      <AdditionalLibraryDirectories>$(BOOST_PATH)/stage32/lib;$(BOOST_PATH)/stage/lib;$(BOOST_PATH)/bin;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <SubSystem>Console</SubSystem>\r
-      <OptimizeReferences>true</OptimizeReferences>\r
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
-      <DataExecutionPrevention>\r
-      </DataExecutionPrevention>\r
-      <TargetMachine>MachineX86</TargetMachine>\r
-      <Profile>true</Profile>\r
-      <ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>\r
-    </Link>\r
-  </ItemDefinitionGroup>\r
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
-    <Midl>\r
-      <TargetEnvironment>X64</TargetEnvironment>\r
-    </Midl>\r
-    <ClCompile>\r
-      <AdditionalOptions>/bigobj /Zc:inline %(AdditionalOptions)</AdditionalOptions>\r
-      <Optimization>Full</Optimization>\r
-      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>\r
-      <IntrinsicFunctions>true</IntrinsicFunctions>\r
-      <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>\r
-      <OmitFramePointers>false</OmitFramePointers>\r
-      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(SolutionDir)..\..\..\tests\test-hdr;$(SolutionDir)..\..\..\tests;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_WIN32_WINNT=0x0501;_SCL_SECURE=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
-      <StringPooling>true</StringPooling>\r
-      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
-      <PrecompiledHeader>\r
-      </PrecompiledHeader>\r
-      <WarningLevel>Level3</WarningLevel>\r
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
-      <CallingConvention>Cdecl</CallingConvention>\r
-      <EnablePREfast>false</EnablePREfast>\r
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
-      <DisableSpecificWarnings>4520</DisableSpecificWarnings>\r
-    </ClCompile>\r
-    <Link>\r
-      <AdditionalDependencies>unit-prerequisites.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <OutputFile>$(TargetPath)</OutputFile>\r
-      <AdditionalLibraryDirectories>$(BOOST_PATH)/stage64/lib;$(BOOST_PATH)/bin;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <SubSystem>Console</SubSystem>\r
-      <OptimizeReferences>true</OptimizeReferences>\r
-      <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
-      <LinkTimeCodeGeneration>UseLinkTimeCodeGeneration</LinkTimeCodeGeneration>\r
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
-      <DataExecutionPrevention>\r
-      </DataExecutionPrevention>\r
-      <TargetMachine>MachineX64</TargetMachine>\r
-      <Profile>true</Profile>\r
-      <ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>\r
-    </Link>\r
-  </ItemDefinitionGroup>\r
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|Win32'">\r
-    <ClCompile>\r
-      <AdditionalOptions>/bigobj /Zc:inline %(AdditionalOptions)</AdditionalOptions>\r
-      <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(SolutionDir)..\..\..\tests\test-hdr;$(SolutionDir)..\..\..\tests;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>CDS_USE_VLD;WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;_SCL_SECURE=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
-      <MinimalRebuild>true</MinimalRebuild>\r
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
-      <PrecompiledHeader>\r
-      </PrecompiledHeader>\r
-      <WarningLevel>Level3</WarningLevel>\r
-      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>\r
-      <CallingConvention>Cdecl</CallingConvention>\r
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
-      <DisableSpecificWarnings>4520</DisableSpecificWarnings>\r
-    </ClCompile>\r
-    <Link>\r
-      <AdditionalDependencies>unit-prerequisites_d.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <OutputFile>$(TargetPath)</OutputFile>\r
-      <AdditionalLibraryDirectories>$(BOOST_PATH)/stage32/lib;$(BOOST_PATH)/stage/lib;$(BOOST_PATH)/bin;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <SubSystem>Console</SubSystem>\r
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
-      <DataExecutionPrevention>\r
-      </DataExecutionPrevention>\r
-      <TargetMachine>MachineX86</TargetMachine>\r
-      <ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>\r
-    </Link>\r
-  </ItemDefinitionGroup>\r
-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVLD|x64'">\r
-    <Midl>\r
-      <TargetEnvironment>X64</TargetEnvironment>\r
-    </Midl>\r
-    <ClCompile>\r
-      <AdditionalOptions>/bigobj /Zc:inline %(AdditionalOptions)</AdditionalOptions>\r
-      <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>$(SolutionDir)..\..\..;$(SolutionDir)..\..\..\tests\test-hdr;$(SolutionDir)..\..\..\tests;$(BOOST_PATH);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
-      <PreprocessorDefinitions>CDS_USE_VLD;WIN32;_DEBUG;_CONSOLE;_WIN32_WINNT=0x0500;_SCL_SECURE=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
-      <MinimalRebuild>true</MinimalRebuild>\r
-      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
-      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
-      <PrecompiledHeader>\r
-      </PrecompiledHeader>\r
-      <WarningLevel>Level3</WarningLevel>\r
-      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
-      <CallingConvention>Cdecl</CallingConvention>\r
-      <EnableEnhancedInstructionSet>NotSet</EnableEnhancedInstructionSet>\r
-      <DisableSpecificWarnings>4520</DisableSpecificWarnings>\r
-    </ClCompile>\r
-    <Link>\r
-      <AdditionalDependencies>unit-prerequisites_d.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
-      <OutputFile>$(TargetPath)</OutputFile>\r
-      <AdditionalLibraryDirectories>$(BOOST_PATH)/stage64/lib;$(BOOST_PATH)/bin;$(OutDir);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <SubSystem>Console</SubSystem>\r
-      <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
-      <DataExecutionPrevention>\r
-      </DataExecutionPrevention>\r
-      <TargetMachine>MachineX64</TargetMachine>\r
-      <ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>\r
-    </Link>\r
-  </ItemDefinitionGroup>\r
-  <ItemGroup>\r
-    <ClCompile Include="..\..\..\tests\test-hdr\deque\hdr_fcdeque.cpp" />\r
-  </ItemGroup>\r
-  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
-  <ImportGroup Label="ExtensionTargets">\r
-  </ImportGroup>\r
-</Project>
\ No newline at end of file
index 65171891142cca710c942a3f5f194e8ed347cce2..012f946066ff338765ab93d5400646b2caedb057 100644 (file)
@@ -64,9 +64,6 @@ CDS_TESTHDR_MAP := \
     tests/test-hdr/map/hdr_striped_hashmap_slist.cpp \
     tests/test-hdr/map/hdr_striped_map_reg.cpp
 
-CDS_TESTHDR_DEQUE := \
-    tests/test-hdr/deque/hdr_fcdeque.cpp
-
 CDS_TESTHDR_LIST := \
     tests/test-hdr/list/hdr_lazy_dhp.cpp \
     tests/test-hdr/list/hdr_lazy_hp.cpp \
@@ -278,7 +275,6 @@ CDS_TESTHDR_MISC := \
 CDS_TESTHDR_SOURCES := \
     $(CDS_TESTHDR_QUEUE) \
     $(CDS_TESTHDR_MAP) \
-    $(CDS_TESTHDR_DEQUE) \
     $(CDS_TESTHDR_LIST) \
     $(CDS_TESTHDR_SET) \
     $(CDS_TESTHDR_TREE) \
index c25c24e077fd89ac426eeb811d740d21e5bd501c..8fe813be2ed23a29d9b7ef6a1a6ae5f188e22e50 100644 (file)
@@ -1,2 +1,3 @@
+add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/deque)
 add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/pqueue)
 add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/stack)
diff --git a/test/unit/deque/CMakeLists.txt b/test/unit/deque/CMakeLists.txt
new file mode 100644 (file)
index 0000000..462d6c6
--- /dev/null
@@ -0,0 +1,21 @@
+set(PACKAGE_NAME unit-deque)
+
+set(CDSGTEST_DEQUE_SOURCES
+    ../main.cpp
+    fcdeque.cpp
+)
+
+include_directories(
+    ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
+add_executable(${PACKAGE_NAME} ${CDSGTEST_DEQUE_SOURCES})
+target_link_libraries(${PACKAGE_NAME} 
+    ${CDS_SHARED_LIBRARY}
+    ${GTEST_LIBRARY}
+    ${Boost_THREAD_LIBRARY}
+    ${Boost_SYSTEM_LIBRARY}
+    ${CMAKE_THREAD_LIBS_INIT}
+)
+
+add_test(NAME ${PACKAGE_NAME} COMMAND ${PACKAGE_NAME} WORKING_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
\ No newline at end of file
diff --git a/test/unit/deque/fcdeque.cpp b/test/unit/deque/fcdeque.cpp
new file mode 100644 (file)
index 0000000..3c6ad1a
--- /dev/null
@@ -0,0 +1,201 @@
+/*
+    This file is a part of libcds - Concurrent Data Structures library
+
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+
+    Source code repo: http://github.com/khizmax/libcds/
+    Download: http://sourceforge.net/projects/libcds/files/
+    
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this
+      list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
+*/
+
+#include <gtest/gtest.h>
+#include <cds/container/fcdeque.h>
+#include <boost/container/deque.hpp>
+
+namespace {
+
+    class FCDeque: public ::testing::Test
+    {
+    protected:
+        template <class Deque>
+        void test( Deque& dq )
+        {
+            size_t const c_nSize = 100;
+
+            // push_front/pop_front
+            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
+                EXPECT_TRUE( dq.push_front( i ) );
+            EXPECT_EQ( dq.size(), c_nSize );
+
+            size_t nCount = 0;
+            int val;
+            while ( !dq.empty() ) {
+                EXPECT_TRUE( dq.pop_front( val ) );
+                ++nCount;
+                EXPECT_EQ( static_cast<int>(c_nSize - nCount), val );
+            }
+            EXPECT_EQ( nCount, c_nSize );
+
+            // push_back/pop_back
+            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
+                EXPECT_TRUE( dq.push_back( i ) );
+            EXPECT_EQ( dq.size(), c_nSize );
+
+            nCount = 0;
+            while ( !dq.empty() ) {
+                EXPECT_TRUE( dq.pop_back( val ) );
+                ++nCount;
+                EXPECT_EQ( static_cast<int>(c_nSize - nCount), val );
+            }
+            EXPECT_EQ( nCount, c_nSize );
+
+            // push_back/pop_front
+            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
+                EXPECT_TRUE( dq.push_back( i ) );
+            EXPECT_EQ( dq.size(), c_nSize );
+
+            nCount = 0;
+            while ( !dq.empty() ) {
+                EXPECT_TRUE( dq.pop_front( val ) );
+                EXPECT_EQ( static_cast<int>( nCount ), val );
+                ++nCount;
+            }
+            EXPECT_EQ( nCount, c_nSize );
+
+            // push_front/pop_back
+            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
+                EXPECT_TRUE( dq.push_front( i ) );
+            EXPECT_EQ( dq.size(), c_nSize );
+
+            nCount = 0;
+            while ( !dq.empty() ) {
+                EXPECT_TRUE( dq.pop_back( val ) );
+                EXPECT_EQ( static_cast<int>( nCount ), val );
+                ++nCount;
+            }
+            EXPECT_EQ( nCount, c_nSize );
+
+            // clear
+            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
+                EXPECT_TRUE( dq.push_front( i ) );
+            EXPECT_EQ( dq.size(), c_nSize );
+
+            EXPECT_FALSE( dq.empty() );
+            dq.clear();
+            EXPECT_TRUE( dq.empty() );
+        }
+    };
+
+    TEST_F( FCDeque, std )
+    {
+        typedef cds::container::FCDeque<int> deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+    TEST_F( FCDeque, std_elimination )
+    {
+        typedef cds::container::FCDeque<int, std::deque<int>,
+            cds::container::fcdeque::make_traits<
+                cds::opt::enable_elimination< true >
+            >::type
+        > deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+    TEST_F( FCDeque, std_statistics )
+    {
+        typedef cds::container::FCDeque<int, std::deque<int>,
+            cds::container::fcdeque::make_traits<
+                cds::opt::stat< cds::container::fcdeque::stat<> >
+            >::type
+        > deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+    TEST_F( FCDeque, std_mutex )
+    {
+        struct deque_traits : public
+            cds::container::fcdeque::make_traits<
+                cds::opt::enable_elimination< true >
+            >::type
+        {
+            typedef std::mutex lock_type;
+        };
+        typedef cds::container::FCDeque<int, std::deque<int>, deque_traits > deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+    TEST_F( FCDeque, boost )
+    {
+        typedef cds::container::FCDeque<int, boost::container::deque<int> > deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+    TEST_F( FCDeque, boost_elimination )
+    {
+        typedef cds::container::FCDeque<int, boost::container::deque<int>,
+            cds::container::fcdeque::make_traits<
+                cds::opt::enable_elimination< true >
+            >::type
+        > deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+    TEST_F( FCDeque, boost_statistics )
+    {
+        typedef cds::container::FCDeque<int, boost::container::deque<int>,
+            cds::container::fcdeque::make_traits<
+                cds::opt::stat< cds::container::fcdeque::stat<> >
+            >::type
+        > deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+    TEST_F( FCDeque, boost_mutex )
+    {
+        typedef cds::container::FCDeque<int, boost::container::deque<int>,
+            cds::container::fcdeque::make_traits<
+                cds::opt::enable_elimination< true >
+                ,cds::opt::lock_type< std::mutex >
+            >::type
+        > deque_type;
+
+        deque_type dq;
+        test( dq );
+    }
+
+} // namespace
diff --git a/test/unit/main.cpp b/test/unit/main.cpp
new file mode 100644 (file)
index 0000000..e690d55
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+    This file is a part of libcds - Concurrent Data Structures library
+
+    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
+
+    Source code repo: http://github.com/khizmax/libcds/
+    Download: http://sourceforge.net/projects/libcds/files/
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions are met:
+
+    * Redistributions of source code must retain the above copyright notice, this
+      list of conditions and the following disclaimer.
+
+    * Redistributions in binary form must reproduce the above copyright notice,
+      this list of conditions and the following disclaimer in the documentation
+      and/or other materials provided with the distribution.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*/
+
+#include <gtest/gtest.h>
+#include <cds/init.h>
+
+int main( int argc, char **argv ) \r
+{\r
+    int result;\r
+    cds::Initialize();\r
+    {\r
+        ::testing::InitGoogleTest( &argc, argv );\r
+        result =  RUN_ALL_TESTS();\r
+    }\r
+    cds::Terminate();\r
+    return result;\r
+}
index 8da85f9a0e47ea8a2b13abd843de58b1f95d8d87..e276dfd99094c70d57bdbb19516cc0356ebf5719 100644 (file)
@@ -1,11 +1,11 @@
 set(PACKAGE_NAME unit-pqueue)
 
 set(CDSGTEST_PQUEUE_SOURCES
+    ../main.cpp
     fcpqueue_boost_stable_vector.cpp
     fcpqueue_deque.cpp
     fcpqueue_vector.cpp
     intrusive_mspqueue.cpp
-    main.cpp
     mspqueue.cpp
 )
 
index 0d02cf94aaf5fbbf45e46d285f1f31a2915d5e1c..cde5c67e8e34115780926ebb73110a8ab211858f 100644 (file)
@@ -1,11 +1,11 @@
 set(PACKAGE_NAME unit-stack)
 
 set(CDSGTEST_STACK_SOURCES
+    ../main.cpp
     fcstack.cpp
     intrusive_fcstack.cpp
     intrusive_treiber_stack_dhp.cpp
     intrusive_treiber_stack_hp.cpp
-    main.cpp
     treiber_stack_dhp.cpp
     treiber_stack_hp.cpp
 )
index df1fba994f88e0dfc0f39c8c6edbd7ceef777166..a16b1cdf2be4393a7d49536bead82e198741bbe8 100644 (file)
@@ -66,9 +66,6 @@ set(CDS_TESTHDR_MAP
     map/hdr_striped_hashmap_slist.cpp\r
     map/hdr_striped_map_reg.cpp)\r
 \r
-set(CDS_TESTHDR_DEQUE\r
-    deque/hdr_fcdeque.cpp)\r
-\r
 set(CDS_TESTHDR_LIST\r
     list/hdr_lazy_dhp.cpp\r
     list/hdr_lazy_hp.cpp\r
@@ -379,7 +376,6 @@ endif(CMAKE_COMPILER_IS_GNUCC)
 set(CDS_TESTHDR_SOURCES\r
     ${CDS_TESTHDR_QUEUE}\r
     ${CDS_TESTHDR_MAP}\r
-    ${CDS_TESTHDR_DEQUE}\r
     ${CDS_TESTHDR_LIST}\r
     ${CDS_TESTHDR_SET}\r
     ${CDS_TESTHDR_TREE}\r
diff --git a/tests/test-hdr/deque/hdr_fcdeque.cpp b/tests/test-hdr/deque/hdr_fcdeque.cpp
deleted file mode 100644 (file)
index b174303..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
-    This file is a part of libcds - Concurrent Data Structures library
-
-    (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016
-
-    Source code repo: http://github.com/khizmax/libcds/
-    Download: http://sourceforge.net/projects/libcds/files/
-    
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-
-    * Redistributions of source code must retain the above copyright notice, this
-      list of conditions and the following disclaimer.
-
-    * Redistributions in binary form must reproduce the above copyright notice,
-      this list of conditions and the following disclaimer in the documentation
-      and/or other materials provided with the distribution.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-    AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-    IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-    FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-    DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-    SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-    CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-    OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.     
-*/
-
-#include "cppunit/cppunit_proxy.h"
-#include "cppunit/test_beans.h"
-#include <cds/container/fcdeque.h>
-#include <boost/container/deque.hpp>
-
-namespace deque {
-
-    class HdrFCDeque: public CppUnitMini::TestCase
-    {
-        template <class Deque>
-        void test_with( Deque& dq )
-        {
-            size_t const c_nSize = 100;
-
-            // push_front/pop_front
-            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
-                CPPUNIT_CHECK( dq.push_front( i ) );
-            CPPUNIT_CHECK( dq.size() == c_nSize );
-
-            size_t nCount = 0;
-            int val;
-            while ( !dq.empty() ) {
-                CPPUNIT_CHECK( dq.pop_front( val ) );
-                ++nCount;
-                CPPUNIT_CHECK( static_cast<int>(c_nSize - nCount) == val );
-            }
-            CPPUNIT_CHECK( nCount == c_nSize );
-
-            // push_back/pop_back
-            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
-                CPPUNIT_CHECK( dq.push_back( i ) );
-            CPPUNIT_CHECK( dq.size() == c_nSize );
-
-            nCount = 0;
-            while ( !dq.empty() ) {
-                CPPUNIT_CHECK( dq.pop_back( val ) );
-                ++nCount;
-                CPPUNIT_CHECK( static_cast<int>(c_nSize - nCount) == val );
-            }
-            CPPUNIT_CHECK( nCount == c_nSize );
-
-            // push_back/pop_front
-            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
-                CPPUNIT_CHECK( dq.push_back( i ) );
-            CPPUNIT_CHECK( dq.size() == c_nSize );
-
-            nCount = 0;
-            while ( !dq.empty() ) {
-                CPPUNIT_CHECK( dq.pop_front( val ) );
-                CPPUNIT_CHECK( static_cast<int>( nCount ) == val );
-                ++nCount;
-            }
-            CPPUNIT_CHECK( nCount == c_nSize );
-
-            // push_front/pop_back
-            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
-                CPPUNIT_CHECK( dq.push_front( i ) );
-            CPPUNIT_CHECK( dq.size() == c_nSize );
-
-            nCount = 0;
-            while ( !dq.empty() ) {
-                CPPUNIT_CHECK( dq.pop_back( val ) );
-                CPPUNIT_CHECK( static_cast<int>( nCount ) == val );
-                ++nCount;
-            }
-            CPPUNIT_CHECK( nCount == c_nSize );
-
-            // clear
-            for ( int i = 0; i < static_cast<int>( c_nSize ); ++i )
-                CPPUNIT_CHECK( dq.push_front( i ) );
-            CPPUNIT_CHECK( dq.size() == c_nSize );
-
-            CPPUNIT_CHECK( !dq.empty() );
-            dq.clear();
-            CPPUNIT_CHECK( dq.empty() );
-        }
-
-        template <class Deque>
-        void test()
-        {
-            Deque dq;
-            test_with( dq );
-        }
-
-        void fcDeque()
-        {
-            typedef cds::container::FCDeque<int> deque_type;
-            test<deque_type>();
-        }
-
-        void fcDeque_elimination()
-        {
-            typedef cds::container::FCDeque<int, std::deque<int>,
-                cds::container::fcdeque::make_traits<
-                    cds::opt::enable_elimination< true >
-                >::type
-            > deque_type;
-            test<deque_type>();
-        }
-
-        void fcDeque_stat()
-        {
-            typedef cds::container::FCDeque<int, std::deque<int>,
-                cds::container::fcdeque::make_traits<
-                    cds::opt::stat< cds::container::fcdeque::stat<> >
-                >::type
-            > deque_type;
-            test<deque_type>();
-        }
-
-        void fcDeque_mutex()
-        {
-            struct deque_traits : public
-                cds::container::fcdeque::make_traits<
-                    cds::opt::enable_elimination< true >
-                >::type
-            {
-                typedef std::mutex lock_type;
-            };
-            typedef cds::container::FCDeque<int, std::deque<int>, deque_traits > deque_type;
-            test<deque_type>();
-        }
-
-        void fcDeque_boost()
-        {
-            typedef cds::container::FCDeque<int, boost::container::deque<int> > deque_type;
-            test<deque_type>();
-        }
-
-        void fcDeque_boost_elimination()
-        {
-            typedef cds::container::FCDeque<int, boost::container::deque<int>,
-                cds::container::fcdeque::make_traits<
-                    cds::opt::enable_elimination< true >
-                >::type
-            > deque_type;
-            test<deque_type>();
-        }
-
-        void fcDeque_boost_stat()
-        {
-            typedef cds::container::FCDeque<int, boost::container::deque<int>,
-                cds::container::fcdeque::make_traits<
-                    cds::opt::stat< cds::container::fcdeque::stat<> >
-                >::type
-            > deque_type;
-            test<deque_type>();
-        }
-
-        void fcDeque_boost_mutex()
-        {
-            typedef cds::container::FCDeque<int, boost::container::deque<int>,
-                cds::container::fcdeque::make_traits<
-                    cds::opt::enable_elimination< true >
-                    ,cds::opt::lock_type< std::mutex >
-                >::type
-            > deque_type;
-            test<deque_type>();
-        }
-
-        CPPUNIT_TEST_SUITE(HdrFCDeque)
-            CPPUNIT_TEST(fcDeque)
-            CPPUNIT_TEST(fcDeque_elimination)
-            CPPUNIT_TEST(fcDeque_stat)
-            CPPUNIT_TEST(fcDeque_mutex)
-            CPPUNIT_TEST(fcDeque_boost)
-            CPPUNIT_TEST(fcDeque_boost_elimination)
-            CPPUNIT_TEST(fcDeque_boost_stat)
-            CPPUNIT_TEST(fcDeque_boost_mutex)
-        CPPUNIT_TEST_SUITE_END()
-    };
-
-} // namespace deque
-
-CPPUNIT_TEST_SUITE_REGISTRATION(deque::HdrFCDeque);