Merge pull request #30 from pocoproject/develop

Sunc 2.6.2016
This commit is contained in:
Marian Krivoš 2016-06-02 07:40:05 +02:00
commit 83b3fe12cb
124 changed files with 2168 additions and 1080 deletions

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,18 +304,18 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\AttributesParserTest.h"/>
<ClInclude Include="src\AttributesTestSuite.h"/>
<ClInclude Include="src\CppParserTest.h"/>
<ClInclude Include="src\CppParserTestSuite.h"/>
<ClInclude Include="src\AttributesParserTest.h" />
<ClInclude Include="src\AttributesTestSuite.h" />
<ClInclude Include="src\CppParserTest.h" />
<ClInclude Include="src\CppParserTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AttributesParserTest.cpp"/>
<ClCompile Include="src\AttributesTestSuite.cpp"/>
<ClCompile Include="src\CppParserTest.cpp"/>
<ClCompile Include="src\CppParserTestSuite.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\AttributesParserTest.cpp" />
<ClCompile Include="src\AttributesTestSuite.cpp" />
<ClCompile Include="src\CppParserTest.cpp" />
<ClCompile Include="src\CppParserTestSuite.cpp" />
<ClCompile Include="src\Driver.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,18 +304,18 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\AttributesParserTest.h"/>
<ClInclude Include="src\AttributesTestSuite.h"/>
<ClInclude Include="src\CppParserTest.h"/>
<ClInclude Include="src\CppParserTestSuite.h"/>
<ClInclude Include="src\AttributesParserTest.h" />
<ClInclude Include="src\AttributesTestSuite.h" />
<ClInclude Include="src\CppParserTest.h" />
<ClInclude Include="src\CppParserTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AttributesParserTest.cpp"/>
<ClCompile Include="src\AttributesTestSuite.cpp"/>
<ClCompile Include="src\CppParserTest.cpp"/>
<ClCompile Include="src\CppParserTestSuite.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\AttributesParserTest.cpp" />
<ClCompile Include="src\AttributesTestSuite.cpp" />
<ClCompile Include="src\CppParserTest.cpp" />
<ClCompile Include="src\CppParserTestSuite.cpp" />
<ClCompile Include="src\Driver.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -8,8 +8,18 @@
include $(POCO_BASE)/build/rules/global
SYSLIBS += -L/usr/local/lib$(LIB64SUFFIX)/mysql -L/usr/lib$(LIB64SUFFIX)/mysql -L/usr/mysql/lib$(LIB64SUFFIX) -L/usr/mysql/lib$(LIB64SUFFIX)/mysql -L/usr/local/mysql/lib$(LIB64SUFFIX) -lmysqlclient
INCLUDE += -I/usr/local/include/mysql/ -I/usr/include/mysql/ -I/usr/mysql/include/mysql -I/usr/local/mysql/include
MYSQL_LIBDIR ?= /usr/local/lib$(LIB64SUFFIX)/mysql \
/usr/lib$(LIB64SUFFIX)/mysql \
/usr/mysql/lib$(LIB64SUFFIX) \
/usr/mysql/lib$(LIB64SUFFIX)/mysql \
/usr/local/mysql/lib$(LIB64SUFFIX)
MYSQL_INCDIR ?= /usr/local/include/mysql/ \
/usr/include/mysql/ \
/usr/mysql/include/mysql \
/usr/local/mysql/include
SYSLIBS += $(foreach dir,$(MYSQL_LIBDIR),-L$(dir)) -lmysqlclient
INCLUDE += $(foreach dir,$(MYSQL_INCDIR),-I$(dir))
SYSFLAGS += -DTHREADSAFE -DNO_TCL
objects = Binder Extractor SessionImpl Connector \

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,16 +304,16 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\MySQLTest.h"/>
<ClInclude Include="src\MySQLTestSuite.h"/>
<ClInclude Include="src\SQLExecutor.h"/>
<ClInclude Include="src\MySQLTest.h" />
<ClInclude Include="src\MySQLTestSuite.h" />
<ClInclude Include="src\SQLExecutor.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\MySQLTest.cpp"/>
<ClCompile Include="src\MySQLTestSuite.cpp"/>
<ClCompile Include="src\SQLExecutor.cpp"/>
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\MySQLTest.cpp" />
<ClCompile Include="src\MySQLTestSuite.cpp" />
<ClCompile Include="src\SQLExecutor.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;libmysql.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,16 +304,16 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\MySQLTest.h"/>
<ClInclude Include="src\MySQLTestSuite.h"/>
<ClInclude Include="src\SQLExecutor.h"/>
<ClInclude Include="src\MySQLTest.h" />
<ClInclude Include="src\MySQLTestSuite.h" />
<ClInclude Include="src\SQLExecutor.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\MySQLTest.cpp"/>
<ClCompile Include="src\MySQLTestSuite.cpp"/>
<ClCompile Include="src\SQLExecutor.cpp"/>
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\MySQLTest.cpp" />
<ClCompile Include="src\MySQLTestSuite.cpp" />
<ClCompile Include="src\SQLExecutor.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -9,6 +9,10 @@
// SPDX-License-Identifier: BSL-1.0
//
#include <iostream>
#include <limits>
#include "Poco/CppUnit/TestCase.h"
#include "SQLExecutor.h"
#include "Poco/NumberParser.h"
@ -27,10 +31,12 @@
#include "Poco/Data/MySQL/Connector.h"
#include "Poco/Data/MySQL/MySQLException.h"
#if POCO_MSVS_VERSION == 2015
#define HAVE_STRUCT_TIMESPEC
#endif
#include <my_global.h>
#include <mysql.h>
#include <iostream>
#include <limits>
#ifdef max
#undef max

View File

@ -1313,13 +1313,13 @@ bool Extractor::isNull(std::size_t col, std::size_t row)
try
{
return isNullLengthIndicator(_lengths.at(col));
} catch (std::out_of_range& ex)
}
catch (std::out_of_range& ex)
{
throw RangeException(ex.what());
}
}
else
return SQL_NULL_DATA == _pPreparator->actualDataSize(col, row);
else return SQL_NULL_DATA == _pPreparator->actualDataSize(col, row);
}

View File

@ -105,7 +105,10 @@ void ODBCStatementImpl::compileImpl()
{
Poco::Any dti = session().getProperty("dataTypeInfo");
pDT = AnyCast<TypeInfo*>(dti);
}catch (NotSupportedException&) { }
}
catch (NotSupportedException&)
{
}
const std::size_t maxFieldSize = AnyCast<std::size_t>(session().getProperty("maxFieldSize"));
const ODBCMetaColumn::NumericConversion numericConversion = dynamic_cast<SessionImpl&>(session()).numericConversion();
@ -126,7 +129,8 @@ void ODBCStatementImpl::makeInternalExtractors()
try
{
fillColumns(currentDataSet());
} catch (DataFormatException&)
}
catch (DataFormatException&)
{
if (isStoredProcedure()) return;
throw;

View File

@ -402,7 +402,10 @@ void SessionImpl::close()
try
{
commit();
}catch (ConnectionException&) { }
}
catch (ConnectionException&)
{
}
SQLDisconnect(_db);
}

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,30 +304,32 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\ODBCAccessTest.h"/>
<ClInclude Include="src\ODBCDB2Test.h"/>
<ClInclude Include="src\ODBCMySQLTest.h"/>
<ClInclude Include="src\ODBCOracleTest.h"/>
<ClInclude Include="src\ODBCPostgreSQLTest.h"/>
<ClInclude Include="src\ODBCSQLiteTest.h"/>
<ClInclude Include="src\ODBCSQLServerTest.h"/>
<ClInclude Include="src\ODBCTest.h"/>
<ClInclude Include="src\ODBCTestSuite.h"/>
<ClInclude Include="src\SQLExecutor.h"/>
<ClInclude Include="src\ODBCAccessTest.h" />
<ClInclude Include="src\ODBCDB2Test.h" />
<ClInclude Include="src\ODBCMySQLTest.h" />
<ClInclude Include="src\ODBCOracleTest.h" />
<ClInclude Include="src\ODBCPostgreSQLTest.h" />
<ClInclude Include="src\ODBCSQLiteTest.h" />
<ClInclude Include="src\ODBCSQLServerTest.h" />
<ClInclude Include="src\ODBCSybaseTest.h" />
<ClInclude Include="src\ODBCTest.h" />
<ClInclude Include="src\ODBCTestSuite.h" />
<ClInclude Include="src\SQLExecutor.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\ODBCAccessTest.cpp"/>
<ClCompile Include="src\ODBCDB2Test.cpp"/>
<ClCompile Include="src\ODBCMySQLTest.cpp"/>
<ClCompile Include="src\ODBCOracleTest.cpp"/>
<ClCompile Include="src\ODBCPostgreSQLTest.cpp"/>
<ClCompile Include="src\ODBCSQLiteTest.cpp"/>
<ClCompile Include="src\ODBCSQLServerTest.cpp"/>
<ClCompile Include="src\ODBCTest.cpp"/>
<ClCompile Include="src\ODBCTestSuite.cpp"/>
<ClCompile Include="src\SQLExecutor.cpp"/>
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\ODBCAccessTest.cpp" />
<ClCompile Include="src\ODBCDB2Test.cpp" />
<ClCompile Include="src\ODBCMySQLTest.cpp" />
<ClCompile Include="src\ODBCOracleTest.cpp" />
<ClCompile Include="src\ODBCPostgreSQLTest.cpp" />
<ClCompile Include="src\ODBCSQLiteTest.cpp" />
<ClCompile Include="src\ODBCSQLServerTest.cpp" />
<ClCompile Include="src\ODBCSybaseTest.cpp" />
<ClCompile Include="src\ODBCTest.cpp" />
<ClCompile Include="src\ODBCTestSuite.cpp" />
<ClCompile Include="src\SQLExecutor.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -57,6 +57,9 @@
<ClInclude Include="src\ODBCTestSuite.h">
<Filter>_Suite\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ODBCSybaseTest.h">
<Filter>ODBC\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\ODBCAccessTest.cpp">
@ -92,5 +95,8 @@
<ClCompile Include="src\Driver.cpp">
<Filter>_Driver\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ODBCSybaseTest.cpp">
<Filter>ODBC\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,30 +304,32 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\ODBCAccessTest.h"/>
<ClInclude Include="src\ODBCDB2Test.h"/>
<ClInclude Include="src\ODBCMySQLTest.h"/>
<ClInclude Include="src\ODBCOracleTest.h"/>
<ClInclude Include="src\ODBCPostgreSQLTest.h"/>
<ClInclude Include="src\ODBCSQLiteTest.h"/>
<ClInclude Include="src\ODBCSQLServerTest.h"/>
<ClInclude Include="src\ODBCTest.h"/>
<ClInclude Include="src\ODBCTestSuite.h"/>
<ClInclude Include="src\SQLExecutor.h"/>
<ClInclude Include="src\ODBCAccessTest.h" />
<ClInclude Include="src\ODBCDB2Test.h" />
<ClInclude Include="src\ODBCMySQLTest.h" />
<ClInclude Include="src\ODBCOracleTest.h" />
<ClInclude Include="src\ODBCPostgreSQLTest.h" />
<ClInclude Include="src\ODBCSQLiteTest.h" />
<ClInclude Include="src\ODBCSQLServerTest.h" />
<ClInclude Include="src\ODBCSybaseTest.h" />
<ClInclude Include="src\ODBCTest.h" />
<ClInclude Include="src\ODBCTestSuite.h" />
<ClInclude Include="src\SQLExecutor.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\ODBCAccessTest.cpp"/>
<ClCompile Include="src\ODBCDB2Test.cpp"/>
<ClCompile Include="src\ODBCMySQLTest.cpp"/>
<ClCompile Include="src\ODBCOracleTest.cpp"/>
<ClCompile Include="src\ODBCPostgreSQLTest.cpp"/>
<ClCompile Include="src\ODBCSQLiteTest.cpp"/>
<ClCompile Include="src\ODBCSQLServerTest.cpp"/>
<ClCompile Include="src\ODBCTest.cpp"/>
<ClCompile Include="src\ODBCTestSuite.cpp"/>
<ClCompile Include="src\SQLExecutor.cpp"/>
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\ODBCAccessTest.cpp" />
<ClCompile Include="src\ODBCDB2Test.cpp" />
<ClCompile Include="src\ODBCMySQLTest.cpp" />
<ClCompile Include="src\ODBCOracleTest.cpp" />
<ClCompile Include="src\ODBCPostgreSQLTest.cpp" />
<ClCompile Include="src\ODBCSQLiteTest.cpp" />
<ClCompile Include="src\ODBCSQLServerTest.cpp" />
<ClCompile Include="src\ODBCSybaseTest.cpp" />
<ClCompile Include="src\ODBCTest.cpp" />
<ClCompile Include="src\ODBCTestSuite.cpp" />
<ClCompile Include="src\SQLExecutor.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -57,6 +57,9 @@
<ClInclude Include="src\ODBCTestSuite.h">
<Filter>_Suite\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ODBCSybaseTest.h">
<Filter>ODBC</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\ODBCAccessTest.cpp">
@ -92,5 +95,8 @@
<ClCompile Include="src\Driver.cpp">
<Filter>_Driver\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ODBCSybaseTest.cpp">
<Filter>ODBC</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,14 +304,14 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\SQLiteTest.h"/>
<ClInclude Include="src\SQLiteTestSuite.h"/>
<ClInclude Include="src\SQLiteTest.h" />
<ClInclude Include="src\SQLiteTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\SQLiteTest.cpp"/>
<ClCompile Include="src\SQLiteTestSuite.cpp"/>
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\SQLiteTest.cpp" />
<ClCompile Include="src\SQLiteTestSuite.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,14 +304,14 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\SQLiteTest.h"/>
<ClInclude Include="src\SQLiteTestSuite.h"/>
<ClInclude Include="src\SQLiteTest.h" />
<ClInclude Include="src\SQLiteTestSuite.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\SQLiteTest.cpp"/>
<ClCompile Include="src\SQLiteTestSuite.cpp"/>
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\SQLiteTest.cpp" />
<ClCompile Include="src\SQLiteTestSuite.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -88,7 +88,8 @@ public:
try
{
return _nulls.at(row);
}catch (std::out_of_range& ex)
}
catch (std::out_of_range& ex)
{
throw RangeException(ex.what());
}

View File

@ -170,7 +170,7 @@ class Extraction<std::vector<T> >: public AbstractExtraction
/// Vector Data Type specialization for extraction of values from a query result set.
{
public:
typedef std::vector<T> ValType;
typedef SharedPtr<ValType> ValPtr;
typedef Extraction<ValType> Type;

View File

@ -130,7 +130,8 @@ public:
try
{
_values.at(pos) = val;
}catch (std::out_of_range&)
}
catch (std::out_of_range&)
{
throw RangeException("Invalid column number.");
}
@ -227,10 +228,6 @@ public:
private:
void init(const SortMapPtr& pSortMap, const RowFormatter::Ptr& pFormatter);
void checkEmpty(std::size_t pos, const Poco::Dynamic::Var& val);
/// Check if row contains only empty values and throws IllegalStateException
/// if that is the case.
ValueVec& values();
/// Returns the reference to values vector.

View File

@ -339,7 +339,7 @@ private:
}
template <class C>
SharedPtr<InternalBulkExtraction<C> > createBulkExtract(const MetaColumn& mc, size_t position)
SharedPtr<InternalBulkExtraction<C> > createBulkExtract(const MetaColumn& mc, size_t position)
{
C* pData = new C;
Column<C>* pCol = new Column<C>(mc, pData);
@ -366,18 +366,18 @@ private:
switch (_storage)
{
case STORAGE_DEQUE_IMPL:
case STORAGE_DEQUE_IMPL:
storage = DEQUE; break;
case STORAGE_VECTOR_IMPL:
case STORAGE_VECTOR_IMPL:
storage = VECTOR; break;
case STORAGE_LIST_IMPL:
case STORAGE_LIST_IMPL:
storage = LIST; break;
case STORAGE_UNKNOWN_IMPL:
storage = AnyCast<std::string>(session().getProperty("storage"));
break;
}
if (storage.empty()) storage = DEQUE;
if (storage.empty()) storage = VECTOR;
if (0 == icompare(DEQUE, storage))
{
@ -557,7 +557,8 @@ inline bool StatementImpl::isNull(std::size_t col, std::size_t row) const
try
{
return extractions().at(col)->isNull(row);
}catch (std::out_of_range& ex)
}
catch (std::out_of_range& ex)
{
throw RangeException(ex.what());
}

View File

@ -122,28 +122,10 @@ std::size_t Row::getPosition(const std::string& name) const
}
void Row::checkEmpty(std::size_t pos, const Poco::Dynamic::Var& val)
{
bool empty = true;
SortMap::const_iterator it = _pSortMap->begin();
SortMap::const_iterator end = _pSortMap->end();
for (std::size_t cnt = 0; it != end; ++it, ++cnt)
{
if (cnt != pos)
empty = empty && _values[it->get<0>()].isEmpty();
}
if (empty && val.isEmpty())
throw IllegalStateException("All values are empty.");
}
void Row::addSortField(std::size_t pos)
{
poco_assert (pos <= _values.size());
checkEmpty(std::numeric_limits<std::size_t>::max(), _values[pos]);
SortMap::iterator it = _pSortMap->begin();
SortMap::iterator end = _pSortMap->end();
for (; it != end; ++it)
@ -190,8 +172,6 @@ void Row::addSortField(const std::string& name)
void Row::removeSortField(std::size_t pos)
{
checkEmpty(pos, Poco::Dynamic::Var());
SortMap::iterator it = _pSortMap->begin();
SortMap::iterator end = _pSortMap->end();
for (; it != end; ++it)

View File

@ -111,8 +111,8 @@ std::size_t Statement::execute(bool doReset)
doAsyncExec();
return 0;
}
} else
throw InvalidAccessException("Statement still executing.");
}
else throw InvalidAccessException("Statement still executing.");
}

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,28 +304,28 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\Binder.h"/>
<ClInclude Include="src\Connector.h"/>
<ClInclude Include="src\DataTest.h"/>
<ClInclude Include="src\DataTestSuite.h"/>
<ClInclude Include="src\Extractor.h"/>
<ClInclude Include="src\Preparator.h"/>
<ClInclude Include="src\SessionImpl.h"/>
<ClInclude Include="src\SessionPoolTest.h"/>
<ClInclude Include="src\TestStatementImpl.h"/>
<ClInclude Include="src\Binder.h" />
<ClInclude Include="src\Connector.h" />
<ClInclude Include="src\DataTest.h" />
<ClInclude Include="src\DataTestSuite.h" />
<ClInclude Include="src\Extractor.h" />
<ClInclude Include="src\Preparator.h" />
<ClInclude Include="src\SessionImpl.h" />
<ClInclude Include="src\SessionPoolTest.h" />
<ClInclude Include="src\TestStatementImpl.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Binder.cpp"/>
<ClCompile Include="src\Connector.cpp"/>
<ClCompile Include="src\DataTest.cpp"/>
<ClCompile Include="src\DataTestSuite.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\Extractor.cpp"/>
<ClCompile Include="src\Preparator.cpp"/>
<ClCompile Include="src\SessionImpl.cpp"/>
<ClCompile Include="src\SessionPoolTest.cpp"/>
<ClCompile Include="src\TestStatementImpl.cpp"/>
<ClCompile Include="src\Binder.cpp" />
<ClCompile Include="src\Connector.cpp" />
<ClCompile Include="src\DataTest.cpp" />
<ClCompile Include="src\DataTestSuite.cpp" />
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\Extractor.cpp" />
<ClCompile Include="src\Preparator.cpp" />
<ClCompile Include="src\SessionImpl.cpp" />
<ClCompile Include="src\SessionPoolTest.cpp" />
<ClCompile Include="src\TestStatementImpl.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
@ -32,7 +32,7 @@
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
@ -136,13 +136,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -167,13 +167,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -196,13 +196,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -227,13 +227,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -256,13 +256,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
@ -287,13 +287,13 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>iphlpapi.lib;winmm.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
@ -304,28 +304,28 @@
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\Binder.h"/>
<ClInclude Include="src\Connector.h"/>
<ClInclude Include="src\DataTest.h"/>
<ClInclude Include="src\DataTestSuite.h"/>
<ClInclude Include="src\Extractor.h"/>
<ClInclude Include="src\Preparator.h"/>
<ClInclude Include="src\SessionImpl.h"/>
<ClInclude Include="src\SessionPoolTest.h"/>
<ClInclude Include="src\TestStatementImpl.h"/>
<ClInclude Include="src\Binder.h" />
<ClInclude Include="src\Connector.h" />
<ClInclude Include="src\DataTest.h" />
<ClInclude Include="src\DataTestSuite.h" />
<ClInclude Include="src\Extractor.h" />
<ClInclude Include="src\Preparator.h" />
<ClInclude Include="src\SessionImpl.h" />
<ClInclude Include="src\SessionPoolTest.h" />
<ClInclude Include="src\TestStatementImpl.h" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\Binder.cpp"/>
<ClCompile Include="src\Connector.cpp"/>
<ClCompile Include="src\DataTest.cpp"/>
<ClCompile Include="src\DataTestSuite.cpp"/>
<ClCompile Include="src\Driver.cpp"/>
<ClCompile Include="src\Extractor.cpp"/>
<ClCompile Include="src\Preparator.cpp"/>
<ClCompile Include="src\SessionImpl.cpp"/>
<ClCompile Include="src\SessionPoolTest.cpp"/>
<ClCompile Include="src\TestStatementImpl.cpp"/>
<ClCompile Include="src\Binder.cpp" />
<ClCompile Include="src\Connector.cpp" />
<ClCompile Include="src\DataTest.cpp" />
<ClCompile Include="src\DataTestSuite.cpp" />
<ClCompile Include="src\Driver.cpp" />
<ClCompile Include="src\Extractor.cpp" />
<ClCompile Include="src\Preparator.cpp" />
<ClCompile Include="src\SessionImpl.cpp" />
<ClCompile Include="src\SessionPoolTest.cpp" />
<ClCompile Include="src\TestStatementImpl.cpp" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -961,18 +961,6 @@ void DataTest::testRow()
fail ("must fail");
}catch (NotFoundException&) {}
try
{
row4.set("field1", Var());
row4.addSortField(1);
row4.removeSortField(0);
fail ("must fail - field 1 is empty");
}
catch (IllegalStateException&)
{
row4.removeSortField(1);
}
row4.set("field0", 0);
row4.set("field1", 1);
row4.set("field2", 2);

View File

@ -23,7 +23,9 @@
// Define to enable Windows Unicode (UTF-8) support
// NOTE: As of POCO C++ Libraries release 1.6.0, compiling POCO
// without POCO_WIN32_UTF8 defined on Windows is deprecated.
#ifndef POCO_WIN32_UTF8
#define POCO_WIN32_UTF8
#endif
// Define to enable C++11 support
@ -35,10 +37,10 @@
// Define to disable automatic initialization
// Defining this will disable ALL automatic
// Defining this will disable ALL automatic
// initialization framework-wide (e.g. Net
// on Windows, all Data back-ends, etc).
//
//
// #define POCO_NO_AUTOMATIC_LIB_INIT
@ -77,20 +79,23 @@
// #define POCO_THREAD_PRIORITY_MAX 31
// Define to disable small object optimization. If not
// Define to disable small object optimization. If not
// defined, Any and Dynamic::Var (and similar optimization
// candidates) will be auto-allocated on the stack in
// candidates) will be auto-allocated on the stack in
// cases when value holder fits into POCO_SMALL_OBJECT_SIZE
// (see below).
//
//
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// !!! NOTE: Any/Dynamic::Var SOO will NOT work reliably !!!
// !!! without C++11 (std::aligned_storage in particular). !!!
// !!! Only comment this out if your compiler has support !!!
// !!! for std::aligned_storage. !!!
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//
//
#ifndef POCO_NO_SOO
#define POCO_NO_SOO
#endif
// Small object size in bytes. When assigned to Any or Var,
@ -115,7 +120,7 @@
// No automatic registration of FileChannel in
// LoggingFactory - avoids FileChannel and friends
// LoggingFactory - avoids FileChannel and friends
// being linked to executable.
// #define POCO_NO_FILECHANNEL
@ -141,13 +146,13 @@
// #define POCO_UTIL_NO_INIFILECONFIGURATION
// No support for JSON configuration in
// No support for JSON configuration in
// Poco::Util::Application. Avoids linking of JSON
// library and saves a few 100 Kbytes.
// #define POCO_UTIL_NO_JSONCONFIGURATION
// No support for XML configuration in
// No support for XML configuration in
// Poco::Util::Application. Avoids linking of XML
// library and saves a few 100 Kbytes.
// #define POCO_UTIL_NO_XMLCONFIGURATION

View File

@ -208,51 +208,51 @@ public:
/// Returns the date and time expressed in UTC-based
/// time. UTC base time is midnight, October 15, 1582.
/// Resolution is 100 nanoseconds.
bool operator == (const DateTime& dateTime) const;
bool operator != (const DateTime& dateTime) const;
bool operator < (const DateTime& dateTime) const;
bool operator <= (const DateTime& dateTime) const;
bool operator > (const DateTime& dateTime) const;
bool operator >= (const DateTime& dateTime) const;
bool operator == (const DateTime& dateTime) const;
bool operator != (const DateTime& dateTime) const;
bool operator < (const DateTime& dateTime) const;
bool operator <= (const DateTime& dateTime) const;
bool operator > (const DateTime& dateTime) const;
bool operator >= (const DateTime& dateTime) const;
DateTime operator + (const Timespan& span) const;
DateTime operator - (const Timespan& span) const;
Timespan operator - (const DateTime& dateTime) const;
DateTime& operator += (const Timespan& span);
DateTime& operator -= (const Timespan& span);
void makeUTC(int tzd);
/// Converts a local time into UTC, by applying the given time zone differential.
void makeLocal(int tzd);
/// Converts a UTC time into a local time, by applying the given time zone differential.
static bool isLeapYear(int year);
/// Returns true if the given year is a leap year;
/// false otherwise.
static int daysOfMonth(int year, int month);
/// Returns the number of days in the given month
/// and year. Month is from 1 to 12.
static bool isValid(int year, int month, int day, int hour = 0, int minute = 0, int second = 0, int millisecond = 0, int microsecond = 0);
/// Checks if the given date and time is valid
/// (all arguments are within a proper range).
///
/// Returns true if all arguments are valid, false otherwise.
protected:
protected:
static double toJulianDay(Timestamp::UtcTimeVal utcTime);
/// Computes the Julian day for an UTC time.
static double toJulianDay(int year, int month, int day, int hour = 0, int minute = 0, int second = 0, int millisecond = 0, int microsecond = 0);
/// Computes the Julian day for a Gregorian calendar date and time.
/// See <http://vsg.cape.com/~pbaum/date/jdimp.htm>, section 2.3.1 for the algorithm.
static Timestamp::UtcTimeVal toUtcTime(double julianDay);
/// Computes the UTC time for a Julian day.
void computeGregorian(double julianDay);
/// Computes the Gregorian date for the given Julian day.
/// See <http://vsg.cape.com/~pbaum/date/injdimp.htm>, section 3.3.1 for the algorithm.
@ -369,13 +369,13 @@ inline bool DateTime::operator == (const DateTime& dateTime) const
}
inline bool DateTime::operator != (const DateTime& dateTime) const
inline bool DateTime::operator != (const DateTime& dateTime) const
{
return _utcTime != dateTime._utcTime;
}
inline bool DateTime::operator < (const DateTime& dateTime) const
inline bool DateTime::operator < (const DateTime& dateTime) const
{
return _utcTime < dateTime._utcTime;
}
@ -387,13 +387,13 @@ inline bool DateTime::operator <= (const DateTime& dateTime) const
}
inline bool DateTime::operator > (const DateTime& dateTime) const
inline bool DateTime::operator > (const DateTime& dateTime) const
{
return _utcTime > dateTime._utcTime;
}
inline bool DateTime::operator >= (const DateTime& dateTime) const
inline bool DateTime::operator >= (const DateTime& dateTime) const
{
return _utcTime >= dateTime._utcTime;
}

View File

@ -59,7 +59,7 @@ public:
}
template <typename T>
Pair(const K& first, const T& second): _data(std::make_pair(first, second))
Pair(const K& rFirst, const T& rSecond): _data(std::make_pair(rFirst, rSecond))
/// Creates pair from two values.
{
}

View File

@ -334,14 +334,14 @@ public:
{
if (_entries[i])
{
UInt32 size = (UInt32)_entries[i]->size();
poco_assert_dbg(size != 0);
if (size > maxEntriesPerHash)
maxEntriesPerHash = size;
UInt32 entrySize = (UInt32)_entries[i]->size();
poco_assert_dbg(entrySize != 0);
if (entrySize > maxEntriesPerHash)
maxEntriesPerHash = entrySize;
if (details)
detailedEntriesPerHash.push_back(size);
detailedEntriesPerHash.push_back(entrySize);
#ifdef _DEBUG
totalSize += size;
totalSize += entrySize;
#endif
}
else

View File

@ -37,8 +37,8 @@ class LRUCache: public AbstractCache<TKey, TValue, LRUStrategy<TKey, TValue>, TM
/// An LRUCache implements Least Recently Used caching. The default size for a cache is 1024 entries.
{
public:
LRUCache(long size = 1024):
AbstractCache<TKey, TValue, LRUStrategy<TKey, TValue>, TMutex, TEventMutex>(LRUStrategy<TKey, TValue>(size))
LRUCache(long cacheSize = 1024):
AbstractCache<TKey, TValue, LRUStrategy<TKey, TValue>, TMutex, TEventMutex>(LRUStrategy<TKey, TValue>(cacheSize))
{
}

View File

@ -132,7 +132,7 @@ class MetaObject: public AbstractMetaObject<B>
/// factory for its class.
{
public:
MetaObject(const char* name): AbstractMetaObject<B>(name)
MetaObject(const char* pName): AbstractMetaObject<B>(pName)
{
}
@ -164,7 +164,7 @@ class MetaSingleton: public AbstractMetaObject<B>
/// the single instance of its class.
{
public:
MetaSingleton(const char* name): AbstractMetaObject<B>(name)
MetaSingleton(const char* pName): AbstractMetaObject<B>(pName)
{
}

View File

@ -168,28 +168,28 @@ class ObjectPool
/// - If the object is not valid, it is destroyed immediately.
{
public:
ObjectPool(std::size_t capacity, std::size_t peakCapacity):
ObjectPool(std::size_t objectCapacity, std::size_t peakObjectCapacity):
/// Creates a new ObjectPool with the given capacity
/// and peak capacity.
///
/// The PoolableObjectFactory must have a public default constructor.
_capacity(capacity),
_peakCapacity(peakCapacity),
_capacity(objectCapacity),
_peakCapacity(peakObjectCapacity),
_size(0)
{
poco_assert (capacity <= peakCapacity);
poco_assert (objectCapacity <= peakObjectCapacity);
}
ObjectPool(const F& factory, std::size_t capacity, std::size_t peakCapacity):
ObjectPool(const F& factory, std::size_t objectCapacity, std::size_t peakObjectCapacity):
/// Creates a new ObjectPool with the given PoolableObjectFactory,
/// capacity and peak capacity. The PoolableObjectFactory must have
/// a public copy constructor.
_factory(factory),
_capacity(capacity),
_peakCapacity(peakCapacity),
_capacity(objectCapacity),
_peakCapacity(peakObjectCapacity),
_size(0)
{
poco_assert (capacity <= peakCapacity);
poco_assert (objectCapacity <= peakObjectCapacity);
}
~ObjectPool()

View File

@ -89,8 +89,8 @@
#endif
// Enable C++11 support for VS 2010 and newer
#if defined(_MSC_VER) && (_MSC_VER >= 1700) && !defined(POCO_ENABLE_CPP11)
// Enable C++11 support for VS 2014 and newer
#if defined(_MSC_VER) && (_MSC_VER >= 1900) && !defined(POCO_ENABLE_CPP11)
#define POCO_ENABLE_CPP11
#endif

View File

@ -59,7 +59,7 @@ class RecursiveDirectoryIterator
/// * SiblingsFirstRecursiveDirectoryIterator.
///
/// The depth of traversal can be limited by constructor
/// parameter maxDepth (which sets the infinite depth by default).
/// parameter maxTraversalDepth (which sets the infinite depth by default).
{
public:
typedef RecursiveDirectoryIterator<TTravStr> MyType;
@ -75,9 +75,9 @@ public:
{
}
RecursiveDirectoryIterator(const std::string& path, UInt16 maxDepth = D_INFINITE)
RecursiveDirectoryIterator(const std::string& rPath, UInt16 maxTraversalDepth = D_INFINITE)
/// Creates a recursive directory iterator for the given path.
: _pImpl(new ImplType(path, maxDepth)), _path(Path(_pImpl->get())), _file(_path)
: _pImpl(new ImplType(rPath, maxTraversalDepth)), _path(Path(_pImpl->get())), _file(_path)
{
}
@ -87,22 +87,22 @@ public:
{
}
RecursiveDirectoryIterator(const DirectoryIterator& iterator, UInt16 maxDepth = D_INFINITE):
RecursiveDirectoryIterator(const DirectoryIterator& iterator, UInt16 maxTraversalDepth = D_INFINITE):
/// Creates a recursive directory iterator for the path of
/// non-recursive directory iterator.
_pImpl(new ImplType(iterator->path(), maxDepth)), _path(Path(_pImpl->get())), _file(_path)
_pImpl(new ImplType(iterator->path(), maxTraversalDepth)), _path(Path(_pImpl->get())), _file(_path)
{
}
RecursiveDirectoryIterator(const File& file, UInt16 maxDepth = D_INFINITE):
RecursiveDirectoryIterator(const File& file, UInt16 maxTraversalDepth = D_INFINITE):
/// Creates a recursive directory iterator for the given path.
_pImpl(new ImplType(file.path(), maxDepth)), _path(Path(_pImpl->get())), _file(_path)
_pImpl(new ImplType(file.path(), maxTraversalDepth)), _path(Path(_pImpl->get())), _file(_path)
{
}
RecursiveDirectoryIterator(const Path& path, UInt16 maxDepth = D_INFINITE):
RecursiveDirectoryIterator(const Path& rPath, UInt16 maxTraversalDepth = D_INFINITE):
/// Creates a recursive directory iterator for the given path.
_pImpl(new ImplType(path.toString(), maxDepth)), _path(Path(_pImpl->get())), _file(_path)
_pImpl(new ImplType(rPath.toString(), maxTraversalDepth)), _path(Path(_pImpl->get())), _file(_path)
{
}
@ -163,21 +163,21 @@ public:
}
MyType& operator = (const Path& path)
MyType& operator = (const Path& rPath)
{
if (_pImpl)
_pImpl->release();
_pImpl = new ImplType(path.toString());
_pImpl = new ImplType(rPath.toString());
_path = Path(_pImpl->get());
_file = _path;
return *this;
}
MyType& operator = (const std::string& path)
MyType& operator = (const std::string& rPath)
{
if (_pImpl)
_pImpl->release();
_pImpl = new ImplType(path);
_pImpl = new ImplType(rPath);
_path = Path(_pImpl->get());
_file = _path;
return *this;

View File

@ -42,8 +42,8 @@ public:
D_INFINITE = 0 /// Special value for infinite traverse depth.
};
RecursiveDirectoryIteratorImpl(const std::string& path, UInt16 maxDepth = D_INFINITE)
: _maxDepth(maxDepth), _traverseStrategy(std::ptr_fun(depthFun), _maxDepth), _isFinished(false), _rc(1)
RecursiveDirectoryIteratorImpl(const std::string& path, UInt16 maxTraversalDepth = D_INFINITE)
: _maxDepth(maxTraversalDepth), _traverseStrategy(std::ptr_fun(depthFun), _maxDepth), _isFinished(false), _rc(1)
{
_itStack.push(DirectoryIterator(path));
_current = _itStack.top()->path();

View File

@ -58,7 +58,7 @@ public:
typedef std::vector<HashEntry*> HashTableVector;
SimpleHashTable(UInt32 capacity = 251): _entries(capacity, 0), _size(0), _capacity(capacity)
SimpleHashTable(UInt32 tableCapacity = 251): _entries(tableCapacity, 0), _size(0), _capacity(tableCapacity)
/// Creates the SimpleHashTable.
{
}
@ -366,11 +366,11 @@ public:
if (_entries[i])
{
maxEntriesPerHash = 1;
UInt32 size = 1;
UInt32 entrySize = 1;
if (details)
detailedEntriesPerHash.push_back(size);
detailedEntriesPerHash.push_back(entrySize);
#ifdef _DEBUG
totalSize += size;
totalSize += entrySize;
#endif
}
else

View File

@ -78,13 +78,7 @@ public:
/// You must not delete the token returned by next().
private:
struct TokenInfo
{
Token* pToken;
bool ignore;
};
typedef std::vector<TokenInfo> TokenVec;
typedef std::vector<Token*> TokenVec;
TokenVec _tokens;
std::istream* _pIstr;

View File

@ -623,6 +623,22 @@ S cat(const S& delim, const It& begin, const It& end)
}
template <class S>
bool startsWith(const S& str, const S& prefix)
/// Tests whether the string starts with the given prefix.
{
return equal(prefix.begin(), prefix.end(), str.begin());
}
template <class S>
bool endsWith(const S& str, const S& suffix)
/// Tests whether the string ends with the given suffix.
{
return equal(suffix.rbegin(), suffix.rend(), str.rbegin());
}
//
// case-insensitive string equality
//

View File

@ -53,7 +53,7 @@ public:
USER_TOKEN
};
Token();
Token(bool ignore = false);
/// Creates the Token.
virtual ~Token();
@ -108,8 +108,20 @@ public:
bool is(Class tokenClass) const;
/// Returns true iff the token has the given class.
void ignore(bool ignored);
/// If ignored is true, the token will be marked
/// as ignorable, which means that next() will
/// not return it.
/// If ignored is false, the token will be marked
/// as acceptable, which means that next() will
/// return it.
bool ignored() const;
/// return if the token is ignored or not
protected:
std::string _value;
bool _ignored;
private:
Token(const Token&);
@ -118,7 +130,7 @@ private:
class Foundation_API InvalidToken: public Token
/// This token class is used for signalling that
/// This token class is used for signaling that
/// an invalid character sequence has been encountered
/// in the input stream.
{

View File

@ -30,8 +30,8 @@ template <class TKey>
class ValidArgs
{
public:
ValidArgs(const TKey& key):
_key(key),
ValidArgs(const TKey& rKey):
_key(rKey),
_isValid(true)
{
}

View File

@ -14,6 +14,7 @@
#include "Poco/Logger.h"
#include "Poco/AutoPtr.h"
#include "Poco/PatternFormatter.h"
#include "Poco/FormattingChannel.h"
#include "Poco/ConsoleChannel.h"
@ -22,6 +23,7 @@
using Poco::Logger;
using Poco::AutoPtr;
using Poco::PatternFormatter;
using Poco::FormattingChannel;
using Poco::ConsoleChannel;
@ -33,12 +35,16 @@ int main(int argc, char** argv)
{
// set up two channel chains - one to the
// console and the other one to a log file.
FormattingChannel* pFCConsole = new FormattingChannel(new PatternFormatter("%s: %p: %t"));
pFCConsole->setChannel(new ConsoleChannel);
AutoPtr<PatternFormatter> pPatternFormatter(new PatternFormatter("%s: %p: %t"));
AutoPtr<FormattingChannel> pFCConsole(new FormattingChannel(pPatternFormatter));
AutoPtr<ConsoleChannel> pConsoleChannel(new ConsoleChannel());
pFCConsole->setChannel(pConsoleChannel);
pFCConsole->open();
FormattingChannel* pFCFile = new FormattingChannel(new PatternFormatter("%Y-%m-%d %H:%M:%S.%c %N[%P]:%s:%q:%t"));
pFCFile->setChannel(new FileChannel("sample.log"));
AutoPtr<PatternFormatter> pPatternFormatter2(new PatternFormatter("%Y-%m-%d %H:%M:%S.%c %N[%P]:%s:%q:%t"));
AutoPtr<FormattingChannel> pFCFile(new FormattingChannel(pPatternFormatter2));
AutoPtr<FileChannel> pFileChannel(new FileChannel("sample.log"));
pFCFile->setChannel(pFileChannel);
pFCFile->open();
// create two Logger objects - one for
@ -60,6 +66,7 @@ int main(int argc, char** argv)
poco_warning_f2(consoleLogger, "A warning message with arguments: %d, %d", 1, 2);
Logger::get("ConsoleLogger").error("Another error message");
Logger::shutdown();
return 0;
}

View File

@ -69,7 +69,7 @@ namespace Poco {
without -D_GNU_SOURCE is needed, otherwise the GNU version is
preferred.
*/
#if defined _GNU_SOURCE && !POCO_ANDROID
#if (defined __GLIBC__ || defined __UCLIBC__) && defined _GNU_SOURCE && !POCO_ANDROID
char errmsg[256] = "";
return std::string(strerror_r(errorCode, errmsg, 256));
#elif (_XOPEN_SOURCE >= 600) || POCO_ANDROID

View File

@ -20,6 +20,7 @@
#include <algorithm>
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/time.h>
#if defined(POCO_OS_FAMILY_BSD)
#include <sys/param.h>
#include <sys/mount.h>
@ -30,9 +31,15 @@
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <utime.h>
#include <cstring>
namespace{
// Convert timespec structures (seconds and remaining nano secs) to TimeVal (microseconds)
Poco::Timestamp::TimeVal timespec2Microsecs(const struct timespec &ts) {
return ts.tv_sec * 1000000L + ts.tv_nsec / 1000L;
}
} // namespace
namespace Poco {
@ -201,15 +208,29 @@ bool FileImpl::isHiddenImpl() const
Timestamp FileImpl::createdImpl() const
{
poco_assert (!_path.empty());
// first, platforms with birthtime attributes
#if defined(__APPLE__) && defined(st_birthtime) && !defined(POCO_NO_STAT64) // st_birthtime is available only on 10.5
// a macro st_birthtime makes sure there is a st_birthtimespec (nano sec precision)
struct stat64 st;
if (stat64(_path.c_str(), &st) == 0)
return Timestamp::fromEpochTime(st.st_birthtime);
return Timestamp(timespec2Microsecs(st.st_birthtimespec);
#elif defined(__FreeBSD__) && defined(st_birthtime)
// a macro st_birthtime makes sure there is a st_birthtimespec (nano sec precision)
struct stat st;
if (stat(_path.c_str(), &st) == 0)
return Timestamp(timespec2Microsecs(st.st_birthtimespec));
#elif defined(__FreeBSD__)
struct stat st;
if (stat(_path.c_str(), &st) == 0)
return Timestamp::fromEpochTime(st.st_birthtime);
// then platforms with POSIX 2008-09 compatibility (nanosec precision)
// (linux 2.6 and later)
#elif (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809L) \
|| (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 700)
struct stat st;
if (stat(_path.c_str(), &st) == 0)
return Timestamp(timespec2Microsecs(st.st_ctim));
// finally try just stat with status change with precision to the second.
#else
struct stat st;
if (stat(_path.c_str(), &st) == 0)
@ -226,8 +247,17 @@ Timestamp FileImpl::getLastModifiedImpl() const
poco_assert (!_path.empty());
struct stat st;
if (stat(_path.c_str(), &st) == 0)
if (stat(_path.c_str(), &st) == 0) {
#if (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE >= 200809L) \
|| (defined(_XOPEN_SOURCE) && _XOPEN_SOURCE >= 700) \
|| defined(_BSD_SOURCE) || defined(_SVID_SOURCE)
return Timestamp(timespec2Microsecs(st.st_mtim));
#elif defined(__APPLE__)
return Timestamp(timespec2Microsecs(st.st_mtimespec));
#else
return Timestamp::fromEpochTime(st.st_mtime);
#endif
}
else
handleLastErrorImpl(_path);
return 0;
@ -238,10 +268,11 @@ void FileImpl::setLastModifiedImpl(const Timestamp& ts)
{
poco_assert (!_path.empty());
struct utimbuf tb;
tb.actime = ts.epochTime();
tb.modtime = ts.epochTime();
if (utime(_path.c_str(), &tb) != 0)
struct timeval tb[2];
tb[0].tv_sec = ts.epochMicroseconds() / 1000000;
tb[0].tv_usec = ts.epochMicroseconds() % 1000000;
tb[1] = tb[0];
if (utimes(_path.c_str(), tb) != 0)
handleLastErrorImpl(_path);
}

View File

@ -27,7 +27,7 @@ namespace Poco {
//
// ProcessHandleImpl
//
ProcessHandleImpl::ProcessHandleImpl(HANDLE hProcess, UInt32 pid):
ProcessHandleImpl::ProcessHandleImpl(HANDLE hProcess, UInt32 pid) :
_hProcess(hProcess),
_pid(pid)
{
@ -39,6 +39,7 @@ ProcessHandleImpl::~ProcessHandleImpl()
closeHandle();
}
void ProcessHandleImpl::closeHandle()
{
if (_hProcess)
@ -48,6 +49,7 @@ void ProcessHandleImpl::closeHandle()
}
}
UInt32 ProcessHandleImpl::id() const
{
return _pid;
@ -79,7 +81,7 @@ int ProcessHandleImpl::wait() const
//
ProcessImpl::PIDImpl ProcessImpl::idImpl()
{
return GetCurrentProcessId();
return GetCurrentProcessId();
}
@ -93,13 +95,13 @@ void ProcessImpl::timesImpl(long& userTime, long& kernelTime)
if (GetProcessTimes(GetCurrentProcess(), &ftCreation, &ftExit, &ftKernel, &ftUser) != 0)
{
ULARGE_INTEGER time;
time.LowPart = ftKernel.dwLowDateTime;
time.LowPart = ftKernel.dwLowDateTime;
time.HighPart = ftKernel.dwHighDateTime;
kernelTime = long(time.QuadPart/10000000L);
time.LowPart = ftUser.dwLowDateTime;
kernelTime = long(time.QuadPart / 10000000L);
time.LowPart = ftUser.dwLowDateTime;
time.HighPart = ftUser.dwHighDateTime;
userTime = long(time.QuadPart/10000000L);
}
userTime = long(time.QuadPart / 10000000L);
}
else
{
userTime = kernelTime = -1;
@ -107,22 +109,74 @@ void ProcessImpl::timesImpl(long& userTime, long& kernelTime)
}
static bool argNeedsEscaping(const std::string& arg)
{
bool containsQuotableChar = std::string::npos != arg.find_first_of(" \t\n\v\"");
// Assume args that start and end with quotes are already quoted and do not require further quoting.
// There is probably code out there written before launch() escaped the arguments that does its own
// escaping of arguments. This ensures we do not interfere with those arguments.
bool isAlreadyQuoted = arg.size() > 1 && '\"' == arg[0] && '\"' == arg[arg.size() - 1];
return containsQuotableChar && !isAlreadyQuoted;
}
// Based on code from https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
static std::string escapeArg(const std::string& arg)
{
if (argNeedsEscaping(arg))
{
std::string quotedArg("\"");
for (std::string::const_iterator it = arg.begin(); ; ++it)
{
unsigned backslashCount = 0;
while (it != arg.end() && '\\' == *it)
{
++it;
++backslashCount;
}
if (it == arg.end())
{
quotedArg.append(2 * backslashCount, '\\');
break;
}
else if ('"' == *it)
{
quotedArg.append(2 * backslashCount + 1, '\\');
quotedArg.push_back('"');
}
else
{
quotedArg.append(backslashCount, '\\');
quotedArg.push_back(*it);
}
}
quotedArg.push_back('"');
return quotedArg;
}
else
{
return arg;
}
}
ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const ArgsImpl& args, const std::string& initialDirectory, Pipe* inPipe, Pipe* outPipe, Pipe* errPipe, const EnvImpl& env)
{
std::string commandLine = command;
for (ArgsImpl::const_iterator it = args.begin(); it != args.end(); ++it)
{
commandLine.append(" ");
commandLine.append(*it);
}
commandLine.append(escapeArg(*it));
}
STARTUPINFOA startupInfo;
GetStartupInfoA(&startupInfo); // take defaults from current process
startupInfo.cb = sizeof(STARTUPINFOA);
startupInfo.lpReserved = NULL;
startupInfo.lpDesktop = NULL;
startupInfo.lpTitle = NULL;
startupInfo.dwFlags = STARTF_FORCEOFFFEEDBACK;
startupInfo.cb = sizeof(STARTUPINFOA);
startupInfo.lpReserved = NULL;
startupInfo.lpDesktop = NULL;
startupInfo.lpTitle = NULL;
startupInfo.dwFlags = STARTF_FORCEOFFFEEDBACK;
startupInfo.cbReserved2 = 0;
startupInfo.lpReserved2 = NULL;
@ -133,13 +187,13 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
DuplicateHandle(hProc, inPipe->readHandle(), hProc, &startupInfo.hStdInput, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
inPipe->close(Pipe::CLOSE_READ);
}
}
else if (GetStdHandle(STD_INPUT_HANDLE))
{
DuplicateHandle(hProc, GetStdHandle(STD_INPUT_HANDLE), hProc, &startupInfo.hStdInput, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
}
else
}
else
{
startupInfo.hStdInput = 0;
}
@ -154,7 +208,7 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
DuplicateHandle(hProc, GetStdHandle(STD_OUTPUT_HANDLE), hProc, &startupInfo.hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
}
else
else
{
startupInfo.hStdOutput = 0;
}
@ -181,7 +235,7 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
}
const char* workingDirectory = initialDirectory.empty() ? 0 : initialDirectory.c_str();
const char* pEnv = 0;
std::vector<char> envChars;
if (!env.empty())
@ -193,15 +247,15 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
PROCESS_INFORMATION processInfo;
DWORD creationFlags = GetConsoleWindow() ? 0 : CREATE_NO_WINDOW;
BOOL rc = CreateProcessA(
NULL,
const_cast<char*>(commandLine.c_str()),
NULL,
const_cast<char*>(commandLine.c_str()),
NULL, // processAttributes
NULL, // threadAttributes
mustInheritHandles,
creationFlags,
(LPVOID) pEnv,
workingDirectory,
&startupInfo,
(LPVOID)pEnv,
workingDirectory,
&startupInfo,
&processInfo
);
if (startupInfo.hStdInput) CloseHandle(startupInfo.hStdInput);
@ -211,14 +265,14 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
{
CloseHandle(processInfo.hThread);
return new ProcessHandleImpl(processInfo.hProcess, processInfo.dwProcessId);
}
}
else throw SystemException("Cannot launch process", command);
}
void ProcessImpl::killImpl(ProcessHandleImpl& handle)
{
if (handle.process())
if (handle.process())
{
if (TerminateProcess(handle.process(), 0) == 0)
{
@ -240,14 +294,14 @@ void ProcessImpl::killImpl(PIDImpl pid)
throw SystemException("cannot kill process");
}
CloseHandle(hProc);
}
}
else
{
switch (GetLastError())
{
case ERROR_ACCESS_DENIED:
throw NoPermissionException("cannot kill process");
case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_PARAMETER:
throw NotFoundException("cannot kill process");
default:
throw SystemException("cannot kill process");
@ -256,7 +310,7 @@ void ProcessImpl::killImpl(PIDImpl pid)
}
bool ProcessImpl::isRunningImpl(const ProcessHandleImpl& handle)
bool ProcessImpl::isRunningImpl(const ProcessHandleImpl& handle)
{
bool result = true;
DWORD exitCode;
@ -266,7 +320,7 @@ bool ProcessImpl::isRunningImpl(const ProcessHandleImpl& handle)
}
bool ProcessImpl::isRunningImpl(PIDImpl pid)
bool ProcessImpl::isRunningImpl(PIDImpl pid)
{
HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
bool result = true;

View File

@ -28,7 +28,7 @@ namespace Poco {
//
// ProcessHandleImpl
//
ProcessHandleImpl::ProcessHandleImpl(HANDLE hProcess, UInt32 pid):
ProcessHandleImpl::ProcessHandleImpl(HANDLE hProcess, UInt32 pid) :
_hProcess(hProcess),
_pid(pid)
{
@ -40,6 +40,7 @@ ProcessHandleImpl::~ProcessHandleImpl()
closeHandle();
}
void ProcessHandleImpl::closeHandle()
{
if (_hProcess)
@ -49,6 +50,7 @@ void ProcessHandleImpl::closeHandle()
}
}
UInt32 ProcessHandleImpl::id() const
{
return _pid;
@ -80,7 +82,7 @@ int ProcessHandleImpl::wait() const
//
ProcessImpl::PIDImpl ProcessImpl::idImpl()
{
return GetCurrentProcessId();
return GetCurrentProcessId();
}
@ -94,13 +96,13 @@ void ProcessImpl::timesImpl(long& userTime, long& kernelTime)
if (GetProcessTimes(GetCurrentProcess(), &ftCreation, &ftExit, &ftKernel, &ftUser) != 0)
{
ULARGE_INTEGER time;
time.LowPart = ftKernel.dwLowDateTime;
time.LowPart = ftKernel.dwLowDateTime;
time.HighPart = ftKernel.dwHighDateTime;
kernelTime = long(time.QuadPart/10000000L);
time.LowPart = ftUser.dwLowDateTime;
kernelTime = long(time.QuadPart / 10000000L);
time.LowPart = ftUser.dwLowDateTime;
time.HighPart = ftUser.dwHighDateTime;
userTime = long(time.QuadPart/10000000L);
}
userTime = long(time.QuadPart / 10000000L);
}
else
{
userTime = kernelTime = -1;
@ -108,25 +110,77 @@ void ProcessImpl::timesImpl(long& userTime, long& kernelTime)
}
static bool argNeedsEscaping(const std::string& arg)
{
bool containsQuotableChar = std::string::npos != arg.find_first_of(" \t\n\v\"");
// Assume args that start and end with quotes are already quoted and do not require further quoting.
// There is probably code out there written before launch() escaped the arguments that does its own
// escaping of arguments. This ensures we do not interfere with those arguments.
bool isAlreadyQuoted = arg.size() > 1 && '\"' == arg[0] && '\"' == arg[arg.size() - 1];
return containsQuotableChar && !isAlreadyQuoted;
}
// Based on code from https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
static std::string escapeArg(const std::string& arg)
{
if (argNeedsEscaping(arg))
{
std::string quotedArg("\"");
for (std::string::const_iterator it = arg.begin(); ; ++it)
{
unsigned backslashCount = 0;
while (it != arg.end() && '\\' == *it)
{
++it;
++backslashCount;
}
if (it == arg.end())
{
quotedArg.append(2 * backslashCount, '\\');
break;
}
else if ('"' == *it)
{
quotedArg.append(2 * backslashCount + 1, '\\');
quotedArg.push_back('"');
}
else
{
quotedArg.append(backslashCount, '\\');
quotedArg.push_back(*it);
}
}
quotedArg.push_back('"');
return quotedArg;
}
else
{
return arg;
}
}
ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const ArgsImpl& args, const std::string& initialDirectory, Pipe* inPipe, Pipe* outPipe, Pipe* errPipe, const EnvImpl& env)
{
std::string commandLine = command;
for (ArgsImpl::const_iterator it = args.begin(); it != args.end(); ++it)
{
commandLine.append(" ");
commandLine.append(*it);
}
commandLine.append(escapeArg(*it));
}
std::wstring ucommandLine;
UnicodeConverter::toUTF16(commandLine, ucommandLine);
STARTUPINFOW startupInfo;
GetStartupInfoW(&startupInfo); // take defaults from current process
startupInfo.cb = sizeof(STARTUPINFOW);
startupInfo.lpReserved = NULL;
startupInfo.lpDesktop = NULL;
startupInfo.lpTitle = NULL;
startupInfo.dwFlags = STARTF_FORCEOFFFEEDBACK;
startupInfo.cb = sizeof(STARTUPINFOW);
startupInfo.lpReserved = NULL;
startupInfo.lpDesktop = NULL;
startupInfo.lpTitle = NULL;
startupInfo.dwFlags = STARTF_FORCEOFFFEEDBACK;
startupInfo.cbReserved2 = 0;
startupInfo.lpReserved2 = NULL;
@ -137,13 +191,13 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
DuplicateHandle(hProc, inPipe->readHandle(), hProc, &startupInfo.hStdInput, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
inPipe->close(Pipe::CLOSE_READ);
}
}
else if (GetStdHandle(STD_INPUT_HANDLE))
{
DuplicateHandle(hProc, GetStdHandle(STD_INPUT_HANDLE), hProc, &startupInfo.hStdInput, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
}
else
}
else
{
startupInfo.hStdInput = 0;
}
@ -152,13 +206,13 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
{
DuplicateHandle(hProc, outPipe->writeHandle(), hProc, &startupInfo.hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
}
}
else if (GetStdHandle(STD_OUTPUT_HANDLE))
{
DuplicateHandle(hProc, GetStdHandle(STD_OUTPUT_HANDLE), hProc, &startupInfo.hStdOutput, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
}
else
}
else
{
startupInfo.hStdOutput = 0;
}
@ -166,12 +220,12 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
{
DuplicateHandle(hProc, errPipe->writeHandle(), hProc, &startupInfo.hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
}
}
else if (GetStdHandle(STD_ERROR_HANDLE))
{
DuplicateHandle(hProc, GetStdHandle(STD_ERROR_HANDLE), hProc, &startupInfo.hStdError, 0, TRUE, DUPLICATE_SAME_ACCESS);
mustInheritHandles = true;
}
}
else
{
startupInfo.hStdError = 0;
@ -195,19 +249,19 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
envChars = getEnvironmentVariablesBuffer(env);
pEnv = &envChars[0];
}
PROCESS_INFORMATION processInfo;
DWORD creationFlags = GetConsoleWindow() ? 0 : CREATE_NO_WINDOW;
BOOL rc = CreateProcessW(
NULL, // applicationName
const_cast<wchar_t*>(ucommandLine.c_str()),
const_cast<wchar_t*>(ucommandLine.c_str()),
NULL, // processAttributes
NULL, // threadAttributes
mustInheritHandles,
creationFlags,
(LPVOID) pEnv,
(LPVOID)pEnv,
workingDirectory,
&startupInfo,
&startupInfo,
&processInfo
);
if (startupInfo.hStdInput) CloseHandle(startupInfo.hStdInput);
@ -217,7 +271,7 @@ ProcessHandleImpl* ProcessImpl::launchImpl(const std::string& command, const Arg
{
CloseHandle(processInfo.hThread);
return new ProcessHandleImpl(processInfo.hProcess, processInfo.dwProcessId);
}
}
else throw SystemException("Cannot launch process", command);
}
@ -246,14 +300,14 @@ void ProcessImpl::killImpl(PIDImpl pid)
throw SystemException("cannot kill process");
}
CloseHandle(hProc);
}
}
else
{
switch (GetLastError())
{
case ERROR_ACCESS_DENIED:
throw NoPermissionException("cannot kill process");
case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_PARAMETER:
throw NotFoundException("cannot kill process");
default:
throw SystemException("cannot kill process");
@ -262,7 +316,7 @@ void ProcessImpl::killImpl(PIDImpl pid)
}
bool ProcessImpl::isRunningImpl(const ProcessHandleImpl& handle)
bool ProcessImpl::isRunningImpl(const ProcessHandleImpl& handle)
{
bool result = true;
DWORD exitCode;
@ -272,7 +326,7 @@ bool ProcessImpl::isRunningImpl(const ProcessHandleImpl& handle)
}
bool ProcessImpl::isRunningImpl(PIDImpl pid)
bool ProcessImpl::isRunningImpl(PIDImpl pid)
{
HANDLE hProc = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, pid);
bool result = true;

View File

@ -15,6 +15,7 @@
#include "Poco/StreamTokenizer.h"
#include "Poco/Token.h"
namespace Poco {
@ -36,7 +37,7 @@ StreamTokenizer::~StreamTokenizer()
{
for (TokenVec::iterator it = _tokens.begin(); it != _tokens.end(); ++it)
{
delete it->pToken;
delete *it;
}
}
@ -51,10 +52,8 @@ void StreamTokenizer::addToken(Token* pToken)
{
poco_check_ptr (pToken);
TokenInfo ti;
ti.pToken = pToken;
ti.ignore = (pToken->tokenClass() == Token::COMMENT_TOKEN || pToken->tokenClass() == Token::WHITESPACE_TOKEN);
_tokens.push_back(ti);
pToken->ignore(pToken->tokenClass() == Token::COMMENT_TOKEN || pToken->tokenClass() == Token::WHITESPACE_TOKEN);
_tokens.push_back(pToken);
}
@ -62,10 +61,8 @@ void StreamTokenizer::addToken(Token* pToken, bool ignore)
{
poco_check_ptr (pToken);
TokenInfo ti;
ti.pToken = pToken;
ti.ignore = ignore;
_tokens.push_back(ti);
pToken->ignore(ignore);
_tokens.push_back(pToken);
}
@ -79,16 +76,16 @@ const Token* StreamTokenizer::next()
TokenVec::const_iterator it = _tokens.begin();
while (first != eof && it != _tokens.end())
{
const TokenInfo& ti = *it;
if (ti.pToken->start((char) first, *_pIstr))
Token* ti = *it;
if (ti->start((char) first, *_pIstr))
{
ti.pToken->finish(*_pIstr);
if (ti.ignore)
ti->finish(*_pIstr);
if (ti->ignored())
{
first = _pIstr->get();
it = _tokens.begin();
}
else return ti.pToken;
else return *it;
}
else ++it;
}

View File

@ -22,7 +22,7 @@
namespace Poco {
Token::Token()
Token::Token(bool isIgnore) : _ignored(isIgnore)
{
}
@ -94,6 +94,17 @@ char Token::asChar() const
}
void Token::ignore(bool isIgnored)
{
_ignored = isIgnored;
}
bool Token::ignored() const
{
return _ignored;
}
InvalidToken::InvalidToken()
{
}
@ -126,7 +137,7 @@ Token::Class EOFToken::tokenClass() const
}
WhitespaceToken::WhitespaceToken()
WhitespaceToken::WhitespaceToken() : Token(true)
{
}

View File

@ -89,7 +89,7 @@ void DynamicFactoryTest::testDynamicFactory()
try
{
std::auto_ptr<B> b(dynamic_cast<B*>(dynFactory.createInstance("B")));
std::auto_ptr<B> pB(dynamic_cast<B*>(dynFactory.createInstance("B")));
fail("unregistered - must throw");
}
catch (Poco::NotFoundException&)

View File

@ -60,10 +60,10 @@ FileChannelTest::~FileChannelTest()
void FileChannelTest::testRotateBySize()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "2 K");
pChannel->open();
Message msg("source", "This is a log file entry", Message::PRIO_INFORMATION);
@ -71,28 +71,28 @@ void FileChannelTest::testRotateBySize()
{
pChannel->log(msg);
}
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
f = name + ".1";
f = fileName + ".1";
assert (f.exists());
f = name + ".2";
f = fileName + ".2";
assert (!f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testRotateByAge()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "2 seconds");
pChannel->open();
Message msg("source", "This is a log file entry", Message::PRIO_INFORMATION);
@ -101,26 +101,26 @@ void FileChannelTest::testRotateByAge()
pChannel->log(msg);
Thread::sleep(300);
}
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
f = name + ".1";
f = fileName + ".1";
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testRotateAtTimeDayUTC()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_TIMES, "utc");
pChannel->setProperty(FileChannel::PROP_ROTATION, rotation<DateTime>(DAY_HOUR_MIN));
pChannel->open();
@ -132,24 +132,24 @@ void FileChannelTest::testRotateAtTimeDayUTC()
Thread::sleep(1000);
}
pChannel->log(msg);
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testRotateAtTimeDayLocal()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_TIMES, "local");
pChannel->setProperty(FileChannel::PROP_ROTATION, rotation<LocalDateTime>(DAY_HOUR_MIN));
pChannel->open();
@ -161,24 +161,24 @@ void FileChannelTest::testRotateAtTimeDayLocal()
Thread::sleep(1000);
}
pChannel->log(msg);
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testRotateAtTimeHourUTC()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_TIMES, "utc");
pChannel->setProperty(FileChannel::PROP_ROTATION, rotation<DateTime>(HOUR_MIN));
pChannel->open();
@ -190,24 +190,24 @@ void FileChannelTest::testRotateAtTimeHourUTC()
Thread::sleep(1000);
}
pChannel->log(msg);
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testRotateAtTimeHourLocal()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_TIMES, "local");
pChannel->setProperty(FileChannel::PROP_ROTATION, rotation<LocalDateTime>(HOUR_MIN));
pChannel->open();
@ -219,24 +219,24 @@ void FileChannelTest::testRotateAtTimeHourLocal()
Thread::sleep(1000);
}
pChannel->log(msg);
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testRotateAtTimeMinUTC()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_TIMES, "utc");
pChannel->setProperty(FileChannel::PROP_ROTATION, rotation<DateTime>(MIN));
pChannel->open();
@ -248,24 +248,24 @@ void FileChannelTest::testRotateAtTimeMinUTC()
Thread::sleep(1000);
}
pChannel->log(msg);
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testRotateAtTimeMinLocal()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_TIMES, "local");
pChannel->setProperty(FileChannel::PROP_ROTATION, rotation<LocalDateTime>(MIN));
pChannel->open();
@ -277,24 +277,24 @@ void FileChannelTest::testRotateAtTimeMinLocal()
Thread::sleep(1000);
}
pChannel->log(msg);
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testArchive()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "2 K");
pChannel->setProperty(FileChannel::PROP_ARCHIVE, "number");
pChannel->open();
@ -303,24 +303,24 @@ void FileChannelTest::testArchive()
{
pChannel->log(msg);
}
File f(name + ".0");
File f(fileName + ".0");
assert (f.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::testCompress()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "1 K");
pChannel->setProperty(FileChannel::PROP_ARCHIVE, "number");
pChannel->setProperty(FileChannel::PROP_COMPRESS, "true");
@ -331,26 +331,26 @@ void FileChannelTest::testCompress()
pChannel->log(msg);
}
Thread::sleep(3000); // allow time for background compression
File f0(name + ".0.gz");
File f0(fileName + ".0.gz");
assert (f0.exists());
File f1(name + ".1.gz");
File f1(fileName + ".1.gz");
assert (f1.exists());
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::purgeAge(const std::string& pa)
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "1 K");
pChannel->setProperty(FileChannel::PROP_ARCHIVE, "number");
pChannel->setProperty(FileChannel::PROP_PURGEAGE, pa);
@ -360,11 +360,11 @@ void FileChannelTest::purgeAge(const std::string& pa)
{
pChannel->log(msg);
}
File f0(name + ".0");
File f0(fileName + ".0");
assert(f0.exists());
File f1(name + ".1");
File f1(fileName + ".1");
assert(f1.exists());
File f2(name + ".2");
File f2(fileName + ".2");
assert(f2.exists());
Thread::sleep(5000);
@ -377,20 +377,20 @@ void FileChannelTest::purgeAge(const std::string& pa)
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::noPurgeAge(const std::string& npa)
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "1 K");
pChannel->setProperty(FileChannel::PROP_ARCHIVE, "number");
pChannel->setProperty(FileChannel::PROP_PURGEAGE, npa);
@ -400,11 +400,11 @@ void FileChannelTest::noPurgeAge(const std::string& npa)
{
pChannel->log(msg);
}
File f0(name + ".0");
File f0(fileName + ".0");
assert(f0.exists());
File f1(name + ".1");
File f1(fileName + ".1");
assert(f1.exists());
File f2(name + ".2");
File f2(fileName + ".2");
assert(f2.exists());
Thread::sleep(5000);
@ -417,10 +417,10 @@ void FileChannelTest::noPurgeAge(const std::string& npa)
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
@ -442,10 +442,10 @@ void FileChannelTest::testPurgeAge()
void FileChannelTest::purgeCount(const std::string& pc)
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "1 K");
pChannel->setProperty(FileChannel::PROP_ARCHIVE, "number");
pChannel->setProperty(FileChannel::PROP_PURGECOUNT, pc);
@ -456,27 +456,27 @@ void FileChannelTest::purgeCount(const std::string& pc)
pChannel->log(msg);
Thread::sleep(50);
}
File f0(name + ".0");
File f0(fileName + ".0");
assert(f0.exists());
File f1(name + ".1");
File f1(fileName + ".1");
assert(f1.exists());
File f2(name + ".2");
File f2(fileName + ".2");
assert(!f2.exists());
} catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
void FileChannelTest::noPurgeCount(const std::string& npc)
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<FileChannel> pChannel = new FileChannel(name);
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_ROTATION, "1 K");
pChannel->setProperty(FileChannel::PROP_ARCHIVE, "number");
pChannel->setProperty(FileChannel::PROP_PURGECOUNT, npc);
@ -487,18 +487,18 @@ void FileChannelTest::noPurgeCount(const std::string& npc)
pChannel->log(msg);
Thread::sleep(50);
}
File f0(name + ".0");
File f0(fileName + ".0");
assert(f0.exists());
File f1(name + ".1");
File f1(fileName + ".1");
assert(f1.exists());
File f2(name + ".2");
File f2(fileName + ".2");
assert(f2.exists());
} catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
@ -520,8 +520,8 @@ void FileChannelTest::testPurgeCount()
void FileChannelTest::testWrongPurgeOption()
{
std::string name = filename();
AutoPtr<FileChannel> pChannel = new FileChannel(name);
std::string fileName = filename();
AutoPtr<FileChannel> pChannel = new FileChannel(fileName);
pChannel->setProperty(FileChannel::PROP_PURGEAGE, "5 seconds");
try
@ -542,7 +542,7 @@ void FileChannelTest::testWrongPurgeOption()
assert(pChannel->getProperty(FileChannel::PROP_PURGEAGE) == "5 seconds");
}
remove(name);
remove(fileName);
}
@ -569,11 +569,11 @@ void FileChannelTest::remove(const std::string& baseName)
}
++it;
}
for (std::vector<std::string>::iterator it = files.begin(); it != files.end(); ++it)
for (std::vector<std::string>::iterator itFiles = files.begin(); itFiles != files.end(); ++itFiles)
{
try
{
File f(*it);
File f(*itFiles);
f.remove();
} catch (...)
{
@ -584,10 +584,10 @@ void FileChannelTest::remove(const std::string& baseName)
std::string FileChannelTest::filename() const
{
std::string name = "log_";
name.append(DateTimeFormatter::format(Timestamp(), "%Y%m%d%H%M%S"));
name.append(".log");
return name;
std::string ret = "log_";
ret.append(DateTimeFormatter::format(Timestamp(), "%Y%m%d%H%M%S"));
ret.append(".log");
return ret;
}
@ -595,7 +595,7 @@ template <class DT>
std::string FileChannelTest::rotation(TimeRotation rtype) const
{
DT now;
std::string rotation;
std::string ret;
int day = now.dayOfWeek();
int min = now.minute();
@ -615,20 +615,20 @@ std::string FileChannelTest::rotation(TimeRotation rtype) const
switch (rtype)
{
case DAY_HOUR_MIN: // day,hh:m,
rotation = DateTimeFormat::WEEKDAY_NAMES[day];
rotation += ',' + NumberFormatter::format0(hour, 2) + ':' + NumberFormatter::format0(min, 2);
ret = DateTimeFormat::WEEKDAY_NAMES[day];
ret += ',' + NumberFormatter::format0(hour, 2) + ':' + NumberFormatter::format0(min, 2);
break;
case HOUR_MIN: // hh:mm
rotation = NumberFormatter::format0(hour, 2) + ':' + NumberFormatter::format0(min, 2);
ret = NumberFormatter::format0(hour, 2) + ':' + NumberFormatter::format0(min, 2);
break;
case MIN: // mm
rotation = ':' + NumberFormatter::format0(min, 2);
ret = ':' + NumberFormatter::format0(min, 2);
break;
default:
rotation = "";
ret = "";
break;
}
return rotation;
return ret;
}

View File

@ -72,6 +72,41 @@ void ListMapTest::testInsert()
}
void ListMapTest::testInsertOrder()
{
const int N = 1000;
typedef ListMap<std::string, int> StrToIntMap;
StrToIntMap lm;
lm.insert(StrToIntMap::ValueType("foo", 42));
lm.insert(StrToIntMap::ValueType("bar", 43));
StrToIntMap::Iterator it = lm.begin();
assert (it != lm.end() && it->first == "foo" && it->second == 42);
++it;
assert (it != lm.end() && it->first == "bar" && it->second == 43);
++it;
assert (it == lm.end());
lm.insert(StrToIntMap::ValueType("foo", 44));
it = lm.begin();
assert (it != lm.end() && it->first == "foo" && it->second == 42);
++it;
assert (it != lm.end() && it->first == "foo" && it->second == 44);
++it;
assert (it != lm.end() && it->first == "bar" && it->second == 43);
++it;
assert (it == lm.end());
}
void ListMapTest::testErase()
{
const int N = 1000;
@ -239,6 +274,7 @@ CppUnit::Test* ListMapTest::suite()
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ListMapTest");
CppUnit_addTest(pSuite, ListMapTest, testInsert);
CppUnit_addTest(pSuite, ListMapTest, testInsertOrder);
CppUnit_addTest(pSuite, ListMapTest, testErase);
CppUnit_addTest(pSuite, ListMapTest, testIterator);
CppUnit_addTest(pSuite, ListMapTest, testConstIterator);

View File

@ -27,6 +27,7 @@ public:
~ListMapTest();
void testInsert();
void testInsertOrder();
void testErase();
void testIterator();
void testConstIterator();

View File

@ -50,13 +50,13 @@ void NDCTest::testNDC()
void NDCTest::testNDCScope()
{
poco_ndc("item1");
Poco::NDCScope item1("item1", __LINE__, __FILE__);
assert (NDC::current().depth() == 1);
{
poco_ndc("item2");
Poco::NDCScope item2("item2", __LINE__, __FILE__);
assert (NDC::current().depth() == 2);
{
poco_ndc("item3");
Poco::NDCScope item3("item3", __LINE__, __FILE__);
assert (NDC::current().depth() == 3);
NDC::current().dump(std::cout);
}

View File

@ -32,7 +32,7 @@ namespace
class QTestNotification: public Notification
{
public:
QTestNotification(const std::string& data): _data(data)
QTestNotification(const std::string& rData): _data(rData)
{
}
~QTestNotification()

View File

@ -1451,7 +1451,7 @@ void PathTest::testRobustness()
{
int len = r.next(1024);
std::string s;
for (int i = 0; i < len; ++i) s += r.nextChar();
for (int j = 0; j < len; ++j) s += r.nextChar();
try
{
Path p(s, Path::PATH_WINDOWS);

View File

@ -32,7 +32,7 @@ namespace
class QTestNotification: public Notification
{
public:
QTestNotification(const std::string& data): _data(data)
QTestNotification(const std::string& rData): _data(rData)
{
}
~QTestNotification()

View File

@ -39,18 +39,18 @@ ProcessTest::~ProcessTest()
void ProcessTest::testLaunch()
{
std::string name("TestApp");
std::string testName("TestApp");
std::string cmd;
#if defined(POCO_OS_FAMILY_UNIX)
cmd = "./";
cmd += name;
cmd += testName;
#elif defined(_WIN32_WCE)
cmd = "\\";
cmd += name;
cmd += testName;
cmd += ".EXE";
#else
cmd = name;
cmd = testName;
#endif
std::vector<std::string> args;
@ -66,14 +66,14 @@ void ProcessTest::testLaunch()
void ProcessTest::testLaunchRedirectIn()
{
#if !defined(_WIN32_WCE)
std::string name("TestApp");
std::string testName("TestApp");
std::string cmd;
#if defined(POCO_OS_FAMILY_UNIX)
cmd = "./";
cmd += name;
cmd += testName;
#else
cmd = name;
cmd = testName;
#endif
std::vector<std::string> args;
@ -92,14 +92,14 @@ void ProcessTest::testLaunchRedirectIn()
void ProcessTest::testLaunchRedirectOut()
{
#if !defined(_WIN32_WCE)
std::string name("TestApp");
std::string testName("TestApp");
std::string cmd;
#if defined(POCO_OS_FAMILY_UNIX)
cmd = "./";
cmd += name;
cmd += testName;
#else
cmd = name;
cmd = testName;
#endif
std::vector<std::string> args;
@ -120,14 +120,14 @@ void ProcessTest::testLaunchRedirectOut()
void ProcessTest::testLaunchEnv()
{
#if !defined(_WIN32_WCE)
std::string name("TestApp");
std::string testName("TestApp");
std::string cmd;
#if defined(POCO_OS_FAMILY_UNIX)
cmd = "./";
cmd += name;
cmd += testName;
#else
cmd = name;
cmd = testName;
#endif
std::vector<std::string> args;
@ -147,17 +147,70 @@ void ProcessTest::testLaunchEnv()
}
void ProcessTest::testLaunchArgs()
{
#if defined (_WIN32) && !defined(_WIN32_WCE)
std::string name("TestApp");
std::string cmd = name;
std::vector<std::string> args;
args.push_back("-echo-args");
args.push_back("simple");
args.push_back("with space");
args.push_back("with\ttab");
args.push_back("with\vverticaltab");
// can't test newline here because TestApp -echo-args uses newline to separate the echoed args
//args.push_back("with\nnewline");
args.push_back("with \" quotes");
args.push_back("ends with \"quotes\"");
args.push_back("\"starts\" with quotes");
args.push_back("\"");
args.push_back("\\");
args.push_back("c:\\program files\\ends with backslash\\");
args.push_back("\"already quoted \\\" \\\\\"");
Pipe outPipe;
ProcessHandle ph = Process::launch(cmd, args, 0, &outPipe, 0);
PipeInputStream istr(outPipe);
std::string receivedArg;
int c = istr.get();
int argNumber = 1;
while (c != -1)
{
if ('\n' == c)
{
assert(argNumber < args.size());
std::string expectedArg = args[argNumber];
if (expectedArg.npos != expectedArg.find("already quoted")) {
expectedArg = "already quoted \" \\";
}
assert(receivedArg == expectedArg);
++argNumber;
receivedArg = "";
}
else if ('\r' != c)
{
receivedArg += (char)c;
}
c = istr.get();
}
assert(argNumber == args.size());
int rc = ph.wait();
assert(rc == args.size());
#endif // !defined(_WIN32_WCE)
}
void ProcessTest::testIsRunning()
{
#if !defined(_WIN32_WCE)
std::string name("TestApp");
std::string testName("TestApp");
std::string cmd;
#if defined(POCO_OS_FAMILY_UNIX)
cmd = "./";
cmd += name;
cmd += testName;
#else
cmd = name;
cmd = testName;
#endif
std::vector<std::string> args;
@ -180,14 +233,14 @@ void ProcessTest::testIsRunning()
void ProcessTest::testIsRunningAllowsForTermination()
{
#if !defined(_WIN32_WCE)
std::string name("TestApp");
std::string testName("TestApp");
std::string cmd;
#if defined(POCO_OS_FAMILY_UNIX)
cmd = "./";
cmd += name;
cmd += testName;
#else
cmd = name;
cmd = testName;
#endif
std::vector<std::string> args;
@ -201,11 +254,11 @@ void ProcessTest::testIsRunningAllowsForTermination()
void ProcessTest::testSignalExitCode()
{
#if defined(POCO_OS_FAMILY_UNIX)
std::string name("TestApp");
std::string testName("TestApp");
std::string cmd;
cmd = "./";
cmd += name;
cmd += testName;
std::vector<std::string> args;
args.push_back("-raise-int");
@ -234,6 +287,7 @@ CppUnit::Test* ProcessTest::suite()
CppUnit_addTest(pSuite, ProcessTest, testLaunchRedirectIn);
CppUnit_addTest(pSuite, ProcessTest, testLaunchRedirectOut);
CppUnit_addTest(pSuite, ProcessTest, testLaunchEnv);
CppUnit_addTest(pSuite, ProcessTest, testLaunchArgs);
CppUnit_addTest(pSuite, ProcessTest, testIsRunning);
CppUnit_addTest(pSuite, ProcessTest, testIsRunningAllowsForTermination);
CppUnit_addTest(pSuite, ProcessTest, testSignalExitCode);

View File

@ -30,6 +30,7 @@ public:
void testLaunchRedirectIn();
void testLaunchRedirectOut();
void testLaunchEnv();
void testLaunchArgs();
void testIsRunning();
void testIsRunningAllowsForTermination();
void testSignalExitCode();

View File

@ -45,10 +45,10 @@ SimpleFileChannelTest::~SimpleFileChannelTest()
void SimpleFileChannelTest::testRotate()
{
std::string name = filename();
std::string fileName = filename();
try
{
AutoPtr<SimpleFileChannel> pChannel = new SimpleFileChannel(name);
AutoPtr<SimpleFileChannel> pChannel = new SimpleFileChannel(fileName);
pChannel->setProperty(SimpleFileChannel::PROP_ROTATION, "2 K");
pChannel->open();
Message msg("source", "This is a log file entry", Message::PRIO_INFORMATION);
@ -56,18 +56,18 @@ void SimpleFileChannelTest::testRotate()
{
pChannel->log(msg);
}
File f(name);
File f(fileName);
assert (f.exists());
f = name + ".0";
f = fileName + ".0";
assert (f.exists());
assert (f.getSize() >= 2048);
}
catch (...)
{
remove(name);
remove(fileName);
throw;
}
remove(name);
remove(fileName);
}
@ -94,11 +94,11 @@ void SimpleFileChannelTest::remove(const std::string& baseName)
}
++it;
}
for (std::vector<std::string>::iterator it = files.begin(); it != files.end(); ++it)
for (std::vector<std::string>::iterator itFiles = files.begin(); itFiles != files.end(); ++itFiles)
{
try
{
File f(*it);
File f(*itFiles);
f.remove();
}
catch (...)
@ -110,10 +110,10 @@ void SimpleFileChannelTest::remove(const std::string& baseName)
std::string SimpleFileChannelTest::filename() const
{
std::string name = "log_";
name.append(DateTimeFormatter::format(Timestamp(), "%Y%m%d%H%M%S"));
name.append(".log");
return name;
std::string ret = "log_";
ret.append(DateTimeFormatter::format(Timestamp(), "%Y%m%d%H%M%S"));
ret.append(".log");
return ret;
}

View File

@ -251,20 +251,80 @@ void StreamTokenizerTest::testTokenizer7()
tokenizer.addToken(new WhitespaceToken());
tokenizer.addToken(new IdentifierToken());
tokenizer.addToken(new IntLiteralToken());
const Token* next = tokenizer.next();
assert (next->tokenClass() == Token::IDENTIFIER_TOKEN);
assert (next->tokenString() == "foo");
assert(next->tokenClass() == Token::IDENTIFIER_TOKEN);
assert(next->tokenString() == "foo");
next = tokenizer.next();
assert (next->tokenClass() == Token::INTEGER_LITERAL_TOKEN);
assert (next->asInteger() == 123);
assert(next->tokenClass() == Token::INTEGER_LITERAL_TOKEN);
assert(next->asInteger() == 123);
next = tokenizer.next();
assert (next->tokenClass() == Token::EOF_TOKEN);
assert(next->tokenClass() == Token::EOF_TOKEN);
}
void StreamTokenizerTest::testTokenizer8()
{
std::string data = " foo 123 ";
std::istringstream istr(data);
StreamTokenizer tokenizer(istr);
Token* whitespace = new WhitespaceToken();
tokenizer.addToken(whitespace);
tokenizer.addToken(new IdentifierToken());
tokenizer.addToken(new IntLiteralToken());
const Token* next = tokenizer.next();
assert(next->tokenClass() == Token::IDENTIFIER_TOKEN);
assert(next->tokenString() == "foo");
whitespace->ignore(false);
next = tokenizer.next();
assert(next->tokenClass() == Token::WHITESPACE_TOKEN);
assert(next->asString() == " ");
next = tokenizer.next();
assert(next->tokenClass() == Token::INTEGER_LITERAL_TOKEN);
assert(next->asInteger() == 123);
next = tokenizer.next();
assert(next->tokenClass() == Token::WHITESPACE_TOKEN);
assert(next->asString() == " ");
next = tokenizer.next();
assert(next->tokenClass() == Token::EOF_TOKEN);
}
void StreamTokenizerTest::testTokenizer9()
{
std::string data = " foo 123 ";
std::istringstream istr(data);
StreamTokenizer tokenizer(istr);
Token* whitespace = new WhitespaceToken();
tokenizer.addToken(whitespace);
tokenizer.addToken(new IdentifierToken());
tokenizer.addToken(new IntLiteralToken());
const Token* next = tokenizer.next();
assert(next->tokenClass() == Token::IDENTIFIER_TOKEN);
assert(next->tokenString() == "foo");
whitespace->ignore(false);
next = tokenizer.next();
assert(next->tokenClass() == Token::WHITESPACE_TOKEN);
assert(next->asString() == " ");
next = tokenizer.next();
assert(next->tokenClass() == Token::INTEGER_LITERAL_TOKEN);
assert(next->asInteger() == 123);
whitespace->ignore(true);
next = tokenizer.next();
assert(next->tokenClass() == Token::EOF_TOKEN);
}
void StreamTokenizerTest::setUp()
{
}
@ -286,6 +346,8 @@ CppUnit::Test* StreamTokenizerTest::suite()
CppUnit_addTest(pSuite, StreamTokenizerTest, testTokenizer5);
CppUnit_addTest(pSuite, StreamTokenizerTest, testTokenizer6);
CppUnit_addTest(pSuite, StreamTokenizerTest, testTokenizer7);
CppUnit_addTest(pSuite, StreamTokenizerTest, testTokenizer8);
CppUnit_addTest(pSuite, StreamTokenizerTest, testTokenizer9);
return pSuite;
}

View File

@ -33,6 +33,8 @@ public:
void testTokenizer5();
void testTokenizer6();
void testTokenizer7();
void testTokenizer8();
void testTokenizer9();
void setUp();
void tearDown();

View File

@ -47,6 +47,8 @@ using Poco::replaceInPlace;
using Poco::remove;
using Poco::removeInPlace;
using Poco::cat;
using Poco::startsWith;
using Poco::endsWith;
using Poco::strToInt;
using Poco::strToFloat;
using Poco::strToDouble;
@ -80,8 +82,8 @@ void StringTest::testTrimLeft()
std::string s = "abc";
assert (trimLeft(s) == "abc");
}
std::string s = " abc ";
assert (trimLeft(s) == "abc ");
std::string s2 = " abc ";
assert (trimLeft(s2) == "abc ");
{
std::string s = " ab c ";
assert (trimLeft(s) == "ab c ");
@ -435,6 +437,55 @@ void StringTest::testCat()
}
void StringTest::testStartsWith()
{
std::string s1("o");
assert (startsWith(s1, std::string("o")));
assert (startsWith(s1, std::string("")));
assert (!startsWith(s1, std::string("O")));
assert (!startsWith(s1, std::string("1")));
std::string s2("");
assert (startsWith(s2, std::string("")));
assert (!startsWith(s2, std::string("o")));
std::string s3("oO");
assert (startsWith(s3, std::string("o")));
assert (!startsWith(s3, std::string(" o")));
}
void StringTest::testEndsWith()
{
std::string s1("o");
assert (endsWith(s1, std::string("o")));
assert (endsWith(s1, std::string("")));
assert (!endsWith(s1, std::string("O")));
assert (!endsWith(s1, std::string("1")));
std::string s2("");
assert (endsWith(s2, std::string("")));
assert (!endsWith(s2, std::string("o")));
std::string s3("Oo");
assert (endsWith(s3, std::string("o")));
assert (!endsWith(s3, std::string("o ")));
}
void StringTest::testStringToInt()
{
//gcc on Mac emits warnings that cannot be suppressed
@ -1187,6 +1238,8 @@ CppUnit::Test* StringTest::suite()
CppUnit_addTest(pSuite, StringTest, testReplace);
CppUnit_addTest(pSuite, StringTest, testReplaceInPlace);
CppUnit_addTest(pSuite, StringTest, testCat);
CppUnit_addTest(pSuite, StringTest, testStartsWith);
CppUnit_addTest(pSuite, StringTest, testEndsWith);
CppUnit_addTest(pSuite, StringTest, testStringToInt);
CppUnit_addTest(pSuite, StringTest, testStringToFloat);
CppUnit_addTest(pSuite, StringTest, testStringToDouble);

View File

@ -44,6 +44,8 @@ public:
void testReplace();
void testReplaceInPlace();
void testCat();
void testStartsWith();
void testEndsWith();
void testStringToInt();
void testStringToFloat();

View File

@ -209,7 +209,7 @@ namespace
class CustomTaskObserver
{
public:
CustomTaskObserver(const C& custom): _custom(custom)
CustomTaskObserver(const C& rCustom): _custom(rCustom)
{
}

View File

@ -52,6 +52,13 @@ int main(int argc, char** argv)
std::signal(SIGINT, SIG_DFL);
std::raise(SIGINT);
}
else if (arg == "-echo-args")
{
for (int i = 2; i < argc; ++i)
{
std::cout << argv[i] << std::endl;
}
}
}
return argc - 1;
}

View File

@ -28,7 +28,7 @@ namespace
class QTestNotification: public Notification
{
public:
QTestNotification(const std::string& data): _data(data)
QTestNotification(const std::string& rData): _data(rData)
{
}
~QTestNotification()

View File

@ -2511,13 +2511,13 @@ void VarTest::testEmpty()
try
{
int i = da;
int j = da;
fail ("must fail");
} catch (InvalidAccessException&) { }
try
{
int i = da.extract<int>();
int j = da.extract<int>();
fail ("must fail");
} catch (InvalidAccessException&) { }
}

View File

@ -47,7 +47,7 @@ class JSON_API Array
/// Var result = parser.parse(json);
/// Array::Ptr arr = result.extract<Array::Ptr>();
/// Object::Ptr object = arr->getObject(0); // object == {\"test\" : 0}
/// int i = object->getValue<int>("test"); // i == 0;
/// int i = object->getElement<int>("test"); // i == 0;
/// Object::Ptr subObject = *arr->getObject(1); // subObject == {\"test\" : 0}
/// Array subArr::Ptr = subObject->getArray("test1"); // subArr == [1, 2, 3]
/// i = result = subArr->get(0); // i == 1;

View File

@ -62,11 +62,15 @@ void Stringifier::stringify(const Var& any, std::ostream& out, unsigned int inde
if (any.type() == typeid(char)) formatString(value, out);
else out << value;
}
else
else if (any.isString() || any.isDateTime() || any.isDate() || any.isTime())
{
std::string value = any.convert<std::string>();
formatString(value, out);
}
else
{
out << any.convert<std::string>();
}
}

View File

@ -23,6 +23,8 @@
#include "Poco/TextConverter.h"
#include "Poco/Nullable.h"
#include "Poco/Dynamic/Struct.h"
#include "Poco/DateTime.h"
#include "Poco/DateTimeFormatter.h"
#include <set>
#include <iostream>
@ -30,9 +32,10 @@
using namespace Poco::JSON;
using namespace Poco::Dynamic;
using Poco::DynamicStruct;
using Poco::DateTime;
using Poco::DateTimeFormatter;
JSONTest::JSONTest(const std::string& name): CppUnit::TestCase("JSON")
JSONTest::JSONTest(const std::string& rName): CppUnit::TestCase("JSON")
{
}
@ -897,6 +900,12 @@ void JSONTest::testStringElement()
Poco::Dynamic::Array da = *array;
assert (da.size() == 1);
assert (da[0] == "value");
std::stringstream s;
json = "[ \"\\u0017\" ]";
Var v = Parser().parse(json);
Stringifier::condense(v, s);
assert(s.str() == "[\"\\u0017\"]");
}
@ -1245,6 +1254,27 @@ void JSONTest::testPrintHandler()
void JSONTest::testStringify()
{
std::ostringstream os;
Var i = 123;
Stringifier::stringify(i, os);
assert(os.str() == "123");
os.str("");
Var f = 123.456;
Stringifier::stringify(f, os);
assert(os.str() == "123.456");
os.str("");
Var s = "abcdef";
Stringifier::stringify(s, os);
assert(os.str() == "\"abcdef\"");
os.str("");
DateTime dt;
Var d = dt;
Stringifier::stringify(d, os);
assert(os.str() == std::string("\"" + DateTimeFormatter::format(dt, Poco::DateTimeFormat::ISO8601_FORMAT) + "\""));
std::string str1 = "\r";
std::string str2 = "\n";
Poco::JSON::Object obj1, obj2;

View File

@ -86,7 +86,10 @@ public:
{
try
{
_pool.returnObject(_connection);
if (_connection)
{
_pool.returnObject(_connection);
}
}
catch (...)
{
@ -99,7 +102,24 @@ public:
return _connection;
}
#if defined(POCO_ENABLE_CPP11)
// Disable copy to prevent unwanted release of resources: C++11 way
PooledConnection(const PooledConnection&) = delete;
PooledConnection& operator=(const PooledConnection&) = delete;
// Enable move semantics
PooledConnection(PooledConnection&& other) = default;
PooledConnection& operator=(PooledConnection&&) = default;
#endif
private:
#if ! defined(POCO_ENABLE_CPP11)
// Disable copy to prevent unwanted release of resources: pre C++11 way
PooledConnection(const PooledConnection&);
PooledConnection& operator=(const PooledConnection&);
#endif
Poco::ObjectPool<Connection, Connection::Ptr>& _pool;
Connection::Ptr _connection;
};

View File

@ -220,6 +220,7 @@ std::ostream& HTTPClientSession::sendRequest(HTTPRequest& request)
}
_reconnect = keepAlive;
_expectResponseBody = request.getMethod() != HTTPRequest::HTTP_HEAD;
const std::string& method = request.getMethod();
if (request.getChunkedTransferEncoding())
{
HTTPHeaderOutputStream hos(*this);
@ -237,7 +238,7 @@ std::ostream& HTTPClientSession::sendRequest(HTTPRequest& request)
#endif
request.write(*_pRequestStream);
}
else if ((request.getMethod() != HTTPRequest::HTTP_PUT && request.getMethod() != HTTPRequest::HTTP_POST) || request.has(HTTPRequest::UPGRADE))
else if ((method != HTTPRequest::HTTP_PUT && method != HTTPRequest::HTTP_POST && method != HTTPRequest::HTTP_PATCH) || request.has(HTTPRequest::UPGRADE))
{
Poco::CountingOutputStream cs;
request.write(cs);

View File

@ -133,7 +133,8 @@ int WebSocketImpl::receiveHeader(char mask[4], bool& useMask)
Poco::UInt64 l;
reader >> l;
payloadLength = static_cast<int>(l);
} else if (lengthByte == 126)
}
else if (lengthByte == 126)
{
n = receiveNBytes(header + 2, 2);
if (n <= 0)

View File

@ -57,9 +57,11 @@ namespace
do
{
n = ws.receiveFrame(pBuffer.get(), _bufSize, flags);
if (n == 0)
break;
ws.sendFrame(pBuffer.get(), n, flags);
}
while (n > 0 || (flags & WebSocket::FRAME_OP_BITMASK) != WebSocket::FRAME_OP_CLOSE);
while ((flags & WebSocket::FRAME_OP_BITMASK) != WebSocket::FRAME_OP_CLOSE);
}
catch (WebSocketException& exc)
{

View File

@ -9,7 +9,7 @@
include $(POCO_BASE)/build/rules/global
# Cygwin Poco*.dll should be on PATH
ifeq ($(OSNAME), CYGWIN)
ifeq ($(OSNAME), Cygwin)
PATH :=$(LIBPATH):$(PATH)
endif

File diff suppressed because one or more lines are too long

View File

@ -3,14 +3,14 @@
<head>
<title>${PocoDoc.software} - Reference Library</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="author" content="${PocoDoc.company}"/>
<meta name="author" content="Applied Informatics Software Engineering GmbH and Contributors"/>
<meta name="generator" content="PocoDoc"/>
<link rel="stylesheet" href="css/styles.css" type="text/css"/>
<script type="text/javascript" src="js/iframeResizer.min.js"></script>
</head>
<body>
<div class="header">
<h1 class="category">${PocoDoc.software}</h1>
<h1 class="category">POCO C++ Libraries</h1>
<h1 class="title">Reference Library</h1>
</div>
<div class="body">

View File

@ -1,7 +1,7 @@
//
// DocWriter.cpp
//
// $Id: //poco/1.4/PocoDoc/src/DocWriter.cpp#4 $
// $Id: //poco/1.7/PocoDoc/src/DocWriter.cpp#3 $
//
// Copyright (c) 2005-2014, Applied Informatics Software Engineering GmbH.
// and Contributors.
@ -2192,6 +2192,7 @@ void DocWriter::writePage(Page& page)
writeCopyright(ostr);
endContent(ostr);
endBody(ostr);
ostr << "<script>CollapsibleLists.apply(true)</script>" << std::endl;
writeFooter(ostr);
}
@ -2229,8 +2230,8 @@ void DocWriter::scanTOC(const std::string& text, TOC& toc)
void DocWriter::writeTOC(std::ostream& ostr, const TOC& toc)
{
ostr << "<h2>" << tr("TOC") << "</h2>" << std::endl;
ostr << "<div class=\"toc\">" << std::endl;
ostr << "<ul class=\"collapsibleList\"><li>" << tr("TOC") << std::endl;
int lastLevel = 0;
for (TOC::const_iterator it = toc.begin(); it != toc.end(); ++it)
{
@ -2257,7 +2258,7 @@ void DocWriter::writeTOC(std::ostream& ostr, const TOC& toc)
{
ostr << "</li></ul>" << std::endl;
}
ostr << "</li></ul></div>" << std::endl;
ostr << "</li></ul></li></ul></div>" << std::endl;
}

View File

@ -1,7 +1,7 @@
//
// DocWriter.h
//
// $Id: //poco/1.4/PocoDoc/src/DocWriter.h#2 $
// $Id: //poco/1.7/PocoDoc/src/DocWriter.h#2 $
//
// Definition of the DocWriter class.
//

View File

@ -1,7 +1,7 @@
//
// PocoDoc.cpp
//
// $Id: //poco/1.4/PocoDoc/src/PocoDoc.cpp#2 $
// $Id: //poco/1.7/PocoDoc/src/PocoDoc.cpp#2 $
//
// Copyright (c) 2005-2014, Applied Informatics Software Engineering GmbH.
// and Contributors.

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
@ -32,7 +32,7 @@
<RootNamespace>Redis</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">PocoRedisd</TargetName>
@ -132,7 +132,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -163,9 +163,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -193,7 +193,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoRedismtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -218,9 +218,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -240,7 +240,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoRedismdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -265,10 +265,10 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib\PocoRedismd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -276,29 +276,28 @@
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="include\Poco\Redis\RedisEventArgs.cpp"/>
<ClCompile Include="src\Array.cpp"/>
<ClCompile Include="src\AsyncReader.cpp"/>
<ClCompile Include="src\Client.cpp"/>
<ClCompile Include="src\Command.cpp"/>
<ClCompile Include="src\Error.cpp"/>
<ClCompile Include="src\Exception.cpp"/>
<ClCompile Include="src\RedisEventArgs.cpp"/>
<ClCompile Include="src\RedisStream.cpp"/>
<ClCompile Include="src\Type.cpp"/>
<ClCompile Include="src\Array.cpp" />
<ClCompile Include="src\AsyncReader.cpp" />
<ClCompile Include="src\Client.cpp" />
<ClCompile Include="src\Command.cpp" />
<ClCompile Include="src\Error.cpp" />
<ClCompile Include="src\Exception.cpp" />
<ClCompile Include="src\RedisEventArgs.cpp" />
<ClCompile Include="src\RedisStream.cpp" />
<ClCompile Include="src\Type.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Redis\Array.h"/>
<ClInclude Include="include\Poco\Redis\AsyncReader.h"/>
<ClInclude Include="include\Poco\Redis\Client.h"/>
<ClInclude Include="include\Poco\Redis\Command.h"/>
<ClInclude Include="include\Poco\Redis\Error.h"/>
<ClInclude Include="include\Poco\Redis\Exception.h"/>
<ClInclude Include="include\Poco\Redis\PoolableConnectionFactory.h"/>
<ClInclude Include="include\Poco\Redis\Redis.h"/>
<ClInclude Include="include\Poco\Redis\RedisStream.h"/>
<ClInclude Include="include\Poco\Redis\Type.h"/>
<ClInclude Include="include\Poco\Redis\Array.h" />
<ClInclude Include="include\Poco\Redis\AsyncReader.h" />
<ClInclude Include="include\Poco\Redis\Client.h" />
<ClInclude Include="include\Poco\Redis\Command.h" />
<ClInclude Include="include\Poco\Redis\Error.h" />
<ClInclude Include="include\Poco\Redis\Exception.h" />
<ClInclude Include="include\Poco\Redis\PoolableConnectionFactory.h" />
<ClInclude Include="include\Poco\Redis\Redis.h" />
<ClInclude Include="include\Poco\Redis\RedisStream.h" />
<ClInclude Include="include\Poco\Redis\Type.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -36,9 +36,6 @@
<ClCompile Include="src\Type.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="include\Poco\Redis\RedisEventArgs.cpp">
<Filter>Header Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Redis\Array.h">

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|x64">
@ -32,7 +32,7 @@
<RootNamespace>Redis</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
@ -63,27 +63,27 @@
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props"/>
<ImportGroup Label="ExtensionSettings"/>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings" />
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="PropertySheets">
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props"/>
<Import Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>14.0.23107.0</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">PocoRedis64d</TargetName>
@ -132,7 +132,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
@ -163,9 +163,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Link>
@ -193,7 +193,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib64\PocoRedismtd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -218,9 +218,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -240,7 +240,7 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<ProgramDataBaseFileName>..\lib64\PocoRedismdd.pdb</ProgramDataBaseFileName>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
@ -265,9 +265,9 @@
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<PrecompiledHeader />
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<DebugInformationFormat />
<CompileAs>Default</CompileAs>
</ClCompile>
<Lib>
@ -275,29 +275,28 @@
</Lib>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="include\Poco\Redis\RedisEventArgs.cpp"/>
<ClCompile Include="src\Array.cpp"/>
<ClCompile Include="src\AsyncReader.cpp"/>
<ClCompile Include="src\Client.cpp"/>
<ClCompile Include="src\Command.cpp"/>
<ClCompile Include="src\Error.cpp"/>
<ClCompile Include="src\Exception.cpp"/>
<ClCompile Include="src\RedisEventArgs.cpp"/>
<ClCompile Include="src\RedisStream.cpp"/>
<ClCompile Include="src\Type.cpp"/>
<ClCompile Include="src\Array.cpp" />
<ClCompile Include="src\AsyncReader.cpp" />
<ClCompile Include="src\Client.cpp" />
<ClCompile Include="src\Command.cpp" />
<ClCompile Include="src\Error.cpp" />
<ClCompile Include="src\Exception.cpp" />
<ClCompile Include="src\RedisEventArgs.cpp" />
<ClCompile Include="src\RedisStream.cpp" />
<ClCompile Include="src\Type.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Redis\Array.h"/>
<ClInclude Include="include\Poco\Redis\AsyncReader.h"/>
<ClInclude Include="include\Poco\Redis\Client.h"/>
<ClInclude Include="include\Poco\Redis\Command.h"/>
<ClInclude Include="include\Poco\Redis\Error.h"/>
<ClInclude Include="include\Poco\Redis\Exception.h"/>
<ClInclude Include="include\Poco\Redis\PoolableConnectionFactory.h"/>
<ClInclude Include="include\Poco\Redis\Redis.h"/>
<ClInclude Include="include\Poco\Redis\RedisStream.h"/>
<ClInclude Include="include\Poco\Redis\Type.h"/>
<ClInclude Include="include\Poco\Redis\Array.h" />
<ClInclude Include="include\Poco\Redis\AsyncReader.h" />
<ClInclude Include="include\Poco\Redis\Client.h" />
<ClInclude Include="include\Poco\Redis\Command.h" />
<ClInclude Include="include\Poco\Redis\Error.h" />
<ClInclude Include="include\Poco\Redis\Exception.h" />
<ClInclude Include="include\Poco\Redis\PoolableConnectionFactory.h" />
<ClInclude Include="include\Poco\Redis\Redis.h" />
<ClInclude Include="include\Poco\Redis\RedisStream.h" />
<ClInclude Include="include\Poco\Redis\Type.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -36,9 +36,6 @@
<ClCompile Include="src\Type.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="include\Poco\Redis\RedisEventArgs.cpp">
<Filter>Header Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\Poco\Redis\Array.h">

View File

@ -40,7 +40,7 @@ class Util_API Timer: protected Poco::Runnable
/// sequentially. Therefore, tasks should complete their work as quickly
/// as possible, otherwise subsequent tasks may be delayed.
///
/// Timer is save for multithreaded use - multiple threads can schedule
/// Timer is safe for multithreaded use - multiple threads can schedule
/// new tasks simultaneously.
///
/// Acknowledgement: The interface of this class has been inspired by

View File

@ -32,7 +32,7 @@ using Poco::Int64;
using Poco::UInt64;
AbstractConfigurationTest::AbstractConfigurationTest(const std::string& name): CppUnit::TestCase(name)
AbstractConfigurationTest::AbstractConfigurationTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

View File

@ -26,7 +26,7 @@ using Poco::Util::MapConfiguration;
using Poco::AutoPtr;
ConfigurationMapperTest::ConfigurationMapperTest(const std::string& name): AbstractConfigurationTest(name)
ConfigurationMapperTest::ConfigurationMapperTest(const std::string& rName): AbstractConfigurationTest(rName)
{
}

View File

@ -24,7 +24,7 @@ using Poco::Util::MapConfiguration;
using Poco::AutoPtr;
ConfigurationViewTest::ConfigurationViewTest(const std::string& name): AbstractConfigurationTest(name)
ConfigurationViewTest::ConfigurationViewTest(const std::string& rName): AbstractConfigurationTest(rName)
{
}

View File

@ -24,7 +24,7 @@ using Poco::Util::AbstractConfiguration;
using Poco::AutoPtr;
FilesystemConfigurationTest::FilesystemConfigurationTest(const std::string& name): AbstractConfigurationTest(name),
FilesystemConfigurationTest::FilesystemConfigurationTest(const std::string& rName): AbstractConfigurationTest(rName),
_path("TestConfiguration")
{
}

View File

@ -24,7 +24,7 @@ using Poco::Util::OptionSet;
using Poco::Util::HelpFormatter;
HelpFormatterTest::HelpFormatterTest(const std::string& name): CppUnit::TestCase(name)
HelpFormatterTest::HelpFormatterTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

View File

@ -27,7 +27,7 @@ using Poco::NotImplementedException;
using Poco::NotFoundException;
IniFileConfigurationTest::IniFileConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
IniFileConfigurationTest::IniFileConfigurationTest(const std::string& rName): AbstractConfigurationTest(rName)
{
}

View File

@ -25,7 +25,7 @@ using Poco::NotFoundException;
using Poco::JSON::JSONException;
JSONConfigurationTest::JSONConfigurationTest(const std::string& name) : AbstractConfigurationTest(name)
JSONConfigurationTest::JSONConfigurationTest(const std::string& rName) : AbstractConfigurationTest(rName)
{
}

View File

@ -28,7 +28,7 @@ using Poco::NotFoundException;
using Poco::RuntimeException;
LayeredConfigurationTest::LayeredConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
LayeredConfigurationTest::LayeredConfigurationTest(const std::string& rName): AbstractConfigurationTest(rName)
{
}

View File

@ -44,7 +44,7 @@ using Poco::Message;
using Poco::AutoPtr;
LoggingConfiguratorTest::LoggingConfiguratorTest(const std::string& name): CppUnit::TestCase(name)
LoggingConfiguratorTest::LoggingConfiguratorTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

View File

@ -22,7 +22,7 @@ using Poco::Util::MapConfiguration;
using Poco::AutoPtr;
MapConfigurationTest::MapConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
MapConfigurationTest::MapConfigurationTest(const std::string& rName): AbstractConfigurationTest(rName)
{
}

View File

@ -24,7 +24,7 @@ using Poco::Util::OptionSet;
using Poco::Util::OptionProcessor;
OptionProcessorTest::OptionProcessorTest(const std::string& name): CppUnit::TestCase(name)
OptionProcessorTest::OptionProcessorTest(const std::string& rName): CppUnit::TestCase(rName)
{
}
@ -81,58 +81,58 @@ void OptionProcessorTest::testUnix()
.repeatable(false));
OptionProcessor p1(set);
std::string name;
std::string optionName;
std::string value;
assert (p1.process("-I/usr/include", name, value));
assert (name == "include-dir");
assert (p1.process("-I/usr/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/include");
assert (p1.process("--include:/usr/local/include", name, value));
assert (name == "include-dir");
assert (p1.process("--include:/usr/local/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/local/include");
assert (p1.process("-I", name, value));
assert (name.empty());
assert (p1.process("-I", optionName, value));
assert (optionName.empty());
assert (value.empty());
assert (p1.process("/usr/include", name, value));
assert (name == "include-dir");
assert (p1.process("/usr/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/include");
assert (p1.process("-I", name, value));
assert (name.empty());
assert (p1.process("-I", optionName, value));
assert (optionName.empty());
assert (value.empty());
assert (p1.process("-L", name, value));
assert (name == "include-dir");
assert (p1.process("-L", optionName, value));
assert (optionName == "include-dir");
assert (value == "-L");
assert (p1.process("--lib=/usr/local/lib", name, value));
assert (name == "library-dir");
assert (p1.process("--lib=/usr/local/lib", optionName, value));
assert (optionName == "library-dir");
assert (value == "/usr/local/lib");
assert (p1.process("-ofile", name, value));
assert (name == "output");
assert (p1.process("-ofile", optionName, value));
assert (optionName == "output");
assert (value == "file");
assert (!p1.process("src/file.cpp", name, value));
assert (!p1.process("/src/file.cpp", name, value));
assert (!p1.process("src/file.cpp", optionName, value));
assert (!p1.process("/src/file.cpp", optionName, value));
try
{
p1.process("--output:file", name, value);
p1.process("--output:file", optionName, value);
fail("duplicate - must throw");
}
catch (Poco::Util::DuplicateOptionException&)
{
}
assert (p1.process("-g", name, value));
assert (name == "debug");
assert (p1.process("-g", optionName, value));
assert (optionName == "debug");
assert (value == "");
try
{
p1.process("--optimize", name, value);
p1.process("--optimize", optionName, value);
fail("incompatible - must throw");
}
catch (Poco::Util::IncompatibleOptionsException&)
@ -141,7 +141,7 @@ void OptionProcessorTest::testUnix()
try
{
p1.process("-x", name, value);
p1.process("-x", optionName, value);
fail("unknown option - must throw");
}
catch (Poco::Util::UnknownOptionException&)
@ -150,7 +150,7 @@ void OptionProcessorTest::testUnix()
try
{
p1.process("--in", name, value);
p1.process("--in", optionName, value);
fail("ambiguous option - must throw");
}
catch (Poco::Util::AmbiguousOptionException&)
@ -207,51 +207,51 @@ void OptionProcessorTest::testDefault()
OptionProcessor p1(set);
p1.setUnixStyle(false);
std::string name;
std::string optionName;
std::string value;
assert (p1.process("/Inc:/usr/include", name, value));
assert (name == "include-dir");
assert (p1.process("/Inc:/usr/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/include");
assert (p1.process("/include:/usr/local/include", name, value));
assert (name == "include-dir");
assert (p1.process("/include:/usr/local/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/local/include");
assert (p1.process("/Inc", name, value));
assert (name.empty());
assert (p1.process("/Inc", optionName, value));
assert (optionName.empty());
assert (value.empty());
assert (p1.process("/usr/include", name, value));
assert (name == "include-dir");
assert (p1.process("/usr/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/include");
assert (p1.process("/lib=/usr/local/lib", name, value));
assert (name == "library-dir");
assert (p1.process("/lib=/usr/local/lib", optionName, value));
assert (optionName == "library-dir");
assert (value == "/usr/local/lib");
assert (p1.process("/out:file", name, value));
assert (name == "output");
assert (p1.process("/out:file", optionName, value));
assert (optionName == "output");
assert (value == "file");
assert (!p1.process("src/file.cpp", name, value));
assert (!p1.process("\\src\\file.cpp", name, value));
assert (!p1.process("src/file.cpp", optionName, value));
assert (!p1.process("\\src\\file.cpp", optionName, value));
try
{
p1.process("/output:file", name, value);
p1.process("/output:file", optionName, value);
fail("duplicate - must throw");
}
catch (Poco::Util::DuplicateOptionException&)
{
}
assert (p1.process("/debug", name, value));
assert (name == "debug");
assert (p1.process("/debug", optionName, value));
assert (optionName == "debug");
assert (value == "");
try
{
p1.process("/OPT", name, value);
p1.process("/OPT", optionName, value);
fail("incompatible - must throw");
}
catch (Poco::Util::IncompatibleOptionsException&)
@ -260,7 +260,7 @@ void OptionProcessorTest::testDefault()
try
{
p1.process("/x", name, value);
p1.process("/x", optionName, value);
fail("unknown option - must throw");
}
catch (Poco::Util::UnknownOptionException&)
@ -269,7 +269,7 @@ void OptionProcessorTest::testDefault()
try
{
p1.process("/in", name, value);
p1.process("/in", optionName, value);
fail("ambiguous option - must throw");
}
catch (Poco::Util::AmbiguousOptionException&)
@ -287,7 +287,7 @@ void OptionProcessorTest::testRequired()
.repeatable(true));
OptionProcessor p1(set);
std::string name;
std::string optionName;
std::string value;
try
@ -299,7 +299,7 @@ void OptionProcessorTest::testRequired()
{
}
assert (p1.process("-o", name, value));
assert (p1.process("-o", optionName, value));
p1.checkRequired();
}
@ -321,37 +321,37 @@ void OptionProcessorTest::testArgs()
.argument("level", false));
OptionProcessor p1(set);
std::string name;
std::string optionName;
std::string value;
assert (p1.process("-I/usr/include", name, value));
assert (name == "include-dir");
assert (p1.process("-I/usr/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/include");
assert (p1.process("--include:/usr/local/include", name, value));
assert (name == "include-dir");
assert (p1.process("--include:/usr/local/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/local/include");
assert (p1.process("-I", name, value));
assert (name.empty());
assert (p1.process("-I", optionName, value));
assert (optionName.empty());
assert (value.empty());
assert (p1.process("/usr/include", name, value));
assert (name == "include-dir");
assert (p1.process("/usr/include", optionName, value));
assert (optionName == "include-dir");
assert (value == "/usr/include");
assert (p1.process("-I", name, value));
assert (name.empty());
assert (p1.process("-I", optionName, value));
assert (optionName.empty());
assert (value.empty());
assert (p1.process("-L", name, value));
assert (name == "include-dir");
assert (p1.process("-L", optionName, value));
assert (optionName == "include-dir");
assert (value == "-L");
assert (p1.process("-O", name, value));
assert (name == "optimize");
assert (p1.process("-O", optionName, value));
assert (optionName == "optimize");
assert (value.empty());
assert (p1.process("-O2", name, value));
assert (name == "optimize");
assert (p1.process("-O2", optionName, value));
assert (optionName == "optimize");
assert (value == "2");
}

View File

@ -22,7 +22,7 @@ using Poco::Util::OptionSet;
using Poco::Util::Option;
OptionSetTest::OptionSetTest(const std::string& name): CppUnit::TestCase(name)
OptionSetTest::OptionSetTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

View File

@ -20,7 +20,7 @@
using Poco::Util::Option;
OptionTest::OptionTest(const std::string& name): CppUnit::TestCase(name)
OptionTest::OptionTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

View File

@ -26,7 +26,7 @@ using Poco::AutoPtr;
using Poco::NotFoundException;
PropertyFileConfigurationTest::PropertyFileConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
PropertyFileConfigurationTest::PropertyFileConfigurationTest(const std::string& rName): AbstractConfigurationTest(rName)
{
}

View File

@ -34,7 +34,7 @@ using Poco::InvalidAccessException;
using Poco::NotFoundException;
SystemConfigurationTest::SystemConfigurationTest(const std::string& name): CppUnit::TestCase(name)
SystemConfigurationTest::SystemConfigurationTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

View File

@ -24,7 +24,7 @@ using Poco::Timestamp;
using Poco::Clock;
TimerTest::TimerTest(const std::string& name): CppUnit::TestCase(name)
TimerTest::TimerTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

View File

@ -28,7 +28,7 @@ using Poco::Util::InvalidArgumentException;
using Poco::AutoPtr;
ValidatorTest::ValidatorTest(const std::string& name): CppUnit::TestCase(name)
ValidatorTest::ValidatorTest(const std::string& rName): CppUnit::TestCase(rName)
{
}

Some files were not shown because too many files have changed in this diff Show More