1
0
mirror of https://github.com/VCMP-SqMod/SqMod.git synced 2025-09-17 09:47:18 +02:00

Major plugin refactor and cleanup.

Switched to POCO library for unified platform/library interface.
Deprecated the external module API. It was creating more problems than solving.
Removed most built-in libraries in favor of system libraries for easier maintenance.
Cleaned and secured code with help from static analyzers.
This commit is contained in:
Sandu Liviu Catalin
2021-01-30 08:51:39 +02:00
parent e0e34b4030
commit 4a6bfc086c
6219 changed files with 1209835 additions and 454916 deletions

View File

@@ -0,0 +1,39 @@
# Sources
file(GLOB SRCS_G "src/*.cpp")
POCO_SOURCES_AUTO(TEST_SRCS ${SRCS_G})
# Headers
file(GLOB_RECURSE HDRS_G "src/*.h")
POCO_HEADERS_AUTO(TEST_SRCS ${HDRS_G})
POCO_SOURCES_AUTO_PLAT(TEST_SRCS WIN32
src/WinConfigurationTest.cpp
src/WinRegistryTest.cpp
src/WinServiceTest.cpp
src/WindowsTestSuite.cpp
)
POCO_SOURCES_AUTO_PLAT(TEST_SRCS OFF
src/WinDriver.cpp
)
POCO_SOURCES_AUTO_PLAT(TEST_SRCS WINCE
src/WinCEDriver.cpp
)
add_executable(Util-testrunner ${TEST_SRCS})
if(ANDROID)
add_test(
NAME Util
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
COMMAND ${CMAKE_COMMAND} -DANDROID_NDK=${ANDROID_NDK} -DLIBRARY_DIR=${CMAKE_BINARY_DIR}/lib -DUNITTEST=${CMAKE_BINARY_DIR}/bin/Util-testrunner -DTEST_PARAMETER=-all -P ${CMAKE_SOURCE_DIR}/cmake/ExecuteOnAndroid.cmake
)
else()
add_test(
NAME Util
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMAND Util-testrunner -ignore ${CMAKE_SOURCE_DIR}/cppignore.lnx -all
)
set_tests_properties(Util PROPERTIES ENVIRONMENT POCO_BASE=${CMAKE_SOURCE_DIR})
endif()
target_link_libraries(Util-testrunner PUBLIC Poco::Util Poco::JSON Poco::XML CppUnit)

28
vendor/POCO/Util/testsuite/Makefile vendored Normal file
View File

@@ -0,0 +1,28 @@
#
# Makefile
#
# Makefile for Poco Util testsuite
#
include $(POCO_BASE)/build/rules/global
objects = AbstractConfigurationTest ConfigurationTestSuite \
ConfigurationMapperTest ConfigurationViewTest Driver \
HelpFormatterTest IniFileConfigurationTest LayeredConfigurationTest \
LoggingConfiguratorTest MapConfigurationTest \
OptionProcessorTest OptionSetTest OptionTest \
OptionsTestSuite PropertyFileConfigurationTest \
SystemConfigurationTest UtilTestSuite XMLConfigurationTest \
FilesystemConfigurationTest ValidatorTest \
TimerTestSuite TimerTest \
JSONConfigurationTest
target = testrunner
target_version = 1
target_libs = PocoUtil PocoXML PocoJSON PocoFoundation CppUnit
include $(POCO_BASE)/build/rules/exec
ifdef POCO_UNBUNDLED
SYSLIBS += -lz -lpcre -lexpat
endif

View File

@@ -0,0 +1,10 @@
vc.project.guid = E40E738C-447B-40F4-A878-EBA9A2459270
vc.project.name = TestSuite
vc.project.target = TestSuite
vc.project.type = testsuite
vc.project.pocobase = ..\\..
vc.project.platforms = Win32
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\XML\\include;..\\..\\JSON\\include
vc.project.linker.dependencies.Win32 = iphlpapi.lib

View File

@@ -0,0 +1,713 @@
<?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">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>TestSuite</ProjectName>
<ProjectGuid>{E40E738C-447B-40F4-A878-EBA9A2459270}</ProjectGuid>
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</ImportGroup>
<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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>14.0.25420.1</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">TestSuite</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\AbstractConfigurationTest.h"/>
<ClInclude Include="src\ConfigurationMapperTest.h"/>
<ClInclude Include="src\ConfigurationTestSuite.h"/>
<ClInclude Include="src\ConfigurationViewTest.h"/>
<ClInclude Include="src\FilesystemConfigurationTest.h"/>
<ClInclude Include="src\HelpFormatterTest.h"/>
<ClInclude Include="src\IniFileConfigurationTest.h"/>
<ClInclude Include="src\JSONConfigurationTest.h"/>
<ClInclude Include="src\LayeredConfigurationTest.h"/>
<ClInclude Include="src\LoggingConfiguratorTest.h"/>
<ClInclude Include="src\MapConfigurationTest.h"/>
<ClInclude Include="src\OptionProcessorTest.h"/>
<ClInclude Include="src\OptionSetTest.h"/>
<ClInclude Include="src\OptionsTestSuite.h"/>
<ClInclude Include="src\OptionTest.h"/>
<ClInclude Include="src\PropertyFileConfigurationTest.h"/>
<ClInclude Include="src\SystemConfigurationTest.h"/>
<ClInclude Include="src\TimerTest.h"/>
<ClInclude Include="src\TimerTestSuite.h"/>
<ClInclude Include="src\UtilTestSuite.h"/>
<ClInclude Include="src\ValidatorTest.h"/>
<ClInclude Include="src\WinConfigurationTest.h"/>
<ClInclude Include="src\WindowsTestSuite.h"/>
<ClInclude Include="src\WinRegistryTest.h"/>
<ClInclude Include="src\WinServiceTest.h"/>
<ClInclude Include="src\XMLConfigurationTest.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationMapperTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationViewTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\Driver.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\FilesystemConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\HelpFormatterTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\IniFileConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\JSONConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\LayeredConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\LoggingConfiguratorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\MapConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionProcessorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionSetTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionsTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\PropertyFileConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\SystemConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\TimerTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\TimerTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\UtilTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ValidatorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WindowsTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinRegistryTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinServiceTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\XMLConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Application">
<UniqueIdentifier>{8b8be8ce-e711-4870-8510-9d1b8c6b71c3}</UniqueIdentifier>
</Filter>
<Filter Include="Application\Header Files">
<UniqueIdentifier>{1d1f85c8-fe49-4842-8938-6f84048a3741}</UniqueIdentifier>
</Filter>
<Filter Include="Application\Source Files">
<UniqueIdentifier>{5178617c-c9a7-4d28-8ff3-fb5e03b962de}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite">
<UniqueIdentifier>{6c92e69c-aa14-4c75-a070-d856e939b493}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Header Files">
<UniqueIdentifier>{804387c6-d4c5-47b4-ab36-43f18335d4d1}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Source Files">
<UniqueIdentifier>{366da429-0ece-4fc0-95f8-b46329cd8345}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver">
<UniqueIdentifier>{5c2feab1-95fb-4d31-b3ee-db2385b8a866}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver\Source Files">
<UniqueIdentifier>{40abcb43-5fe1-4d61-86f4-7a3d61d1b661}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration">
<UniqueIdentifier>{7dc6c883-9f05-4eee-900b-bed0a31e5040}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration\Header Files">
<UniqueIdentifier>{c8044dde-2361-4a42-abc4-7c3f8a512ded}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration\Source Files">
<UniqueIdentifier>{3195531e-5b81-4a48-86b3-a513d9091660}</UniqueIdentifier>
</Filter>
<Filter Include="Options">
<UniqueIdentifier>{1aee29da-484f-4970-a5a6-0ed6c92bc728}</UniqueIdentifier>
</Filter>
<Filter Include="Options\Header Files">
<UniqueIdentifier>{bf3e93c3-4747-4b9f-8b83-6e2456ce9cfe}</UniqueIdentifier>
</Filter>
<Filter Include="Options\Source Files">
<UniqueIdentifier>{05e53d46-729c-41ed-968e-7f9f89a73c86}</UniqueIdentifier>
</Filter>
<Filter Include="Windows">
<UniqueIdentifier>{2a5320cd-a66f-4586-b3f1-0466b41211ed}</UniqueIdentifier>
</Filter>
<Filter Include="Windows\Header Files">
<UniqueIdentifier>{327fdc7a-02a1-4fa9-825a-18cd3bb0f8fe}</UniqueIdentifier>
</Filter>
<Filter Include="Windows\Source Files">
<UniqueIdentifier>{bd8c305e-6a61-4c0a-a9e4-a4a426f92f62}</UniqueIdentifier>
</Filter>
<Filter Include="Timer">
<UniqueIdentifier>{3a5487c1-0daf-4f72-a18d-cbd3ee3811a1}</UniqueIdentifier>
</Filter>
<Filter Include="Timer\Header Files">
<UniqueIdentifier>{03466718-9d51-4f86-af8a-e7c47d28de86}</UniqueIdentifier>
</Filter>
<Filter Include="Timer\Source Files">
<UniqueIdentifier>{e974ed15-a900-426b-9082-4dce0c450239}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\UtilTestSuite.h">
<Filter>_Suite\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\AbstractConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationMapperTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationTestSuite.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationViewTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\FilesystemConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\IniFileConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\JSONConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LayeredConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LoggingConfiguratorTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\MapConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PropertyFileConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SystemConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\XMLConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HelpFormatterTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionProcessorTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionSetTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionsTestSuite.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ValidatorTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinConfigurationTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WindowsTestSuite.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinRegistryTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinServiceTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TimerTest.h">
<Filter>Timer\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TimerTestSuite.h">
<Filter>Timer\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\UtilTestSuite.cpp">
<Filter>_Suite\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Driver.cpp">
<Filter>_Driver\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\AbstractConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationMapperTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationTestSuite.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationViewTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\FilesystemConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\IniFileConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\JSONConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LayeredConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoggingConfiguratorTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\MapConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PropertyFileConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SystemConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\XMLConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpFormatterTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionProcessorTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionSetTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionsTestSuite.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ValidatorTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinConfigurationTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WindowsTestSuite.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinRegistryTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinServiceTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TimerTest.cpp">
<Filter>Timer\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TimerTestSuite.cpp">
<Filter>Timer\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,713 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>TestSuite</ProjectName>
<ProjectGuid>{E40E738C-447B-40F4-A878-EBA9A2459270}</ProjectGuid>
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v141</PlatformToolset>
</PropertyGroup>
<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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</ImportGroup>
<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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">TestSuite</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\AbstractConfigurationTest.h"/>
<ClInclude Include="src\ConfigurationMapperTest.h"/>
<ClInclude Include="src\ConfigurationTestSuite.h"/>
<ClInclude Include="src\ConfigurationViewTest.h"/>
<ClInclude Include="src\FilesystemConfigurationTest.h"/>
<ClInclude Include="src\HelpFormatterTest.h"/>
<ClInclude Include="src\IniFileConfigurationTest.h"/>
<ClInclude Include="src\JSONConfigurationTest.h"/>
<ClInclude Include="src\LayeredConfigurationTest.h"/>
<ClInclude Include="src\LoggingConfiguratorTest.h"/>
<ClInclude Include="src\MapConfigurationTest.h"/>
<ClInclude Include="src\OptionProcessorTest.h"/>
<ClInclude Include="src\OptionSetTest.h"/>
<ClInclude Include="src\OptionsTestSuite.h"/>
<ClInclude Include="src\OptionTest.h"/>
<ClInclude Include="src\PropertyFileConfigurationTest.h"/>
<ClInclude Include="src\SystemConfigurationTest.h"/>
<ClInclude Include="src\TimerTest.h"/>
<ClInclude Include="src\TimerTestSuite.h"/>
<ClInclude Include="src\UtilTestSuite.h"/>
<ClInclude Include="src\ValidatorTest.h"/>
<ClInclude Include="src\WinConfigurationTest.h"/>
<ClInclude Include="src\WindowsTestSuite.h"/>
<ClInclude Include="src\WinRegistryTest.h"/>
<ClInclude Include="src\WinServiceTest.h"/>
<ClInclude Include="src\XMLConfigurationTest.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationMapperTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationViewTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\Driver.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\FilesystemConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\HelpFormatterTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\IniFileConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\JSONConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\LayeredConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\LoggingConfiguratorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\MapConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionProcessorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionSetTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionsTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\PropertyFileConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\SystemConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\TimerTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\TimerTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\UtilTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ValidatorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WindowsTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinRegistryTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinServiceTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\XMLConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Application">
<UniqueIdentifier>{da81f2f8-95fe-481f-bdae-c18b07260dbe}</UniqueIdentifier>
</Filter>
<Filter Include="Application\Header Files">
<UniqueIdentifier>{0d922934-9029-46f2-b52f-b03d556b9199}</UniqueIdentifier>
</Filter>
<Filter Include="Application\Source Files">
<UniqueIdentifier>{4c9e5666-aa5a-4dde-8df3-ae6215201ea5}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite">
<UniqueIdentifier>{678ed976-4c4a-42db-ba53-8bfa4151d844}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Header Files">
<UniqueIdentifier>{fdb1a500-642d-448e-b2e0-308ed49cc612}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Source Files">
<UniqueIdentifier>{983026c8-5dcd-4fdb-bab9-d4fe65848531}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver">
<UniqueIdentifier>{a5bbd50a-d44a-4b5b-98dd-a6a79b299354}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver\Source Files">
<UniqueIdentifier>{f428aa7a-49fc-45ff-b432-f9a270c6dcd4}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration">
<UniqueIdentifier>{8049e320-3b1e-4613-9f57-950c2d33ee84}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration\Header Files">
<UniqueIdentifier>{a96a70d5-ee5f-4c48-a9b9-5d32b3792fb5}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration\Source Files">
<UniqueIdentifier>{af642dc6-e087-440d-aab9-3264bc750e19}</UniqueIdentifier>
</Filter>
<Filter Include="Options">
<UniqueIdentifier>{523c674d-b100-439b-afa2-39bff0afb9ca}</UniqueIdentifier>
</Filter>
<Filter Include="Options\Header Files">
<UniqueIdentifier>{c6fcae7b-2af3-4d28-909b-899d793ad3f2}</UniqueIdentifier>
</Filter>
<Filter Include="Options\Source Files">
<UniqueIdentifier>{c0288c1f-c003-41e7-9ee0-b8213e8cf148}</UniqueIdentifier>
</Filter>
<Filter Include="Windows">
<UniqueIdentifier>{a9eb6eaf-65b8-4901-a388-ff53d1c7f201}</UniqueIdentifier>
</Filter>
<Filter Include="Windows\Header Files">
<UniqueIdentifier>{f4370438-b816-4aff-a035-f5b2333bb813}</UniqueIdentifier>
</Filter>
<Filter Include="Windows\Source Files">
<UniqueIdentifier>{fbbf92a2-5eab-4814-9f59-debadfe825ac}</UniqueIdentifier>
</Filter>
<Filter Include="Timer">
<UniqueIdentifier>{88aee672-f7a5-4ecf-b53e-9fbdb811e366}</UniqueIdentifier>
</Filter>
<Filter Include="Timer\Header Files">
<UniqueIdentifier>{132ee7bb-91a9-4203-965e-82e8a11dba66}</UniqueIdentifier>
</Filter>
<Filter Include="Timer\Source Files">
<UniqueIdentifier>{0b28156d-e662-4140-8443-6cb9d292b9f5}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\UtilTestSuite.h">
<Filter>_Suite\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\AbstractConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationMapperTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationTestSuite.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationViewTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\FilesystemConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\IniFileConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\JSONConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LayeredConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LoggingConfiguratorTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\MapConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PropertyFileConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SystemConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\XMLConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HelpFormatterTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionProcessorTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionSetTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionsTestSuite.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ValidatorTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinConfigurationTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WindowsTestSuite.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinRegistryTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinServiceTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TimerTest.h">
<Filter>Timer\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TimerTestSuite.h">
<Filter>Timer\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\UtilTestSuite.cpp">
<Filter>_Suite\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Driver.cpp">
<Filter>_Driver\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\AbstractConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationMapperTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationTestSuite.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationViewTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\FilesystemConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\IniFileConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\JSONConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LayeredConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoggingConfiguratorTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\MapConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PropertyFileConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SystemConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\XMLConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpFormatterTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionProcessorTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionSetTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionsTestSuite.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ValidatorTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinConfigurationTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WindowsTestSuite.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinRegistryTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinServiceTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TimerTest.cpp">
<Filter>Timer\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TimerTestSuite.cpp">
<Filter>Timer\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,713 @@
<?xml version="1.0" encoding="UTF-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="debug_shared|Win32">
<Configuration>debug_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_shared|x64">
<Configuration>debug_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|Win32">
<Configuration>debug_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_md|x64">
<Configuration>debug_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|Win32">
<Configuration>debug_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="debug_static_mt|x64">
<Configuration>debug_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|Win32">
<Configuration>release_shared</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_shared|x64">
<Configuration>release_shared</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|Win32">
<Configuration>release_static_md</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_md|x64">
<Configuration>release_static_md</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|Win32">
<Configuration>release_static_mt</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="release_static_mt|x64">
<Configuration>release_static_mt</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>TestSuite</ProjectName>
<ProjectGuid>{E40E738C-447B-40F4-A878-EBA9A2459270}</ProjectGuid>
<RootNamespace>TestSuite</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props"/>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v142</PlatformToolset>
</PropertyGroup>
<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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</ImportGroup>
<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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</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"/>
</ImportGroup>
<PropertyGroup Label="UserMacros"/>
<PropertyGroup>
<_ProjectFileVersion>15.0.28307.799</_ProjectFileVersion>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">TestSuited</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">TestSuite</TargetName>
<TargetName Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">TestSuite</TargetName>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<OutDir>bin\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<OutDir>bin\static_mt\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<OutDir>bin\static_md\</OutDir>
<IntDir>obj\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<OutDir>bin64\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<OutDir>bin64\static_mt\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>true</LinkIncremental>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<OutDir>bin64\static_md\</OutDir>
<IntDir>obj64\TestSuite\$(Configuration)\</IntDir>
<LinkIncremental>false</LinkIncremental>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|Win32'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\CppUnit\WinTestRunner\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|Win32'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX86</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_shared|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitd.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_shared|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnit.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_mt|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmtd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_mt\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_mt|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmt.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_mt\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug_static_md|x64'">
<ClCompile>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
<BufferSecurityCheck>true</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmdd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuited.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<SuppressStartupBanner>true</SuppressStartupBanner>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>bin64\static_md\TestSuited.pdb</ProgramDatabaseFile>
<SubSystem>Console</SubSystem>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release_static_md|x64'">
<ClCompile>
<Optimization>MaxSpeed</Optimization>
<InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
<OmitFramePointers>true</OmitFramePointers>
<AdditionalIncludeDirectories>..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;WINVER=0x0600;POCO_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<StringPooling>true</StringPooling>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<BufferSecurityCheck>false</BufferSecurityCheck>
<TreatWChar_tAsBuiltInType>true</TreatWChar_tAsBuiltInType>
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader/>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat/>
<CompileAs>Default</CompileAs>
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<Link>
<AdditionalDependencies>CppUnitmd.lib;iphlpapi.lib;winmm.lib;iphlpapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
<OutputFile>bin64\static_md\TestSuite.exe</OutputFile>
<AdditionalLibraryDirectories>..\..\lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<GenerateDebugInformation>false</GenerateDebugInformation>
<SubSystem>Console</SubSystem>
<OptimizeReferences>true</OptimizeReferences>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<TargetMachine>MachineX64</TargetMachine>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="src\AbstractConfigurationTest.h"/>
<ClInclude Include="src\ConfigurationMapperTest.h"/>
<ClInclude Include="src\ConfigurationTestSuite.h"/>
<ClInclude Include="src\ConfigurationViewTest.h"/>
<ClInclude Include="src\FilesystemConfigurationTest.h"/>
<ClInclude Include="src\HelpFormatterTest.h"/>
<ClInclude Include="src\IniFileConfigurationTest.h"/>
<ClInclude Include="src\JSONConfigurationTest.h"/>
<ClInclude Include="src\LayeredConfigurationTest.h"/>
<ClInclude Include="src\LoggingConfiguratorTest.h"/>
<ClInclude Include="src\MapConfigurationTest.h"/>
<ClInclude Include="src\OptionProcessorTest.h"/>
<ClInclude Include="src\OptionSetTest.h"/>
<ClInclude Include="src\OptionsTestSuite.h"/>
<ClInclude Include="src\OptionTest.h"/>
<ClInclude Include="src\PropertyFileConfigurationTest.h"/>
<ClInclude Include="src\SystemConfigurationTest.h"/>
<ClInclude Include="src\TimerTest.h"/>
<ClInclude Include="src\TimerTestSuite.h"/>
<ClInclude Include="src\UtilTestSuite.h"/>
<ClInclude Include="src\ValidatorTest.h"/>
<ClInclude Include="src\WinConfigurationTest.h"/>
<ClInclude Include="src\WindowsTestSuite.h"/>
<ClInclude Include="src\WinRegistryTest.h"/>
<ClInclude Include="src\WinServiceTest.h"/>
<ClInclude Include="src\XMLConfigurationTest.h"/>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\AbstractConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationMapperTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ConfigurationViewTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\Driver.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\FilesystemConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\HelpFormatterTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\IniFileConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\JSONConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\LayeredConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\LoggingConfiguratorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\MapConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionProcessorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionSetTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionsTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\OptionTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\PropertyFileConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\SystemConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\TimerTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\TimerTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\UtilTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\ValidatorTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WindowsTestSuite.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinRegistryTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\WinServiceTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
<ClCompile Include="src\XMLConfigurationTest.cpp">
<MultiProcessorCompilation>true</MultiProcessorCompilation>
</ClCompile>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets"/>
<ImportGroup Label="ExtensionTargets"/>
</Project>

View File

@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Application">
<UniqueIdentifier>{41b409fc-c3af-4703-b6b3-16b118e802c1}</UniqueIdentifier>
</Filter>
<Filter Include="Application\Header Files">
<UniqueIdentifier>{3fb3512b-be8a-449e-88d9-11b18ce3f067}</UniqueIdentifier>
</Filter>
<Filter Include="Application\Source Files">
<UniqueIdentifier>{bde1fd0d-73a3-4a38-857e-c427f6e9e10f}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite">
<UniqueIdentifier>{0f0f8abb-33fd-4d77-a01e-79f13bc6882b}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Header Files">
<UniqueIdentifier>{839d13eb-b569-45e6-8b8e-4c5c9b1cc8f2}</UniqueIdentifier>
</Filter>
<Filter Include="_Suite\Source Files">
<UniqueIdentifier>{eeae5702-b1e5-49d0-a976-675c5196f85f}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver">
<UniqueIdentifier>{6c15e223-446b-41a2-a2fc-7867b142ce9f}</UniqueIdentifier>
</Filter>
<Filter Include="_Driver\Source Files">
<UniqueIdentifier>{1d46d19e-f91f-484d-affe-cbe99bed5aff}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration">
<UniqueIdentifier>{1b500f87-2fde-46a7-96ee-8e757c8b65b4}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration\Header Files">
<UniqueIdentifier>{7a1801e9-aad9-40d5-8ce4-26eb644af77b}</UniqueIdentifier>
</Filter>
<Filter Include="Configuration\Source Files">
<UniqueIdentifier>{66608c74-ae8a-4c7d-beb8-f9df6886d03c}</UniqueIdentifier>
</Filter>
<Filter Include="Options">
<UniqueIdentifier>{f7a6dbe0-61f1-4887-b067-fc93b3ac5b49}</UniqueIdentifier>
</Filter>
<Filter Include="Options\Header Files">
<UniqueIdentifier>{182fa9a9-1419-4fad-a5d5-e99ef1c5d690}</UniqueIdentifier>
</Filter>
<Filter Include="Options\Source Files">
<UniqueIdentifier>{eaedc473-6889-46d3-9347-fabf6d6b5cd6}</UniqueIdentifier>
</Filter>
<Filter Include="Windows">
<UniqueIdentifier>{d8101317-8019-4095-a2b4-5793f18c35b6}</UniqueIdentifier>
</Filter>
<Filter Include="Windows\Header Files">
<UniqueIdentifier>{54431814-307d-4630-97a2-d006168e1d54}</UniqueIdentifier>
</Filter>
<Filter Include="Windows\Source Files">
<UniqueIdentifier>{b539543b-bae2-4843-97e3-1f89936836ed}</UniqueIdentifier>
</Filter>
<Filter Include="Timer">
<UniqueIdentifier>{871a82da-4d77-413c-a436-14d96dcd67f3}</UniqueIdentifier>
</Filter>
<Filter Include="Timer\Header Files">
<UniqueIdentifier>{d0ff1421-e99b-4e31-9e66-e4484328988e}</UniqueIdentifier>
</Filter>
<Filter Include="Timer\Source Files">
<UniqueIdentifier>{490d5dbc-b8b8-4882-aa57-b159cc1e19cf}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClInclude Include="src\UtilTestSuite.h">
<Filter>_Suite\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\AbstractConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationMapperTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationTestSuite.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ConfigurationViewTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\FilesystemConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\IniFileConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\JSONConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LayeredConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\LoggingConfiguratorTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\MapConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\PropertyFileConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\SystemConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\XMLConfigurationTest.h">
<Filter>Configuration\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\HelpFormatterTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionProcessorTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionSetTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionsTestSuite.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\OptionTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\ValidatorTest.h">
<Filter>Options\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinConfigurationTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WindowsTestSuite.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinRegistryTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\WinServiceTest.h">
<Filter>Windows\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TimerTest.h">
<Filter>Timer\Header Files</Filter>
</ClInclude>
<ClInclude Include="src\TimerTestSuite.h">
<Filter>Timer\Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="src\UtilTestSuite.cpp">
<Filter>_Suite\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\Driver.cpp">
<Filter>_Driver\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\AbstractConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationMapperTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationTestSuite.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ConfigurationViewTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\FilesystemConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\IniFileConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\JSONConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LayeredConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\LoggingConfiguratorTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\MapConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\PropertyFileConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\SystemConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\XMLConfigurationTest.cpp">
<Filter>Configuration\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\HelpFormatterTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionProcessorTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionSetTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionsTestSuite.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\OptionTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\ValidatorTest.cpp">
<Filter>Options\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinConfigurationTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WindowsTestSuite.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinRegistryTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\WinServiceTest.cpp">
<Filter>Windows\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TimerTest.cpp">
<Filter>Timer\Source Files</Filter>
</ClCompile>
<ClCompile Include="src\TimerTestSuite.cpp">
<Filter>Timer\Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View File

@@ -0,0 +1,612 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
Name="TestSuite"
Version="9.00"
ProjectType="Visual C++"
ProjectGUID="{E40E738C-447B-40F4-A878-EBA9A2459270}"
RootNamespace="TestSuite"
Keyword="Win32Proj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<ToolFiles/>
<Configurations>
<Configuration
Name="debug_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0501;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="bin\TestSuited.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\TestSuited.pdb"
SubSystem="1"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_shared|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0501;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="bin\TestSuite.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
AdditionalIncludeDirectories="..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0501;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="bin\static_mt\TestSuited.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
IgnoreDefaultLibraryNames="nafxcwd.lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\static_mt\TestSuited.pdb"
SubSystem="1"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_mt|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0501;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="0"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="bin\static_mt\TestSuite.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib"
IgnoreDefaultLibraryNames="nafxcw.lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="debug_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
AdditionalIncludeDirectories="..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;WINVER=0x0501;POCO_STATIC;"
StringPooling="true"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
BufferSecurityCheck="true"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="bin\static_md\TestSuited.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\lib"
SuppressStartupBanner="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="bin\static_md\TestSuited.pdb"
SubSystem="1"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
<Configuration
Name="release_static_md|Win32"
OutputDirectory="obj\$(ConfigurationName)"
IntermediateDirectory="obj\$(ConfigurationName)"
ConfigurationType="1"
UseOfMFC="0"
CharacterSet="2">
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCMIDLTool"/>
<Tool
Name="VCCLCompilerTool"
Optimization="4"
InlineFunctionExpansion="1"
EnableIntrinsicFunctions="true"
FavorSizeOrSpeed="1"
OmitFramePointers="true"
AdditionalIncludeDirectories="..\include;..\..\CppUnit\include;..\..\Foundation\include;..\..\XML\include;..\..\JSON\include"
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;WINVER=0x0501;POCO_STATIC;"
StringPooling="true"
RuntimeLibrary="2"
BufferSecurityCheck="false"
TreatWChar_tAsBuiltInType="true"
ForceConformanceInForLoopScope="true"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CompileAs="0"
DisableSpecificWarnings=""
AdditionalOptions=""/>
<Tool
Name="VCManagedResourceCompilerTool"/>
<Tool
Name="VCResourceCompilerTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies=""
OutputFile="bin\static_md\TestSuite.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\lib"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
AdditionalOptions=""/>
<Tool
Name="VCALinkTool"/>
<Tool
Name="VCManifestTool"/>
<Tool
Name="VCXDCMakeTool"/>
<Tool
Name="VCBscMakeTool"/>
<Tool
Name="VCFxCopTool"/>
<Tool
Name="VCAppVerifierTool"/>
<Tool
Name="VCPostBuildEventTool"/>
</Configuration>
</Configurations>
<References/>
<Files>
<Filter
Name="Application">
<Filter
Name="Header Files"/>
<Filter
Name="Source Files"/>
</Filter>
<Filter
Name="_Suite">
<Filter
Name="Header Files">
<File
RelativePath=".\src\UtilTestSuite.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\UtilTestSuite.cpp"/>
</Filter>
</Filter>
<Filter
Name="_Driver">
<Filter
Name="Source Files">
<File
RelativePath=".\src\Driver.cpp"/>
</Filter>
</Filter>
<Filter
Name="Configuration">
<Filter
Name="Header Files">
<File
RelativePath=".\src\AbstractConfigurationTest.h"/>
<File
RelativePath=".\src\ConfigurationMapperTest.h"/>
<File
RelativePath=".\src\ConfigurationTestSuite.h"/>
<File
RelativePath=".\src\ConfigurationViewTest.h"/>
<File
RelativePath=".\src\FilesystemConfigurationTest.h"/>
<File
RelativePath=".\src\IniFileConfigurationTest.h"/>
<File
RelativePath=".\src\JSONConfigurationTest.h"/>
<File
RelativePath=".\src\LayeredConfigurationTest.h"/>
<File
RelativePath=".\src\LoggingConfiguratorTest.h"/>
<File
RelativePath=".\src\MapConfigurationTest.h"/>
<File
RelativePath=".\src\PropertyFileConfigurationTest.h"/>
<File
RelativePath=".\src\SystemConfigurationTest.h"/>
<File
RelativePath=".\src\XMLConfigurationTest.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\AbstractConfigurationTest.cpp"/>
<File
RelativePath=".\src\ConfigurationMapperTest.cpp"/>
<File
RelativePath=".\src\ConfigurationTestSuite.cpp"/>
<File
RelativePath=".\src\ConfigurationViewTest.cpp"/>
<File
RelativePath=".\src\FilesystemConfigurationTest.cpp"/>
<File
RelativePath=".\src\IniFileConfigurationTest.cpp"/>
<File
RelativePath=".\src\JSONConfigurationTest.cpp"/>
<File
RelativePath=".\src\LayeredConfigurationTest.cpp"/>
<File
RelativePath=".\src\LoggingConfiguratorTest.cpp"/>
<File
RelativePath=".\src\MapConfigurationTest.cpp"/>
<File
RelativePath=".\src\PropertyFileConfigurationTest.cpp"/>
<File
RelativePath=".\src\SystemConfigurationTest.cpp"/>
<File
RelativePath=".\src\XMLConfigurationTest.cpp"/>
</Filter>
</Filter>
<Filter
Name="Options">
<Filter
Name="Header Files">
<File
RelativePath=".\src\HelpFormatterTest.h"/>
<File
RelativePath=".\src\OptionProcessorTest.h"/>
<File
RelativePath=".\src\OptionSetTest.h"/>
<File
RelativePath=".\src\OptionsTestSuite.h"/>
<File
RelativePath=".\src\OptionTest.h"/>
<File
RelativePath=".\src\ValidatorTest.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\HelpFormatterTest.cpp"/>
<File
RelativePath=".\src\OptionProcessorTest.cpp"/>
<File
RelativePath=".\src\OptionSetTest.cpp"/>
<File
RelativePath=".\src\OptionsTestSuite.cpp"/>
<File
RelativePath=".\src\OptionTest.cpp"/>
<File
RelativePath=".\src\ValidatorTest.cpp"/>
</Filter>
</Filter>
<Filter
Name="Windows">
<Filter
Name="Header Files">
<File
RelativePath=".\src\WinConfigurationTest.h"/>
<File
RelativePath=".\src\WindowsTestSuite.h"/>
<File
RelativePath=".\src\WinRegistryTest.h"/>
<File
RelativePath=".\src\WinServiceTest.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\WinConfigurationTest.cpp"/>
<File
RelativePath=".\src\WindowsTestSuite.cpp"/>
<File
RelativePath=".\src\WinRegistryTest.cpp"/>
<File
RelativePath=".\src\WinServiceTest.cpp"/>
</Filter>
</Filter>
<Filter
Name="Timer">
<Filter
Name="Header Files">
<File
RelativePath=".\src\TimerTest.h"/>
<File
RelativePath=".\src\TimerTestSuite.h"/>
</Filter>
<Filter
Name="Source Files">
<File
RelativePath=".\src\TimerTest.cpp"/>
<File
RelativePath=".\src\TimerTestSuite.cpp"/>
</Filter>
</Filter>
</Files>
<Globals/>
</VisualStudioProject>

View File

@@ -0,0 +1,489 @@
//
// AbstractConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "AbstractConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "Poco/Util/MapConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include "Poco/Delegate.h"
#include "Poco/NumberFormatter.h"
#include "Poco/Types.h"
#include <algorithm>
#undef min
#undef max
#include <limits>
using Poco::Util::AbstractConfiguration;
using Poco::Util::MapConfiguration;
using Poco::NumberFormatter;
using Poco::AutoPtr;
using Poco::Int64;
using Poco::UInt64;
AbstractConfigurationTest::AbstractConfigurationTest(const std::string& name): CppUnit::TestCase(name)
{
}
AbstractConfigurationTest::~AbstractConfigurationTest()
{
}
void AbstractConfigurationTest::testHasProperty()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
assertTrue (pConf->hasProperty("prop1"));
assertTrue (pConf->hasProperty("prop2"));
assertTrue (pConf->hasProperty("prop3.string1"));
assertTrue (!pConf->hasProperty("prop3.string3"));
assertTrue (!pConf->hasProperty("foobar"));
}
void AbstractConfigurationTest::testGetString()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
assertTrue (pConf->getString("prop1") == "foo");
assertTrue (pConf->getString("prop2") == "bar");
assertTrue (pConf->getString("prop3.string1") == "foo");
assertTrue (pConf->getString("prop3.string2") == "bar");
assertTrue (pConf->getString("ref1") == "foobar");
assertTrue (pConf->getRawString("ref1") == "${prop3.string1}${prop3.string2}");
try
{
std::string res = pConf->getString("foo");
fail("nonexistent property - must throw");
}
catch (Poco::NotFoundException&)
{
}
assertTrue (pConf->getString("prop1", "FOO") == "foo");
assertTrue (pConf->getString("prop2", "BAR") == "bar");
assertTrue (pConf->getString("prop3.string1", "FOO") == "foo");
assertTrue (pConf->getString("prop3.string2", "BAR") == "bar");
assertTrue (pConf->getString("prop3.string3", "FOOBAR") == "FOOBAR");
}
void AbstractConfigurationTest::testGetInt()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
assertTrue (pConf->getInt("prop4.int1") == 42);
assertTrue (pConf->getInt("prop4.int2") == -42);
assertTrue (pConf->getInt("prop4.hex") == 0x1f);
assertTrue (pConf->getUInt("prop4.hex") == 0x1f);
assertTrue (pConf->getInt("ref2") == 42);
try
{
pConf->getInt("prop1");
fail("not a number - must throw");
}
catch (Poco::SyntaxException&)
{
}
assertTrue (pConf->getInt("prop4.int1", 100) == 42);
assertTrue (pConf->getInt("prop4.int2", 100) == -42);
assertTrue (pConf->getInt("prop4.int3", 100) == 100);
}
void AbstractConfigurationTest::testGetInt64()
{
#if defined(POCO_HAVE_INT64)
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
assertTrue (pConf->getInt64("prop4.bigint1") == std::numeric_limits<Int64>::max());
assertTrue (pConf->getInt64("prop4.bigint2") == std::numeric_limits<Int64>::min());
assertTrue (pConf->getUInt64("prop4.biguint") == std::numeric_limits<UInt64>::max());
assertTrue (pConf->getInt64("prop4.hex") == 0x1f);
assertTrue (pConf->getUInt64("prop4.hex") == 0x1f);
assertTrue (pConf->getInt64("ref2") == 42);
try
{
Int64 x = pConf->getInt64("prop1");
x=x;
fail("not a number - must throw");
}
catch (Poco::SyntaxException&)
{
}
assertTrue (pConf->getInt64("prop4.bigint1", 100) == std::numeric_limits<Int64>::max());
assertTrue (pConf->getInt64("prop4.bigint2", 100) == std::numeric_limits<Int64>::min());
assertTrue (pConf->getUInt64("prop4.biguint", 100) == std::numeric_limits<UInt64>::max());
#endif
}
void AbstractConfigurationTest::testGetDouble()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
assertTrue (pConf->getDouble("prop4.double1") == 1);
assertTrue (pConf->getDouble("prop4.double2") == -1.5);
try
{
pConf->getDouble("prop1");
fail("not a number - must throw");
}
catch (Poco::SyntaxException&)
{
}
assertTrue (pConf->getDouble("prop4.double1", 123.5) == 1);
assertTrue (pConf->getDouble("prop4.double2", 123.5) == -1.5);
assertTrue (pConf->getDouble("prop4.double3", 123.5) == 123.5);
}
void AbstractConfigurationTest::testGetBool()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
assertTrue (pConf->getBool("prop4.bool1"));
assertTrue (!pConf->getBool("prop4.bool2"));
assertTrue (pConf->getBool("prop4.bool3"));
assertTrue (!pConf->getBool("prop4.bool4"));
assertTrue (pConf->getBool("prop4.bool5"));
assertTrue (!pConf->getBool("prop4.bool6"));
assertTrue (pConf->getBool("prop4.bool7"));
assertTrue (!pConf->getBool("prop4.bool8"));
try
{
pConf->getBool("prop1");
fail("not a boolean - must throw");
}
catch (Poco::SyntaxException&)
{
}
assertTrue (pConf->getBool("prop4.bool1", false));
assertTrue (!pConf->getBool("prop4.bool2", true));
assertTrue (pConf->getBool("prop4.boolx", true));
assertTrue (!pConf->getBool("prop4.booly", false));
}
void AbstractConfigurationTest::testExpand()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
assertTrue (pConf->getString("ref1") == "foobar");
assertTrue (pConf->getInt("ref2") == 42);
try
{
std::string s = pConf->getString("ref3");
fail("circular reference - must throw");
}
catch (Poco::CircularReferenceException&)
{
}
assertTrue (pConf->getString("ref5") == "${refx}");
assertTrue (pConf->getString("ref6") == "${refx}");
assertTrue (pConf->expand("answer=${prop4.int1}") == "answer=42");
assertTrue (pConf->expand("bool5='${prop4.bool5}'") == "bool5='Yes'");
assertTrue (pConf->expand("undef='${undef}'") == "undef='${undef}'");
assertTrue (pConf->expand("deep='${ref1}'") == "deep='foobar'");
assertTrue (pConf->expand("deep='${ref7}'") == "deep='foobar'");
assertTrue (pConf->getString("dollar.atend") == "foo$");
assertTrue (pConf->getString("dollar.middle") == "foo$bar");
}
void AbstractConfigurationTest::testSetString()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
pConf->setString("set.string1", "foobar");
pConf->setString("set.string2", "");
assertTrue (pConf->getString("set.string1") == "foobar");
assertTrue (pConf->getString("set.string2") == "");
}
void AbstractConfigurationTest::testSetInt()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
pConf->setInt("set.int1", 42);
pConf->setInt("set.int2", -100);
pConf->setInt("set.uint", 42U);
assertTrue (pConf->getInt("set.int1") == 42);
assertTrue (pConf->getInt("set.int2") == -100);
assertTrue (pConf->getInt("set.uint") == 42U);
}
void AbstractConfigurationTest::testSetInt64()
{
#if defined(POCO_HAVE_INT64)
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
pConf->setInt64("set.bigint1", std::numeric_limits<Int64>::max());
pConf->setInt64("set.bigint2", std::numeric_limits<Int64>::min());
pConf->setInt64("set.biguint", std::numeric_limits<UInt64>::max());
assertTrue (pConf->getInt64("set.bigint1") == std::numeric_limits<Int64>::max());
assertTrue (pConf->getInt64("set.bigint2") == std::numeric_limits<Int64>::min());
assertTrue (pConf->getInt64("set.biguint") == std::numeric_limits<UInt64>::max());
#endif //defined(POCO_HAVE_INT64)
}
void AbstractConfigurationTest::testSetDouble()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
pConf->setDouble("set.double1", 1.5);
pConf->setDouble("set.double2", -1.5);
assertTrue (pConf->getDouble("set.double1") == 1.5);
assertTrue (pConf->getDouble("set.double2") == -1.5);
}
void AbstractConfigurationTest::testSetBool()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
pConf->setBool("set.bool1", true);
pConf->setBool("set.bool2", false);
assertTrue (pConf->getBool("set.bool1"));
assertTrue (!pConf->getBool("set.bool2"));
}
void AbstractConfigurationTest::testChangeEvents()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
pConf->propertyChanging += Poco::delegate(this, &AbstractConfigurationTest::onPropertyChanging);
pConf->propertyChanged += Poco::delegate(this, &AbstractConfigurationTest::onPropertyChanged);
pConf->setString("set.string1", "foobar");
assertTrue (_changingKey == "set.string1");
assertTrue (_changingValue == "foobar");
assertTrue (_changedKey == "set.string1");
assertTrue (_changedValue == "foobar");
pConf->setInt("set.int1", 42);
assertTrue (_changingKey == "set.int1");
assertTrue (_changingValue == "42");
assertTrue (_changedKey == "set.int1");
assertTrue (_changedValue == "42");
pConf->setDouble("set.double1", 1.5);
assertTrue (_changingKey == "set.double1");
assertTrue (_changingValue == "1.5");
assertTrue (_changedKey == "set.double1");
assertTrue (_changedValue == "1.5");
pConf->setBool("set.bool1", true);
assertTrue (_changingKey == "set.bool1");
assertTrue (_changingValue == "true");
assertTrue (_changedKey == "set.bool1");
assertTrue (_changedValue == "true");
}
void AbstractConfigurationTest::testRemoveEvents()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
pConf->propertyRemoving += Poco::delegate(this, &AbstractConfigurationTest::onPropertyRemoving);
pConf->propertyRemoved += Poco::delegate(this, &AbstractConfigurationTest::onPropertyRemoved);
pConf->remove("prop4.bool1");
assertTrue (_removingKey == "prop4.bool1");
assertTrue (_removedKey == "prop4.bool1");
}
void AbstractConfigurationTest::testKeys()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
AbstractConfiguration::Keys keys;
pConf->keys(keys);
assertTrue (keys.size() == 13);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop3") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop4") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "ref1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "ref2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "ref3") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "ref4") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "ref5") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "ref6") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "ref7") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "dollar") != keys.end());
pConf->keys("prop1", keys);
assertTrue (keys.empty());
pConf->keys("prop3", keys);
assertTrue (keys.size() == 2);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string2") != keys.end());
assertTrue (!pConf->hasProperty("nonexistent.sub"));
pConf->keys("nonexistent.sub", keys);
assertTrue (keys.empty());
}
void AbstractConfigurationTest::testRemove()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
AbstractConfiguration::Keys keys;
assertTrue (pConf->hasProperty("prop1"));
assertTrue (pConf->hasProperty("prop4.bool1"));
assertTrue (pConf->hasProperty("prop4.bool2"));
assertTrue (pConf->hasProperty("prop4.bool3"));
pConf->keys(keys);
assertTrue (keys.size() == 13);
pConf->keys("prop4", keys);
assertTrue (keys.size() == 17);
pConf->remove("prop4.bool1");
assertTrue (!pConf->hasProperty("prop4.bool1"));
assertTrue (pConf->hasProperty("prop4.bool2"));
assertTrue (pConf->hasProperty("prop4.bool3"));
pConf->keys(keys);
assertTrue (keys.size() == 13);
pConf->keys("prop4", keys);
assertTrue (keys.size() == 16);
pConf->remove("prop4");
assertTrue (!pConf->hasProperty("prop4.bool1"));
assertTrue (!pConf->hasProperty("prop4.bool2"));
assertTrue (!pConf->hasProperty("prop4.bool3"));
assertTrue (pConf->hasProperty("prop1"));
pConf->keys(keys);
assertTrue (keys.size() == 12);
pConf->keys("prop4", keys);
assertTrue (keys.size() == 0);
assertTrue (!pConf->hasProperty("nonexistent.sub.value"));
pConf->remove("nonexistent.sub.value");
assertTrue (!pConf->hasProperty("nonexistent.sub.value"));
}
AbstractConfiguration::Ptr AbstractConfigurationTest::createConfiguration() const
{
AbstractConfiguration::Ptr pConfig = allocConfiguration();
pConfig->setString("prop1", "foo");
pConfig->setString("prop2", "bar");
pConfig->setString("prop3.string1", "foo");
pConfig->setString("prop3.string2", "bar");
pConfig->setString("prop4.int1", "42");
pConfig->setString("prop4.int2", "-42");
pConfig->setString("prop4.uint", NumberFormatter::format(std::numeric_limits<unsigned>::max()));
#if defined(POCO_HAVE_INT64)
pConfig->setString("prop4.bigint1", NumberFormatter::format(std::numeric_limits<Int64>::max()));
pConfig->setString("prop4.bigint2", NumberFormatter::format(std::numeric_limits<Int64>::min()));
pConfig->setString("prop4.biguint", NumberFormatter::format(std::numeric_limits<UInt64>::max()));
#else /// just to make sure property count is consistent
pConfig->setString("prop4.bigint1", 0);
pConfig->setString("prop4.bigint2", 0);
pConfig->setString("prop4.biguint", 0);
#endif
pConfig->setString("prop4.hex", "0x1f");
pConfig->setString("prop4.double1", "1");
pConfig->setString("prop4.double2", "-1.5");
pConfig->setString("prop4.bool1", "1");
pConfig->setString("prop4.bool2", "0");
pConfig->setString("prop4.bool3", "True");
pConfig->setString("prop4.bool4", "FALSE");
pConfig->setString("prop4.bool5", "Yes");
pConfig->setString("prop4.bool6", "no");
pConfig->setString("prop4.bool7", "ON");
pConfig->setString("prop4.bool8", "Off");
pConfig->setString("prop5.string1", "foo");
pConfig->setString("prop5.string2", "bar");
pConfig->setString("prop5.sub1.string1", "FOO");
pConfig->setString("prop5.sub1.string2", "BAR");
pConfig->setString("prop5.sub2.string1", "Foo");
pConfig->setString("prop5.sub2.string2", "Bar");
pConfig->setString("ref1", "${prop3.string1}${prop3.string2}");
pConfig->setString("ref2", "${prop4.int1}");
pConfig->setString("ref3", "${ref4}");
pConfig->setString("ref4", "${ref3}");
pConfig->setString("ref5", "${refx}");
pConfig->setString("ref6", "${refx");
pConfig->setString("ref7", "${ref1}");
pConfig->setString("dollar.atend", "foo$");
pConfig->setString("dollar.middle", "foo$bar");
return pConfig;
}
void AbstractConfigurationTest::setUp()
{
_changingKey.clear();
_changingValue.clear();
_changedKey.clear();
_changedValue.clear();
_removingKey.clear();
_removedKey.clear();
}
void AbstractConfigurationTest::tearDown()
{
}
void AbstractConfigurationTest::onPropertyChanging(const void*, AbstractConfiguration::KeyValue& kv)
{
_changingKey = kv.key();
_changingValue = kv.value();
}
void AbstractConfigurationTest::onPropertyChanged(const void*, const AbstractConfiguration::KeyValue& kv)
{
_changedKey = kv.key();
_changedValue = kv.value();
}
void AbstractConfigurationTest::onPropertyRemoving(const void*, const std::string& key)
{
_removingKey = key;
}
void AbstractConfigurationTest::onPropertyRemoved(const void*, const std::string& key)
{
_removedKey = key;
}

View File

@@ -0,0 +1,90 @@
//
// AbstractConfigurationTest.h
//
// Definition of the AbstractConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef AbstractConfigurationTest_INCLUDED
#define AbstractConfigurationTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
#include "Poco/AutoPtr.h"
#include "Poco/Util/AbstractConfiguration.h"
class AbstractConfigurationTest: public CppUnit::TestCase
{
public:
AbstractConfigurationTest(const std::string& name);
virtual ~AbstractConfigurationTest();
void testHasProperty();
void testGetString();
void testGetInt();
void testGetInt64();
void testGetDouble();
void testGetBool();
void testExpand();
void testSetString();
void testSetInt();
void testSetUInt();
void testSetInt64();
void testSetUInt64();
void testSetDouble();
void testSetBool();
void testKeys();
void testRemove();
void testChangeEvents();
void testRemoveEvents();
void setUp();
void tearDown();
void onPropertyChanging(const void*, Poco::Util::AbstractConfiguration::KeyValue& kv);
void onPropertyChanged(const void*, const Poco::Util::AbstractConfiguration::KeyValue& kv);
void onPropertyRemoving(const void*, const std::string& key);
void onPropertyRemoved(const void*, const std::string& key);
protected:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const = 0;
virtual Poco::Util::AbstractConfiguration::Ptr createConfiguration() const;
std::string _changingKey;
std::string _changingValue;
std::string _changedKey;
std::string _changedValue;
std::string _removingKey;
std::string _removedKey;
};
#define AbstractConfigurationTest_addTests(suite, cls) \
do { \
CppUnit_addTest(suite, cls, testHasProperty); \
CppUnit_addTest(suite, cls, testGetString); \
CppUnit_addTest(suite, cls, testGetInt); \
CppUnit_addTest(suite, cls, testGetInt64); \
CppUnit_addTest(suite, cls, testGetDouble); \
CppUnit_addTest(suite, cls, testGetBool); \
CppUnit_addTest(suite, cls, testExpand); \
CppUnit_addTest(suite, cls, testSetString); \
CppUnit_addTest(suite, cls, testSetInt); \
CppUnit_addTest(suite, cls, testSetInt64); \
CppUnit_addTest(suite, cls, testSetDouble); \
CppUnit_addTest(suite, cls, testSetBool); \
CppUnit_addTest(suite, cls, testKeys); \
CppUnit_addTest(suite, cls, testRemove); \
CppUnit_addTest(suite, cls, testChangeEvents); \
CppUnit_addTest(suite, cls, testRemoveEvents); \
} while(0)
#endif // AbstractConfigurationTest_INCLUDED

View File

@@ -0,0 +1,199 @@
//
// ConfigurationMapperTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "ConfigurationMapperTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/ConfigurationMapper.h"
#include "Poco/Util/MapConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include <algorithm>
using Poco::Util::AbstractConfiguration;
using Poco::Util::ConfigurationMapper;
using Poco::Util::MapConfiguration;
using Poco::AutoPtr;
ConfigurationMapperTest::ConfigurationMapperTest(const std::string& name): AbstractConfigurationTest(name)
{
}
ConfigurationMapperTest::~ConfigurationMapperTest()
{
}
void ConfigurationMapperTest::testMapper1()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
AutoPtr<AbstractConfiguration> pMapper = new ConfigurationMapper("", "", pConf);
assertTrue (pMapper->hasProperty("prop5.string1"));
assertTrue (pMapper->hasProperty("prop5.string1"));
AbstractConfiguration::Keys keys;
pMapper->keys(keys);
assertTrue (keys.size() == 13);
assertTrue (std::find(keys.begin(), keys.end(), "prop5") != keys.end());
pMapper->keys("prop5", keys);
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub2") != keys.end());
assertTrue (pMapper->getString("prop5.string1") == "foo");
assertTrue (pMapper->getString("prop5.sub1.string1") == "FOO");
pMapper->setString("prop5.string3", "baz");
assertTrue (pMapper->getString("prop5.string3") == "baz");
assertTrue (pConf->getString("prop5.string3") == "baz");
pMapper->remove("prop5.string3");
assertTrue (!pMapper->hasProperty("prop5.string3"));
assertTrue (!pConf->hasProperty("prop5.string3"));
}
void ConfigurationMapperTest::testMapper2()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
AutoPtr<AbstractConfiguration> pMapper = new ConfigurationMapper("prop5", "root.conf", pConf);
assertTrue (pMapper->hasProperty("root.conf.string1"));
assertTrue (pMapper->hasProperty("root.conf.string2"));
AbstractConfiguration::Keys keys;
pMapper->keys(keys);
assertTrue (keys.size() == 1);
assertTrue (std::find(keys.begin(), keys.end(), "root") != keys.end());
pMapper->keys("root", keys);
assertTrue (keys.size() == 1);
assertTrue (std::find(keys.begin(), keys.end(), "conf") != keys.end());
pMapper->keys("root.conf", keys);
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub2") != keys.end());
assertTrue (pMapper->getString("root.conf.string1") == "foo");
assertTrue (pMapper->getString("root.conf.sub1.string1") == "FOO");
pMapper->setString("root.conf.string3", "baz");
assertTrue (pMapper->getString("root.conf.string3") == "baz");
assertTrue (pConf->getString("prop5.string3") == "baz");
pMapper->remove("root.conf.string3");
assertTrue (!pMapper->hasProperty("root.conf.string3"));
assertTrue (!pConf->hasProperty("prop5.string3"));
}
void ConfigurationMapperTest::testMapper3()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
AutoPtr<AbstractConfiguration> pMapper = new ConfigurationMapper("", "root", pConf);
assertTrue (pMapper->hasProperty("root.prop5.string1"));
assertTrue (pMapper->hasProperty("root.prop5.string2"));
AbstractConfiguration::Keys keys;
pMapper->keys(keys);
assertTrue (keys.size() == 1);
assertTrue (std::find(keys.begin(), keys.end(), "root") != keys.end());
pMapper->keys("root", keys);
assertTrue (keys.size() == 13);
assertTrue (std::find(keys.begin(), keys.end(), "prop5") != keys.end());
pMapper->keys("root.prop5", keys);
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub2") != keys.end());
assertTrue (pMapper->getString("root.prop5.string1") == "foo");
assertTrue (pMapper->getString("root.prop5.sub1.string1") == "FOO");
pMapper->setString("root.prop5.string3", "baz");
assertTrue (pMapper->getString("root.prop5.string3") == "baz");
assertTrue (pConf->getString("prop5.string3") == "baz");
pMapper->remove("root.prop5.string3");
assertTrue (!pMapper->hasProperty("root.prop5.string3"));
assertTrue (!pConf->hasProperty("prop5.string3"));
}
void ConfigurationMapperTest::testMapper4()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
AutoPtr<AbstractConfiguration> pMapper = new ConfigurationMapper("prop5", "", pConf);
assertTrue (pMapper->hasProperty("string1"));
assertTrue (pMapper->hasProperty("string2"));
AbstractConfiguration::Keys keys;
pMapper->keys(keys);
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub2") != keys.end());
assertTrue (pMapper->getString("string1") == "foo");
assertTrue (pMapper->getString("sub1.string1") == "FOO");
pMapper->setString("string3", "baz");
assertTrue (pMapper->getString("string3") == "baz");
assertTrue (pConf->getString("prop5.string3") == "baz");
pMapper->remove("string3");
assertTrue (!pMapper->hasProperty("string3"));
assertTrue (!pConf->hasProperty("prop5.string3"));
}
AbstractConfiguration::Ptr ConfigurationMapperTest::allocConfiguration() const
{
return new MapConfiguration;
}
void ConfigurationMapperTest::setUp()
{
}
void ConfigurationMapperTest::tearDown()
{
}
CppUnit::Test* ConfigurationMapperTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ConfigurationMapperTest");
AbstractConfigurationTest_addTests(pSuite, ConfigurationMapperTest);
CppUnit_addTest(pSuite, ConfigurationMapperTest, testMapper1);
CppUnit_addTest(pSuite, ConfigurationMapperTest, testMapper2);
CppUnit_addTest(pSuite, ConfigurationMapperTest, testMapper3);
CppUnit_addTest(pSuite, ConfigurationMapperTest, testMapper4);
return pSuite;
}

View File

@@ -0,0 +1,42 @@
//
// ConfigurationMapperTest.h
//
// Definition of the ConfigurationMapperTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef ConfigurationMapperTest_INCLUDED
#define ConfigurationMapperTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class ConfigurationMapperTest: public AbstractConfigurationTest
{
public:
ConfigurationMapperTest(const std::string& name);
virtual ~ConfigurationMapperTest();
void testMapper1();
void testMapper2();
void testMapper3();
void testMapper4();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // ConfigurationMapperTest_INCLUDED

View File

@@ -0,0 +1,43 @@
//
// ConfigurationTestSuite.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "ConfigurationTestSuite.h"
#include "AbstractConfigurationTest.h"
#include "ConfigurationViewTest.h"
#include "ConfigurationMapperTest.h"
#include "MapConfigurationTest.h"
#include "LayeredConfigurationTest.h"
#include "SystemConfigurationTest.h"
#include "IniFileConfigurationTest.h"
#include "PropertyFileConfigurationTest.h"
#include "XMLConfigurationTest.h"
#include "FilesystemConfigurationTest.h"
#include "LoggingConfiguratorTest.h"
#include "JSONConfigurationTest.h"
CppUnit::Test* ConfigurationTestSuite::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ConfigurationTestSuite");
pSuite->addTest(ConfigurationViewTest::suite());
pSuite->addTest(ConfigurationMapperTest::suite());
pSuite->addTest(MapConfigurationTest::suite());
pSuite->addTest(LayeredConfigurationTest::suite());
pSuite->addTest(SystemConfigurationTest::suite());
pSuite->addTest(IniFileConfigurationTest::suite());
pSuite->addTest(PropertyFileConfigurationTest::suite());
pSuite->addTest(XMLConfigurationTest::suite());
pSuite->addTest(FilesystemConfigurationTest::suite());
pSuite->addTest(LoggingConfiguratorTest::suite());
pSuite->addTest(JSONConfigurationTest::suite());
return pSuite;
}

View File

@@ -0,0 +1,27 @@
//
// ConfigurationTestSuite.h
//
// Definition of the ConfigurationTestSuite class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef ConfigurationTestSuite_INCLUDED
#define ConfigurationTestSuite_INCLUDED
#include "CppUnit/TestSuite.h"
class ConfigurationTestSuite
{
public:
static CppUnit::Test* suite();
};
#endif // ConfigurationTestSuite_INCLUDED

View File

@@ -0,0 +1,128 @@
//
// ConfigurationViewTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "ConfigurationViewTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/MapConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include <algorithm>
using Poco::Util::AbstractConfiguration;
using Poco::Util::MapConfiguration;
using Poco::AutoPtr;
ConfigurationViewTest::ConfigurationViewTest(const std::string& name): AbstractConfigurationTest(name)
{
}
ConfigurationViewTest::~ConfigurationViewTest()
{
}
void ConfigurationViewTest::testView()
{
AbstractConfiguration::Ptr pConf = createConfiguration();
AbstractConfiguration::Ptr pView = pConf->createView("");
assertTrue (pView->hasProperty("prop1"));
assertTrue (pView->hasProperty("prop2"));
AbstractConfiguration::Keys keys;
pView->keys(keys);
assertTrue (keys.size() == 13);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop3") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop4") != keys.end());
assertTrue (pView->getString("prop1") == "foo");
assertTrue (pView->getString("prop3.string1") == "foo");
pView->setString("prop6", "foobar");
assertTrue (pConf->getString("prop6") == "foobar");
pView = pConf->createView("prop1");
pView->keys(keys);
assertTrue (keys.empty());
assertTrue (pView->hasProperty("prop1"));
pView->setString("prop11", "foobar");
assertTrue (pConf->getString("prop1.prop11") == "foobar");
pView = pConf->createView("prop3");
pView->keys(keys);
assertTrue (keys.size() == 2);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string2") != keys.end());
assertTrue (pView->getString("string1") == "foo");
assertTrue (pView->getString("string2") == "bar");
pView->setString("string3", "foobar");
assertTrue (pConf->getString("prop3.string3") == "foobar");
pView = pConf->createView("prop5");
pView->keys(keys);
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "sub2") != keys.end());
assertTrue (pView->getString("sub1.string1") == "FOO");
assertTrue (pView->getString("sub2.string2") == "Bar");
pView = pConf->createView("prop5.sub1");
pView->keys(keys);
assertTrue (keys.size() == 2);
assertTrue (std::find(keys.begin(), keys.end(), "string1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "string2") != keys.end());
assertTrue (pView->getString("string1") == "FOO");
assertTrue (pView->getString("string2") == "BAR");
pView->setString("string3", "foobar");
assertTrue (pConf->getString("prop5.sub1.string3") == "foobar");
pView->remove("string3");
assertTrue (!pConf->hasProperty("prop5.sub1.string3"));
}
AbstractConfiguration::Ptr ConfigurationViewTest::allocConfiguration() const
{
return new MapConfiguration;
}
void ConfigurationViewTest::setUp()
{
}
void ConfigurationViewTest::tearDown()
{
}
CppUnit::Test* ConfigurationViewTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ConfigurationViewTest");
AbstractConfigurationTest_addTests(pSuite, ConfigurationViewTest);
CppUnit_addTest(pSuite, ConfigurationViewTest, testView);
return pSuite;
}

View File

@@ -0,0 +1,39 @@
//
// ConfigurationViewTest.h
//
// Definition of the ConfigurationViewTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef ConfigurationViewTest_INCLUDED
#define ConfigurationViewTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class ConfigurationViewTest: public AbstractConfigurationTest
{
public:
ConfigurationViewTest(const std::string& name);
virtual ~ConfigurationViewTest();
void testView();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // ConfigurationViewTest_INCLUDED

View File

@@ -0,0 +1,17 @@
//
// Driver.cpp
//
// Console-based test driver for Poco Util.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "CppUnit/TestRunner.h"
#include "UtilTestSuite.h"
CppUnitMain(UtilTestSuite)

View File

@@ -0,0 +1,114 @@
//
// FilesystemConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "FilesystemConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/FilesystemConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/File.h"
#include <algorithm>
using Poco::Util::FilesystemConfiguration;
using Poco::Util::AbstractConfiguration;
using Poco::AutoPtr;
FilesystemConfigurationTest::FilesystemConfigurationTest(const std::string& name): AbstractConfigurationTest(name),
_path("TestConfiguration")
{
}
FilesystemConfigurationTest::~FilesystemConfigurationTest()
{
}
void FilesystemConfigurationTest::testFilesystemConfiguration()
{
AutoPtr<FilesystemConfiguration> config = new FilesystemConfiguration(_path.toString());
config->setString("logging.loggers.root.channel.class", "ConsoleChannel");
config->setString("logging.loggers.app.name", "Application");
config->setString("logging.loggers.app.channel", "c1");
config->setString("logging.formatters.f1.class", "PatternFormatter");
config->setString("logging.formatters.f1.pattern", "[%p] %t");
config->setString("logging.channels.c1.class", "ConsoleChannel");
assertTrue (config->getString("logging.loggers.root.channel.class") == "ConsoleChannel");
assertTrue (config->getString("logging.loggers.app.name") == "Application");
assertTrue (config->getString("logging.loggers.app.channel") == "c1");
assertTrue (config->getString("logging.formatters.f1.class") == "PatternFormatter");
assertTrue (config->getString("logging.formatters.f1.pattern") == "[%p] %t");
config->setString("logging.loggers.app.channel", "c2");
assertTrue (config->getString("logging.loggers.app.channel") == "c2");
AbstractConfiguration::Keys keys;
config->keys(keys);
assertTrue (keys.size() == 1);
assertTrue (std::find(keys.begin(), keys.end(), "logging") != keys.end());
config->keys("logging", keys);
assertTrue (keys.size() == 3);
assertTrue (std::find(keys.begin(), keys.end(), "loggers") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "formatters") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "channels") != keys.end());
config->keys("logging.formatters", keys);
assertTrue (keys.size() == 1);
assertTrue (std::find(keys.begin(), keys.end(), "f1") != keys.end());
config->keys("logging.formatters.f1", keys);
assertTrue (keys.size() == 2);
assertTrue (std::find(keys.begin(), keys.end(), "class") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "pattern") != keys.end());
assertTrue (config->hasProperty("logging.loggers.root.channel.class"));
config->clear();
assertTrue (!config->hasProperty("logging.loggers.root.channel.class"));
}
AbstractConfiguration::Ptr FilesystemConfigurationTest::allocConfiguration() const
{
return new FilesystemConfiguration(_path.toString());
}
void FilesystemConfigurationTest::setUp()
{
Poco::File dir(_path);
if (dir.exists()) {
dir.remove(true);
}
}
void FilesystemConfigurationTest::tearDown()
{
Poco::File dir(_path);
if (dir.exists()) {
dir.remove(true);
}
}
CppUnit::Test* FilesystemConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("FilesystemConfigurationTest");
AbstractConfigurationTest_addTests(pSuite, FilesystemConfigurationTest);
CppUnit_addTest(pSuite, FilesystemConfigurationTest, testFilesystemConfiguration);
return pSuite;
}

View File

@@ -0,0 +1,42 @@
//
// FilesystemConfigurationTest.h
//
// Definition of the FilesystemConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef FilesystemConfigurationTest_INCLUDED
#define FilesystemConfigurationTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
#include "Poco/Path.h"
class FilesystemConfigurationTest: public AbstractConfigurationTest
{
public:
FilesystemConfigurationTest(const std::string& name);
virtual ~FilesystemConfigurationTest();
void testFilesystemConfiguration();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
Poco::Path const _path;
};
#endif // FilesystemConfigurationTest_INCLUDED

View File

@@ -0,0 +1,109 @@
//
// HelpFormatterTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "HelpFormatterTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/HelpFormatter.h"
#include <iostream>
using Poco::Util::Option;
using Poco::Util::OptionSet;
using Poco::Util::HelpFormatter;
HelpFormatterTest::HelpFormatterTest(const std::string& name): CppUnit::TestCase(name)
{
}
HelpFormatterTest::~HelpFormatterTest()
{
}
void HelpFormatterTest::testHelpFormatter()
{
OptionSet set;
set.addOption(
Option("include-dir", "I", "specify a search path for locating header files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("library-dir", "L", "specify a search path for locating library files (this option has a very long description)")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("output", "o", "specify the output file", true)
.argument("file", true));
set.addOption(
Option("verbose", "v")
.description("enable verbose mode")
.required(false)
.repeatable(false));
set.addOption(
Option("optimize", "O")
.description("enable optimization")
.required(false)
.repeatable(false)
.argument("level", false));
HelpFormatter formatter(set);
formatter.format(std::cout);
formatter.setCommand("cc");
formatter.format(std::cout);
formatter.setUsage("OPTIONS FILES");
formatter.setHeader("Lorem ipsum dolor sit amet, consectetuer adipiscing elit. "
"Vivamus volutpat imperdiet massa. Nulla at ipsum vitae risus facilisis posuere. "
"Cras convallis, lacus ac vulputate convallis, metus nisl euismod ligula, "
"ac euismod diam wisi in dolor.\nMauris vitae leo.");
formatter.setFooter("Cras semper mollis tellus. Mauris eleifend mauris et lorem. "
"Etiam odio dolor, fermentum quis, mollis nec, sodales sed, tellus. "
"Quisque consequat orci eu augue. Aliquam ac nibh ac neque hendrerit iaculis.");
formatter.format(std::cout);
formatter.setUnixStyle(false);
formatter.format(std::cout);
formatter.setHeader("");
formatter.setFooter("tab: a\tb\tcde\tf\n\ta\n\t\tb");
formatter.format(std::cout);
}
void HelpFormatterTest::setUp()
{
}
void HelpFormatterTest::tearDown()
{
}
CppUnit::Test* HelpFormatterTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("HelpFormatterTest");
CppUnit_addTest(pSuite, HelpFormatterTest, testHelpFormatter);
return pSuite;
}

View File

@@ -0,0 +1,38 @@
//
// HelpFormatterTest.h
//
// Definition of the HelpFormatterTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef HelpFormatterTest_INCLUDED
#define HelpFormatterTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class HelpFormatterTest: public CppUnit::TestCase
{
public:
HelpFormatterTest(const std::string& name);
~HelpFormatterTest();
void testHelpFormatter();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // HelpFormatterTest_INCLUDED

View File

@@ -0,0 +1,154 @@
//
// IniFileConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "IniFileConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/IniFileConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include <sstream>
#include <algorithm>
using Poco::Util::IniFileConfiguration;
using Poco::Util::AbstractConfiguration;
using Poco::AutoPtr;
using Poco::NotImplementedException;
using Poco::NotFoundException;
IniFileConfigurationTest::IniFileConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
{
}
IniFileConfigurationTest::~IniFileConfigurationTest()
{
}
void IniFileConfigurationTest::testLoad()
{
static const std::string iniFile =
"; comment\n"
" ; comment \n"
"prop1=value1\n"
" prop2 = value2 \n"
"[section1]\n"
"prop1 = value3\r\n"
"\tprop2=value4\r\n"
";prop3=value7\r\n"
"\n"
" [ section 2 ]\n"
"prop1 = value 5\n"
"\t \n"
"Prop2 = value6";
std::istringstream istr(iniFile);
AutoPtr<IniFileConfiguration> pConf = new IniFileConfiguration(istr);
assertTrue (pConf->getString("prop1") == "value1");
assertTrue (pConf->getString("prop2") == "value2");
assertTrue (pConf->getString("section1.prop1") == "value3");
assertTrue (pConf->getString("Section1.Prop2") == "value4");
assertTrue (pConf->getString("section 2.prop1") == "value 5");
assertTrue (pConf->getString("section 2.prop2") == "value6");
assertTrue (pConf->getString("SECTION 2.PROP2") == "value6");
AbstractConfiguration::Keys keys;
pConf->keys(keys);
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "section1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "section 2") != keys.end());
pConf->keys("Section1", keys);
assertTrue (keys.size() == 2);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
pConf->setString("prop1", "value11");
assertTrue (pConf->getString("PROP1") == "value11");
pConf->setString("Prop1", "value12");
assertTrue (pConf->getString("prop1") == "value12");
pConf->keys(keys);
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "section1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "section 2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "Prop1") == keys.end());
}
void IniFileConfigurationTest::testCaseInsensitiveRemove()
{
AutoPtr<AbstractConfiguration> pConf = createConfiguration();
AbstractConfiguration::Keys keys;
assertTrue (pConf->hasProperty("Prop1"));
assertTrue (pConf->hasProperty("prop4.BOOL1"));
assertTrue (pConf->hasProperty("Prop4.bool2"));
assertTrue (pConf->hasProperty("PROP4.Bool3"));
pConf->keys(keys);
assertTrue (keys.size() == 13);
pConf->keys("prop4", keys);
assertTrue (keys.size() == 17);
pConf->remove("PROP4.Bool1");
assertTrue (pConf->hasProperty("Prop1"));
assertTrue (!pConf->hasProperty("prop4.BOOL1"));
assertTrue (pConf->hasProperty("Prop4.bool2"));
assertTrue (pConf->hasProperty("PROP4.Bool3"));
pConf->keys(keys);
assertTrue (keys.size() == 13);
pConf->keys("PROP4", keys);
assertTrue (keys.size() == 16);
pConf->remove("Prop4");
assertTrue (pConf->hasProperty("Prop1"));
assertTrue (!pConf->hasProperty("prop4.BOOL1"));
assertTrue (!pConf->hasProperty("Prop4.bool2"));
assertTrue (!pConf->hasProperty("PROP4.Bool3"));
pConf->keys(keys);
assertTrue (keys.size() == 12);
pConf->keys("prop4", keys);
assertTrue (keys.size() == 0);
}
AbstractConfiguration::Ptr IniFileConfigurationTest::allocConfiguration() const
{
return new IniFileConfiguration;
}
void IniFileConfigurationTest::setUp()
{
}
void IniFileConfigurationTest::tearDown()
{
}
CppUnit::Test* IniFileConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("IniFileConfigurationTest");
AbstractConfigurationTest_addTests(pSuite, IniFileConfigurationTest);
CppUnit_addTest(pSuite, IniFileConfigurationTest, testLoad);
CppUnit_addTest(pSuite, IniFileConfigurationTest, testCaseInsensitiveRemove);
return pSuite;
}

View File

@@ -0,0 +1,40 @@
//
// IniFileConfigurationTest.h
//
// Definition of the IniFileConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef IniFileConfigurationTest_INCLUDED
#define IniFileConfigurationTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class IniFileConfigurationTest: public AbstractConfigurationTest
{
public:
IniFileConfigurationTest(const std::string& name);
virtual ~IniFileConfigurationTest();
void testLoad();
void testCaseInsensitiveRemove();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // IniFileConfigurationTest_INCLUDED

View File

@@ -0,0 +1,141 @@
//
// JSONConfigurationTest.cpp
//
// Copyright (c) 2004-2012, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "JSONConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/JSONConfiguration.h"
#include "Poco/JSON/JSONException.h"
using Poco::Util::JSONConfiguration;
using Poco::Util::AbstractConfiguration;
using Poco::AutoPtr;
using Poco::NotImplementedException;
using Poco::NotFoundException;
using Poco::JSON::JSONException;
JSONConfigurationTest::JSONConfigurationTest(const std::string& name) : AbstractConfigurationTest(name)
{
}
JSONConfigurationTest::~JSONConfigurationTest()
{
}
void JSONConfigurationTest::testLoad()
{
JSONConfiguration config;
std::string json = "{ \"config\" : "
" { \"prop1\" : \"value1\", "
" \"prop2\" : 10, "
" \"prop3\" : [ \"element1\", \"element2\" ], "
" \"prop4\" : { \"prop5\" : false, "
" \"prop6\" : null } "
" }"
"}";
std::istringstream iss(json);
try
{
config.load(iss);
}
catch(JSONException jsone)
{
std::cout << jsone.message() << std::endl;
assertTrue (false);
}
std::string property1 = config.getString("config.prop1");
assertTrue (property1.compare("value1") == 0);
int property2 = config.getInt("config.prop2");
assertTrue (property2 == 10);
int nonExistingProperty = config.getInt("config.prop7", 5);
assertTrue (nonExistingProperty == 5);
std::string arrProperty = config.getString("config.prop3[1]");
assertTrue (arrProperty.compare("element2") == 0);
bool property35 = config.getBool("config.prop4.prop5");
assertTrue (! property35);
try
{
config.getString("propertyUnknown");
assertTrue (true);
}
catch(NotFoundException nfe)
{
}
}
void JSONConfigurationTest::testSetArrayElement()
{
JSONConfiguration config;
std::string json = "{ \"config\" : "
" { \"prop1\" : \"value1\", "
" \"prop2\" : 10, "
" \"prop3\" : [ \"element1\", \"element2\" ], "
" \"prop4\" : { \"prop5\" : false, "
" \"prop6\" : null } "
" }"
"}";
std::istringstream iss(json);
config.load(iss);
// config.prop3[0] = "foo"
config.setString("config.prop3[0]", "foo");
assertTrue (config.getString("config.prop3[0]") == "foo");
// config.prop3[1] = "bar"
config.setString("config.prop3[1]", "bar");
assertTrue (config.getString("config.prop3[1]") == "bar");
// config.prop3[3] = "baz"
config.setString("config.prop3[3]", "baz");
assertTrue (config.getString("config.prop3[3]") == "baz");
}
AbstractConfiguration::Ptr JSONConfigurationTest::allocConfiguration() const
{
return new JSONConfiguration;
}
void JSONConfigurationTest::setUp()
{
}
void JSONConfigurationTest::tearDown()
{
}
CppUnit::Test* JSONConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("JSONConfigurationTest");
AbstractConfigurationTest_addTests(pSuite, JSONConfigurationTest);
CppUnit_addTest(pSuite, JSONConfigurationTest, testLoad);
CppUnit_addTest(pSuite, JSONConfigurationTest, testSetArrayElement);
return pSuite;
}

View File

@@ -0,0 +1,40 @@
//
// JSONConfigurationTest.h
//
// Definition of the JSONConfigurationTest class.
//
// Copyright (c) 2004-2012, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef JSONConfigurationTest_INCLUDED
#define JSONConfigurationTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class JSONConfigurationTest: public AbstractConfigurationTest
{
public:
JSONConfigurationTest(const std::string& name);
virtual ~JSONConfigurationTest();
void testLoad();
void testSetArrayElement();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // JSONConfigurationTest_INCLUDED

View File

@@ -0,0 +1,252 @@
//
// LayeredConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "LayeredConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/LayeredConfiguration.h"
#include "Poco/Util/MapConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include <algorithm>
using Poco::Util::AbstractConfiguration;
using Poco::Util::LayeredConfiguration;
using Poco::Util::MapConfiguration;
using Poco::AutoPtr;
using Poco::NotFoundException;
using Poco::RuntimeException;
LayeredConfigurationTest::LayeredConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
{
}
LayeredConfigurationTest::~LayeredConfigurationTest()
{
}
void LayeredConfigurationTest::testEmpty()
{
AutoPtr<LayeredConfiguration> pLC = new LayeredConfiguration;
AbstractConfiguration::Keys keys;
pLC->keys(keys);
assertTrue (keys.empty());
assertTrue (!pLC->hasProperty("foo"));
try
{
pLC->setString("foo", "bar");
fail("empty LayeredConfiguration - must throw");
}
catch (RuntimeException&)
{
}
try
{
std::string s = pLC->getString("foo");
fail("empty LayeredConfiguration - must throw");
}
catch (NotFoundException&)
{
}
}
void LayeredConfigurationTest::testOneLayer()
{
AutoPtr<LayeredConfiguration> pLC = new LayeredConfiguration;
AutoPtr<MapConfiguration> pMC = new MapConfiguration;
pMC->setString("prop1", "value1");
pMC->setString("prop2", "value2");
pLC->addWriteable(pMC, 0);
AbstractConfiguration::Keys keys;
pLC->keys(keys);
assertTrue (keys.size() == 2);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (pLC->getString("prop1") == "value1");
assertTrue (pLC->getString("prop2") == "value2");
pLC->setString("prop3", "value3");
assertTrue (pLC->getString("prop3") == "value3");
pLC->remove("prop3");
assertTrue (!pLC->hasProperty("prop3"));
}
void LayeredConfigurationTest::testTwoLayers()
{
AutoPtr<LayeredConfiguration> pLC = new LayeredConfiguration;
AutoPtr<MapConfiguration> pMC1 = new MapConfiguration;
AutoPtr<MapConfiguration> pMC2 = new MapConfiguration;
pMC1->setString("prop1", "value1");
pMC1->setString("prop2", "value2");
pMC2->setString("prop2", "value3");
pMC2->setString("prop3", "value4");
pLC->add(pMC1, 0);
pLC->addWriteable(pMC2, 1);
AbstractConfiguration::Keys keys;
pLC->keys(keys);
assertTrue (keys.size() == 3);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop3") != keys.end());
assertTrue (pLC->getString("prop1") == "value1");
assertTrue (pLC->getString("prop2") == "value2");
assertTrue (pLC->getString("prop3") == "value4");
pLC->setString("prop4", "value4");
assertTrue (pLC->getString("prop4") == "value4");
assertTrue (!pMC1->hasProperty("prop4"));
assertTrue (pMC2->hasProperty("prop4"));
pLC->setString("prop1", "value11");
assertTrue (pLC->getString("prop1") == "value1");
assertTrue (pMC2->getString("prop1") == "value11");
pLC->remove("prop1");
assertTrue (pLC->getString("prop1") == "value1");
assertTrue (!pMC2->hasProperty("prop1"));
}
void LayeredConfigurationTest::testThreeLayers()
{
AutoPtr<LayeredConfiguration> pLC = new LayeredConfiguration;
AutoPtr<MapConfiguration> pMC1 = new MapConfiguration;
AutoPtr<MapConfiguration> pMC2 = new MapConfiguration;
AutoPtr<MapConfiguration> pMC3 = new MapConfiguration;
pMC1->setString("prop1", "value1");
pMC1->setString("prop2", "value2");
pMC1->setString("prop3", "value3");
pMC2->setString("prop2", "value4");
pMC2->setString("prop4", "value5");
pMC3->setString("prop5", "value6");
pMC3->setString("prop1", "value7");
pLC->add(pMC1, 0);
pLC->add(pMC2, 1);
pLC->add(pMC3, -1);
assertTrue (pLC->getString("prop1") == "value7");
assertTrue (pLC->getString("prop2") == "value2");
assertTrue (pLC->getString("prop3") == "value3");
assertTrue (pLC->getString("prop4") == "value5");
assertTrue (pLC->getString("prop5") == "value6");
}
void LayeredConfigurationTest::testRemove()
{
AutoPtr<LayeredConfiguration> pLC = new LayeredConfiguration;
AutoPtr<MapConfiguration> pMC1 = new MapConfiguration;
AutoPtr<MapConfiguration> pMC2 = new MapConfiguration;
pMC1->setString("prop1", "value1");
pMC1->setString("prop2", "value2");
pMC2->setString("prop2", "value3");
pMC2->setString("prop3", "value4");
pLC->add(pMC1, 0);
pLC->add(pMC2, -1);
AbstractConfiguration::Keys keys;
pLC->keys(keys);
assertTrue (keys.size() == 3);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop3") != keys.end());
assertTrue (pLC->getString("prop1") == "value1");
assertTrue (pLC->getString("prop2") == "value3");
assertTrue (pLC->getString("prop3") == "value4");
pLC->removeConfiguration(pMC2);
keys.clear();
pLC->keys(keys);
assertTrue (keys.size() == 2);
assertTrue (pLC->getString("prop1") == "value1");
assertTrue (pLC->getString("prop2") == "value2");
}
void LayeredConfigurationTest::testFind()
{
LayeredConfiguration::Ptr pLC = new LayeredConfiguration;
AbstractConfiguration::Ptr pMC1 = new MapConfiguration;
AbstractConfiguration::Ptr pMC2 = new MapConfiguration;
pLC->add(pMC1, 0);
pLC->add(pMC2, "label", -1);
AbstractConfiguration::Ptr pFound = pLC->find("label");
assertTrue (pFound == pMC2);
pFound = pLC->find("notfound");
assertTrue (pFound.isNull());
}
AbstractConfiguration::Ptr LayeredConfigurationTest::allocConfiguration() const
{
LayeredConfiguration* pLC = new LayeredConfiguration;
AutoPtr<MapConfiguration> pMC1 = new MapConfiguration;
AutoPtr<MapConfiguration> pMC2 = new MapConfiguration;
pLC->add(pMC1, 0);
pLC->addWriteable(pMC2, 1);
return pLC;
}
void LayeredConfigurationTest::setUp()
{
}
void LayeredConfigurationTest::tearDown()
{
}
CppUnit::Test* LayeredConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("LayeredConfigurationTest");
AbstractConfigurationTest_addTests(pSuite, LayeredConfigurationTest);
CppUnit_addTest(pSuite, LayeredConfigurationTest, testEmpty);
CppUnit_addTest(pSuite, LayeredConfigurationTest, testOneLayer);
CppUnit_addTest(pSuite, LayeredConfigurationTest, testTwoLayers);
CppUnit_addTest(pSuite, LayeredConfigurationTest, testThreeLayers);
CppUnit_addTest(pSuite, LayeredConfigurationTest, testRemove);
CppUnit_addTest(pSuite, LayeredConfigurationTest, testFind);
return pSuite;
}

View File

@@ -0,0 +1,44 @@
//
// LayeredConfigurationTest.h
//
// Definition of the LayeredConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef LayeredConfigurationTest_INCLUDED
#define LayeredConfigurationTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class LayeredConfigurationTest: public AbstractConfigurationTest
{
public:
LayeredConfigurationTest(const std::string& name);
virtual ~LayeredConfigurationTest();
void testEmpty();
void testOneLayer();
void testTwoLayers();
void testThreeLayers();
void testRemove();
void testFind();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // LayeredConfigurationTest_INCLUDED

View File

@@ -0,0 +1,309 @@
//
// LoggingConfiguratorTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "LoggingConfiguratorTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/LoggingConfigurator.h"
#include "Poco/Util/PropertyFileConfiguration.h"
#include "Poco/LoggingRegistry.h"
#include "Poco/ConsoleChannel.h"
#if defined(_WIN32)
#include "Poco/WindowsConsoleChannel.h"
#endif
#include "Poco/FileChannel.h"
#include "Poco/SplitterChannel.h"
#include "Poco/FormattingChannel.h"
#include "Poco/PatternFormatter.h"
#include "Poco/Logger.h"
#include "Poco/Message.h"
#include "Poco/AutoPtr.h"
#include <sstream>
using Poco::Util::LoggingConfigurator;
using Poco::Util::PropertyFileConfiguration;
using Poco::LoggingRegistry;
using Poco::Channel;
using Poco::ConsoleChannel;
using Poco::FileChannel;
using Poco::SplitterChannel;
using Poco::FormattingChannel;
using Poco::PatternFormatter;
using Poco::Logger;
using Poco::Message;
using Poco::AutoPtr;
LoggingConfiguratorTest::LoggingConfiguratorTest(const std::string& name): CppUnit::TestCase(name)
{
}
LoggingConfiguratorTest::~LoggingConfiguratorTest()
{
}
void LoggingConfiguratorTest::testConfigurator()
{
static const std::string config =
"logging.loggers.root.channel = c1\n"
"logging.loggers.root.level = warning\n"
"logging.loggers.l1.name = logger1\n"
"logging.loggers.l1.channel.class = FileChannel\n"
"logging.loggers.l1.channel.pattern = %s: [%p] %t\n"
"logging.loggers.l1.channel.path = logfile.log\n"
"logging.loggers.l1.level = information\n"
"logging.loggers.l2.name = logger2\n"
"logging.loggers.l2.channel.class = SplitterChannel\n"
"logging.loggers.l2.channel.channel1 = c2\n"
"logging.loggers.l2.channel.channel2 = c3\n"
"logging.loggers.l2.level = debug\n"
"logging.channels.c1.class = ConsoleChannel\n"
"logging.channels.c1.formatter = f1\n"
"logging.channels.c2.class = FileChannel\n"
"logging.channels.c2.path = ${system.tempDir}/sample.log\n"
"logging.channels.c2.formatter.class = PatternFormatter\n"
"logging.channels.c2.formatter.pattern = %s: {%p} %t\n"
"logging.channels.c3.class = ConsoleChannel\n"
"logging.channels.c3.pattern = %s: [%p] %t\n"
"logging.formatters.f1.class = PatternFormatter\n"
"logging.formatters.f1.pattern = %s-[%p] %t\n"
"logging.formatters.f1.times = UTC\n";
std::istringstream istr(config);
AutoPtr<PropertyFileConfiguration> pConfig = new PropertyFileConfiguration(istr);
LoggingConfigurator configurator;
configurator.configure(pConfig);
Logger& root = Logger::get("");
assertTrue (root.getLevel() == Message::PRIO_WARNING);
FormattingChannel::Ptr pFC = root.getChannel().cast<FormattingChannel>();
assertNotNull (pFC);
#if defined(_WIN32) && !defined(_WIN32_WCE)
assertTrue (!pFC->getChannel().cast<Poco::WindowsConsoleChannel>().isNull());
#else
assertTrue (!pFC->getChannel().cast<Poco::ConsoleChannel>().isNull());
#endif
assertTrue (!pFC->getFormatter().cast<Poco::PatternFormatter>().isNull());
assertTrue ((pFC->getFormatter().cast<PatternFormatter>())->getProperty("pattern") == "%s-[%p] %t");
Logger& logger1 = Logger::get("logger1");
assertTrue (logger1.getLevel() == Message::PRIO_INFORMATION);
pFC = logger1.getChannel().cast<FormattingChannel>();
assertTrue (!pFC.isNull());
assertTrue (!pFC->getChannel().cast<FileChannel>().isNull());
assertTrue (!pFC->getFormatter().cast<PatternFormatter>().isNull());
assertTrue (pFC->getFormatter().cast<PatternFormatter>()->getProperty("pattern") == "%s: [%p] %t");
Logger& logger2 = Logger::get("logger2");
assertTrue (logger2.getLevel() == Message::PRIO_DEBUG);
assertTrue (!logger2.getChannel().cast<SplitterChannel>().isNull());
}
void LoggingConfiguratorTest::testBadConfiguration1()
{
// this is mainly testing for memory leaks in case of
// a bad configuration.
static const std::string config =
"logging.loggers.root.channel = c1\n"
"logging.loggers.root.level = warning\n"
"logging.loggers.l1.name = logger1\n"
"logging.loggers.l1.channel.class = FileChannel\n"
"logging.loggers.l1.channel.pattern = %s: [%p] %t\n"
"logging.loggers.l1.channel.path = logfile.log\n"
"logging.loggers.l1.level = information\n"
"logging.loggers.l2.name = logger2\n"
"logging.loggers.l2.channel.class = UnknownChannel\n"
"logging.loggers.l2.level = debug\n"
"logging.channels.c1.class = ConsoleChannel\n"
"logging.channels.c1.formatter = f1\n"
"logging.channels.c2.class = FileChannel\n"
"logging.channels.c2.path = ${system.tempDir}/sample.log\n"
"logging.channels.c2.formatter.class = PatternFormatter\n"
"logging.channels.c2.formatter.pattern = %s: {%p} %t\n"
"logging.channels.c3.class = ConsoleChannel\n"
"logging.channels.c3.pattern = %s: [%p] %t\n"
"logging.formatters.f1.class = PatternFormatter\n"
"logging.formatters.f1.pattern = %s-[%p] %t\n"
"logging.formatters.f1.times = UTC\n";
std::istringstream istr(config);
AutoPtr<PropertyFileConfiguration> pConfig = new PropertyFileConfiguration(istr);
LoggingConfigurator configurator;
try
{
configurator.configure(pConfig);
fail("bad configuration - must throw");
}
catch (Poco::Exception&)
{
}
}
void LoggingConfiguratorTest::testBadConfiguration2()
{
// this is mainly testing for memory leaks in case of
// a bad configuration.
static const std::string config =
"logging.loggers.root.channel = c1\n"
"logging.loggers.root.level = unknown\n"
"logging.loggers.l1.name = logger1\n"
"logging.loggers.l1.channel.class = FileChannel\n"
"logging.loggers.l1.channel.pattern = %s: [%p] %t\n"
"logging.loggers.l1.channel.path = logfile.log\n"
"logging.loggers.l1.level = information\n"
"logging.loggers.l2.name = logger2\n"
"logging.loggers.l2.channel.class = SplitterChannel\n"
"logging.loggers.l2.level = debug\n"
"logging.channels.c1.class = ConsoleChannel\n"
"logging.channels.c1.formatter = f1\n"
"logging.channels.c2.class = FileChannel\n"
"logging.channels.c2.path = ${system.tempDir}/sample.log\n"
"logging.channels.c2.formatter.class = PatternFormatter\n"
"logging.channels.c2.formatter.pattern = %s: {%p} %t\n"
"logging.channels.c3.class = ConsoleChannel\n"
"logging.channels.c3.pattern = %s: [%p] %t\n"
"logging.formatters.f1.class = PatternFormatter\n"
"logging.formatters.f1.pattern = %s-[%p] %t\n"
"logging.formatters.f1.times = UTC\n";
std::istringstream istr(config);
AutoPtr<PropertyFileConfiguration> pConfig = new PropertyFileConfiguration(istr);
LoggingConfigurator configurator;
try
{
configurator.configure(pConfig);
fail("bad configuration - must throw");
}
catch (Poco::Exception&)
{
}
}
void LoggingConfiguratorTest::testBadConfiguration3()
{
// this is mainly testing for memory leaks in case of
// a bad configuration.
static const std::string config =
"logging.loggers.root.channel = c1\n"
"logging.loggers.root.level = warning\n"
"logging.loggers.l1.name = logger1\n"
"logging.loggers.l1.channel.class = FileChannel\n"
"logging.loggers.l1.channel.pattern = %s: [%p] %t\n"
"logging.loggers.l1.channel.path = logfile.log\n"
"logging.loggers.l1.level = information\n"
"logging.loggers.l2.name = logger2\n"
"logging.loggers.l2.channel.class = UnknownChannel\n"
"logging.loggers.l2.level = debug\n"
"logging.channels.c1.class = ConsoleChannel\n"
"logging.channels.c1.formatter = f1\n"
"logging.channels.c2.class = FileChannel\n"
"logging.channels.c2.path = ${system.tempDir}/sample.log\n"
"logging.channels.c2.formatter.class = UnknownFormatter\n"
"logging.channels.c2.formatter.pattern = %s: {%p} %t\n"
"logging.channels.c3.class = ConsoleChannel\n"
"logging.channels.c3.pattern = %s: [%p] %t\n"
"logging.formatters.f1.class = PatternFormatter\n"
"logging.formatters.f1.pattern = %s-[%p] %t\n"
"logging.formatters.f1.times = UTC\n";
std::istringstream istr(config);
AutoPtr<PropertyFileConfiguration> pConfig = new PropertyFileConfiguration(istr);
LoggingConfigurator configurator;
try
{
configurator.configure(pConfig);
fail("bad configuration - must throw");
}
catch (Poco::Exception&)
{
}
}
void LoggingConfiguratorTest::testBadConfiguration4()
{
// this is mainly testing for memory leaks in case of
// a bad configuration.
static const std::string config =
"logging.loggers.root.channel = c1\n"
"logging.loggers.root.level = warning\n"
"logging.loggers.l1.name = logger1\n"
"logging.loggers.l1.channel.class = FileChannel\n"
"logging.loggers.l1.channel.pattern = %s: [%p] %t\n"
"logging.loggers.l1.channel.path = logfile.log\n"
"logging.loggers.l1.level = information\n"
"logging.loggers.l2.name = logger2\n"
"logging.loggers.l2.channel.class = UnknownChannel\n"
"logging.loggers.l2.level = debug\n"
"logging.channels.c1.class = ConsoleChannel\n"
"logging.channels.c1.formatter = f1\n"
"logging.channels.c2.class = FileChannel\n"
"logging.channels.c2.path = ${system.tempDir}/sample.log\n"
"logging.channels.c2.formatter.class = PatternFormatter\n"
"logging.channels.c2.formatter.pattern = %s: {%p} %t\n"
"logging.channels.c2.formatter.unknown = FOO\n"
"logging.channels.c3.class = ConsoleChannel\n"
"logging.channels.c3.pattern = %s: [%p] %t\n"
"logging.formatters.f1.class = PatternFormatter\n"
"logging.formatters.f1.pattern = %s-[%p] %t\n"
"logging.formatters.f1.times = UTC\n";
std::istringstream istr(config);
AutoPtr<PropertyFileConfiguration> pConfig = new PropertyFileConfiguration(istr);
LoggingConfigurator configurator;
try
{
configurator.configure(pConfig);
fail("bad configuration - must throw");
}
catch (Poco::Exception&)
{
}
}
void LoggingConfiguratorTest::setUp()
{
LoggingRegistry::defaultRegistry().clear();
}
void LoggingConfiguratorTest::tearDown()
{
}
CppUnit::Test* LoggingConfiguratorTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("LoggingConfiguratorTest");
CppUnit_addTest(pSuite, LoggingConfiguratorTest, testConfigurator);
CppUnit_addTest(pSuite, LoggingConfiguratorTest, testBadConfiguration1);
CppUnit_addTest(pSuite, LoggingConfiguratorTest, testBadConfiguration2);
CppUnit_addTest(pSuite, LoggingConfiguratorTest, testBadConfiguration3);
CppUnit_addTest(pSuite, LoggingConfiguratorTest, testBadConfiguration4);
return pSuite;
}

View File

@@ -0,0 +1,42 @@
//
// LoggingConfiguratorTest.h
//
// Definition of the LoggingConfiguratorTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef LoggingConfiguratorTest_INCLUDED
#define LoggingConfiguratorTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class LoggingConfiguratorTest: public CppUnit::TestCase
{
public:
LoggingConfiguratorTest(const std::string& name);
~LoggingConfiguratorTest();
void testConfigurator();
void testBadConfiguration1();
void testBadConfiguration2();
void testBadConfiguration3();
void testBadConfiguration4();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // LoggingConfiguratorTest_INCLUDED

View File

@@ -0,0 +1,69 @@
//
// MapConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "MapConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/MapConfiguration.h"
#include "Poco/AutoPtr.h"
using Poco::Util::AbstractConfiguration;
using Poco::Util::MapConfiguration;
using Poco::AutoPtr;
MapConfigurationTest::MapConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
{
}
MapConfigurationTest::~MapConfigurationTest()
{
}
void MapConfigurationTest::testClear()
{
AutoPtr<MapConfiguration> pConf = new MapConfiguration;
pConf->setString("foo", "bar");
assertTrue (pConf->hasProperty("foo"));
pConf->clear();
assertTrue (!pConf->hasProperty("foo"));
}
AbstractConfiguration::Ptr MapConfigurationTest::allocConfiguration() const
{
return new MapConfiguration;
}
void MapConfigurationTest::setUp()
{
}
void MapConfigurationTest::tearDown()
{
}
CppUnit::Test* MapConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("MapConfigurationTest");
AbstractConfigurationTest_addTests(pSuite, MapConfigurationTest);
CppUnit_addTest(pSuite, MapConfigurationTest, testClear);
return pSuite;
}

View File

@@ -0,0 +1,39 @@
//
// MapConfigurationTest.h
//
// Definition of the MapConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef MapConfigurationTest_INCLUDED
#define MapConfigurationTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class MapConfigurationTest: public AbstractConfigurationTest
{
public:
MapConfigurationTest(const std::string& name);
virtual ~MapConfigurationTest();
void testClear();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // MapConfigurationTest_INCLUDED

View File

@@ -0,0 +1,377 @@
//
// OptionProcessorTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "OptionProcessorTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/OptionProcessor.h"
#include "Poco/Util/OptionException.h"
using Poco::Util::Option;
using Poco::Util::OptionSet;
using Poco::Util::OptionProcessor;
OptionProcessorTest::OptionProcessorTest(const std::string& name): CppUnit::TestCase(name)
{
}
OptionProcessorTest::~OptionProcessorTest()
{
}
void OptionProcessorTest::testUnix()
{
OptionSet set;
set.addOption(
Option("include-dir", "I", "specify a search path for locating header files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("library-dir", "L", "specify a search path for locating library files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("output", "o", "specify the output file", true)
.argument("file", true));
set.addOption(
Option("verbose", "v")
.description("enable verbose mode")
.required(false)
.repeatable(false));
set.addOption(
Option("optimize", "O")
.description("enable optimization")
.required(false)
.repeatable(false)
.argument("level", false)
.group("mode"));
set.addOption(
Option("debug", "g")
.description("generate debug information")
.required(false)
.repeatable(false)
.group("mode"));
set.addOption(
Option("info", "i")
.description("print information")
.required(false)
.repeatable(false));
OptionProcessor p1(set);
std::string name;
std::string value;
assertTrue (p1.process("-I/usr/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/include");
assertTrue (p1.process("--include:/usr/local/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/local/include");
assertTrue (p1.process("-I", name, value));
assertTrue (name.empty());
assertTrue (value.empty());
assertTrue (p1.process("/usr/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/include");
assertTrue (p1.process("-I", name, value));
assertTrue (name.empty());
assertTrue (value.empty());
assertTrue (p1.process("-L", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "-L");
assertTrue (p1.process("--lib=/usr/local/lib", name, value));
assertTrue (name == "library-dir");
assertTrue (value == "/usr/local/lib");
assertTrue (p1.process("-ofile", name, value));
assertTrue (name == "output");
assertTrue (value == "file");
assertTrue (!p1.process("src/file.cpp", name, value));
assertTrue (!p1.process("/src/file.cpp", name, value));
try
{
p1.process("--output:file", name, value);
fail("duplicate - must throw");
}
catch (Poco::Util::DuplicateOptionException&)
{
}
assertTrue (p1.process("-g", name, value));
assertTrue (name == "debug");
assertTrue (value == "");
try
{
p1.process("--optimize", name, value);
fail("incompatible - must throw");
}
catch (Poco::Util::IncompatibleOptionsException&)
{
}
try
{
p1.process("-x", name, value);
fail("unknown option - must throw");
}
catch (Poco::Util::UnknownOptionException&)
{
}
try
{
p1.process("--in", name, value);
fail("ambiguous option - must throw");
}
catch (Poco::Util::AmbiguousOptionException&)
{
}
}
void OptionProcessorTest::testDefault()
{
OptionSet set;
set.addOption(
Option("include-dir", "I", "specify a search path for locating header files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("library-dir", "L", "specify a search path for locating library files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("output", "o", "specify the output file", true)
.argument("file", true));
set.addOption(
Option("verbose", "v")
.description("enable verbose mode")
.required(false)
.repeatable(false));
set.addOption(
Option("optimize", "O")
.description("enable optimization")
.required(false)
.repeatable(false)
.argument("level", false)
.group("mode"));
set.addOption(
Option("debug", "g")
.description("generate debug information")
.required(false)
.repeatable(false)
.group("mode"));
set.addOption(
Option("info", "i")
.description("print information")
.required(false)
.repeatable(false));
OptionProcessor p1(set);
p1.setUnixStyle(false);
std::string name;
std::string value;
assertTrue (p1.process("/Inc:/usr/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/include");
assertTrue (p1.process("/include:/usr/local/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/local/include");
assertTrue (p1.process("/Inc", name, value));
assertTrue (name.empty());
assertTrue (value.empty());
assertTrue (p1.process("/usr/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/include");
assertTrue (p1.process("/lib=/usr/local/lib", name, value));
assertTrue (name == "library-dir");
assertTrue (value == "/usr/local/lib");
assertTrue (p1.process("/out:file", name, value));
assertTrue (name == "output");
assertTrue (value == "file");
assertTrue (!p1.process("src/file.cpp", name, value));
assertTrue (!p1.process("\\src\\file.cpp", name, value));
try
{
p1.process("/output:file", name, value);
fail("duplicate - must throw");
}
catch (Poco::Util::DuplicateOptionException&)
{
}
assertTrue (p1.process("/debug", name, value));
assertTrue (name == "debug");
assertTrue (value == "");
try
{
p1.process("/OPT", name, value);
fail("incompatible - must throw");
}
catch (Poco::Util::IncompatibleOptionsException&)
{
}
try
{
p1.process("/x", name, value);
fail("unknown option - must throw");
}
catch (Poco::Util::UnknownOptionException&)
{
}
try
{
p1.process("/in", name, value);
fail("ambiguous option - must throw");
}
catch (Poco::Util::AmbiguousOptionException&)
{
}
}
void OptionProcessorTest::testRequired()
{
OptionSet set;
set.addOption(
Option("option", "o")
.required(true)
.repeatable(true));
OptionProcessor p1(set);
std::string name;
std::string value;
try
{
p1.checkRequired();
fail("no options specified - must throw");
}
catch (Poco::Util::MissingOptionException&)
{
}
assertTrue (p1.process("-o", name, value));
p1.checkRequired();
}
void OptionProcessorTest::testArgs()
{
OptionSet set;
set.addOption(
Option("include-dir", "I", "specify a search path for locating header files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("optimize", "O")
.description("enable optimization")
.required(false)
.repeatable(true)
.argument("level", false));
OptionProcessor p1(set);
std::string name;
std::string value;
assertTrue (p1.process("-I/usr/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/include");
assertTrue (p1.process("--include:/usr/local/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/local/include");
assertTrue (p1.process("-I", name, value));
assertTrue (name.empty());
assertTrue (value.empty());
assertTrue (p1.process("/usr/include", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "/usr/include");
assertTrue (p1.process("-I", name, value));
assertTrue (name.empty());
assertTrue (value.empty());
assertTrue (p1.process("-L", name, value));
assertTrue (name == "include-dir");
assertTrue (value == "-L");
assertTrue (p1.process("-O", name, value));
assertTrue (name == "optimize");
assertTrue (value.empty());
assertTrue (p1.process("-O2", name, value));
assertTrue (name == "optimize");
assertTrue (value == "2");
}
void OptionProcessorTest::setUp()
{
}
void OptionProcessorTest::tearDown()
{
}
CppUnit::Test* OptionProcessorTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("OptionProcessorTest");
CppUnit_addTest(pSuite, OptionProcessorTest, testUnix);
CppUnit_addTest(pSuite, OptionProcessorTest, testDefault);
CppUnit_addTest(pSuite, OptionProcessorTest, testRequired);
CppUnit_addTest(pSuite, OptionProcessorTest, testArgs);
return pSuite;
}

View File

@@ -0,0 +1,41 @@
//
// OptionProcessorTest.h
//
// Definition of the OptionProcessorTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef OptionProcessorTest_INCLUDED
#define OptionProcessorTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class OptionProcessorTest: public CppUnit::TestCase
{
public:
OptionProcessorTest(const std::string& name);
~OptionProcessorTest();
void testUnix();
void testDefault();
void testRequired();
void testArgs();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // OptionProcessorTest_INCLUDED

View File

@@ -0,0 +1,149 @@
//
// OptionSetTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "OptionSetTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionException.h"
using Poco::Util::OptionSet;
using Poco::Util::Option;
OptionSetTest::OptionSetTest(const std::string& name): CppUnit::TestCase(name)
{
}
OptionSetTest::~OptionSetTest()
{
}
void OptionSetTest::testOptionSet()
{
OptionSet set;
set.addOption(
Option("helper", "H", "start helper")
.required(false)
.repeatable(false));
set.addOption(
Option("help", "h", "print help text")
.required(false)
.repeatable(false));
set.addOption(
Option("include-dir", "I", "specify a search path for locating header files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("library-dir", "L", "specify a search path for locating library files")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("insert", "it", "insert something")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("item", "", "insert something")
.required(false)
.repeatable(true)
.argument("path"));
set.addOption(
Option("include", "J", "specify a search path for locating header files")
.required(false)
.repeatable(true)
.argument("path"));
assertTrue (set.hasOption("include", false));
assertTrue (set.hasOption("I", true));
assertTrue (set.hasOption("Include", true));
assertTrue (set.hasOption("insert", false));
assertTrue (set.hasOption("it", true));
assertTrue (set.hasOption("Insert", false));
assertTrue (set.hasOption("item", false));
assertTrue (!set.hasOption("i", false));
assertTrue (!set.hasOption("in", false));
assertTrue (set.hasOption("help"));
assertTrue (set.hasOption("h", true));
assertTrue (set.hasOption("helper"));
assertTrue (set.hasOption("H", true));
const Option& opt1 = set.getOption("include");
assertTrue (opt1.fullName() == "include");
const Option& opt2 = set.getOption("item");
assertTrue (opt2.fullName() == "item");
const Option& opt3 = set.getOption("I", true);
assertTrue (opt3.fullName() == "include-dir");
const Option& opt4 = set.getOption("include-d");
assertTrue (opt4.fullName() == "include-dir");
const Option& opt5 = set.getOption("help");
assertTrue (opt5.fullName() == "help");
const Option& opt6 = set.getOption("helpe");
assertTrue (opt6.fullName() == "helper");
try
{
set.getOption("in");
fail("ambiguous - must throw");
}
catch (Poco::Util::AmbiguousOptionException&)
{
}
try
{
set.getOption("he");
fail("ambiguous - must throw");
}
catch (Poco::Util::AmbiguousOptionException&)
{
}
try
{
set.getOption("i");
fail("ambiguous - must throw");
}
catch (Poco::Util::AmbiguousOptionException&)
{
}
}
void OptionSetTest::setUp()
{
}
void OptionSetTest::tearDown()
{
}
CppUnit::Test* OptionSetTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("OptionSetTest");
CppUnit_addTest(pSuite, OptionSetTest, testOptionSet);
return pSuite;
}

View File

@@ -0,0 +1,38 @@
//
// OptionSetTest.h
//
// Definition of the OptionSetTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef OptionSetTest_INCLUDED
#define OptionSetTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class OptionSetTest: public CppUnit::TestCase
{
public:
OptionSetTest(const std::string& name);
~OptionSetTest();
void testOptionSet();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // OptionSetTest_INCLUDED

View File

@@ -0,0 +1,349 @@
//
// OptionTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "OptionTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionException.h"
using Poco::Util::Option;
OptionTest::OptionTest(const std::string& name): CppUnit::TestCase(name)
{
}
OptionTest::~OptionTest()
{
}
void OptionTest::testOption()
{
Option incOpt = Option("include-dir", "I", "specify an include search path")
.required(false)
.repeatable(true)
.argument("path");
Option libOpt = Option("library-dir", "L", "specify a library search path", false)
.repeatable(true)
.argument("path");
Option outOpt = Option("output", "o", "specify the output file", true)
.argument("file", true);
Option vrbOpt = Option("verbose", "v")
.description("enable verbose mode")
.required(false)
.repeatable(false);
Option optOpt = Option("optimize", "O")
.description("enable optimization")
.required(false)
.repeatable(false)
.argument("level", false);
assertTrue (incOpt.shortName() == "I");
assertTrue (incOpt.fullName() == "include-dir");
assertTrue (incOpt.repeatable());
assertTrue (!incOpt.required());
assertTrue (incOpt.argumentName() == "path");
assertTrue (incOpt.argumentRequired());
assertTrue (incOpt.takesArgument());
assertTrue (libOpt.shortName() == "L");
assertTrue (libOpt.fullName() == "library-dir");
assertTrue (libOpt.repeatable());
assertTrue (!libOpt.required());
assertTrue (libOpt.argumentName() == "path");
assertTrue (libOpt.argumentRequired());
assertTrue (incOpt.takesArgument());
assertTrue (outOpt.shortName() == "o");
assertTrue (outOpt.fullName() == "output");
assertTrue (!outOpt.repeatable());
assertTrue (outOpt.required());
assertTrue (outOpt.argumentName() == "file");
assertTrue (outOpt.argumentRequired());
assertTrue (incOpt.takesArgument());
assertTrue (vrbOpt.shortName() == "v");
assertTrue (vrbOpt.fullName() == "verbose");
assertTrue (!vrbOpt.repeatable());
assertTrue (!vrbOpt.required());
assertTrue (!vrbOpt.argumentRequired());
assertTrue (!vrbOpt.takesArgument());
assertTrue (optOpt.shortName() == "O");
assertTrue (optOpt.fullName() == "optimize");
assertTrue (!optOpt.repeatable());
assertTrue (!optOpt.required());
assertTrue (optOpt.argumentName() == "level");
assertTrue (optOpt.takesArgument());
assertTrue (!optOpt.argumentRequired());
}
void OptionTest::testMatches1()
{
Option incOpt = Option("include-dir", "I", "specify an include search path")
.required(false)
.repeatable(true)
.argument("path");
assertTrue (incOpt.matchesShort("Iinclude"));
assertTrue (incOpt.matchesPartial("include:include"));
assertTrue (incOpt.matchesPartial("include-dir:include"));
assertTrue (incOpt.matchesPartial("inc=include"));
assertTrue (incOpt.matchesPartial("INCLUDE=include"));
assertTrue (incOpt.matchesPartial("include"));
assertTrue (incOpt.matchesShort("I"));
assertTrue (incOpt.matchesPartial("i"));
assertTrue (incOpt.matchesFull("include-dir:include"));
assertTrue (incOpt.matchesFull("INClude-dir:include"));
assertTrue (!incOpt.matchesFull("include:include"));
assertTrue (!incOpt.matchesFull("include-dir2:include"));
assertTrue (!incOpt.matchesPartial("include-dir2=include"));
assertTrue (!incOpt.matchesShort("linclude"));
}
void OptionTest::testMatches2()
{
Option incOpt = Option("include-dir", "", "specify an include search path")
.required(false)
.repeatable(true)
.argument("path");
assertTrue (!incOpt.matchesShort("Iinclude"));
assertTrue (incOpt.matchesPartial("include:include"));
assertTrue (incOpt.matchesPartial("include-dir:include"));
assertTrue (incOpt.matchesPartial("inc=include"));
assertTrue (incOpt.matchesPartial("INCLUDE=include"));
assertTrue (incOpt.matchesPartial("I"));
assertTrue (incOpt.matchesPartial("i"));
assertTrue (incOpt.matchesFull("include-dir:include"));
assertTrue (incOpt.matchesFull("INClude-dir:include"));
assertTrue (!incOpt.matchesFull("include:include"));
assertTrue (!incOpt.matchesFull("include-dir2:include"));
assertTrue (!incOpt.matchesFull("include-dir2=include"));
assertTrue (!incOpt.matchesShort("linclude"));
}
void OptionTest::testProcess1()
{
Option incOpt = Option("include-dir", "I", "specify an include search path")
.required(false)
.repeatable(true)
.argument("path");
std::string arg;
incOpt.process("Iinclude", arg);
assertTrue (arg == "include");
incOpt.process("I/usr/include", arg);
assertTrue (arg == "/usr/include");
incOpt.process("include:/usr/local/include", arg);
assertTrue (arg == "/usr/local/include");
incOpt.process("include=/proj/include", arg);
assertTrue (arg == "/proj/include");
incOpt.process("include-dir=/usr/include", arg);
assertTrue (arg == "/usr/include");
incOpt.process("Include-dir:/proj/include", arg);
assertTrue (arg == "/proj/include");
try
{
incOpt.process("I", arg);
fail("argument required - must throw");
}
catch (Poco::Util::MissingArgumentException&)
{
}
try
{
incOpt.process("Include", arg);
fail("argument required - must throw");
}
catch (Poco::Util::MissingArgumentException&)
{
}
try
{
incOpt.process("Llib", arg);
fail("wrong option - must throw");
}
catch (Poco::Util::UnknownOptionException&)
{
}
Option vrbOpt = Option("verbose", "v")
.description("enable verbose mode")
.required(false)
.repeatable(false);
vrbOpt.process("v", arg);
assertTrue (arg.empty());
vrbOpt.process("verbose", arg);
assertTrue (arg.empty());
try
{
vrbOpt.process("v2", arg);
fail("no argument expected - must throw");
}
catch (Poco::Util::UnexpectedArgumentException&)
{
}
try
{
vrbOpt.process("verbose:2", arg);
fail("no argument expected - must throw");
}
catch (Poco::Util::UnexpectedArgumentException&)
{
}
Option optOpt = Option("optimize", "O")
.description("enable optimization")
.required(false)
.repeatable(false)
.argument("level", false);
optOpt.process("O", arg);
assertTrue (arg.empty());
optOpt.process("O2", arg);
assertTrue (arg == "2");
optOpt.process("optimize:1", arg);
assertTrue (arg == "1");
optOpt.process("opt", arg);
assertTrue (arg.empty());
optOpt.process("opt=3", arg);
assertTrue (arg == "3");
optOpt.process("opt=", arg);
assertTrue (arg.empty());
}
void OptionTest::testProcess2()
{
Option incOpt = Option("include-dir", "", "specify an include search path")
.required(false)
.repeatable(true)
.argument("path");
std::string arg;
incOpt.process("include:/usr/local/include", arg);
assertTrue (arg == "/usr/local/include");
incOpt.process("include=/proj/include", arg);
assertTrue (arg == "/proj/include");
incOpt.process("include-dir=/usr/include", arg);
assertTrue (arg == "/usr/include");
incOpt.process("Include-dir:/proj/include", arg);
assertTrue (arg == "/proj/include");
try
{
incOpt.process("Iinclude", arg);
fail("unknown option - must throw");
}
catch (Poco::Util::UnknownOptionException&)
{
}
try
{
incOpt.process("I", arg);
fail("argument required - must throw");
}
catch (Poco::Util::MissingArgumentException&)
{
}
try
{
incOpt.process("Include", arg);
fail("argument required - must throw");
}
catch (Poco::Util::MissingArgumentException&)
{
}
try
{
incOpt.process("Llib", arg);
fail("wrong option - must throw");
}
catch (Poco::Util::UnknownOptionException&)
{
}
Option vrbOpt = Option("verbose", "")
.description("enable verbose mode")
.required(false)
.repeatable(false);
vrbOpt.process("v", arg);
assertTrue (arg.empty());
vrbOpt.process("verbose", arg);
assertTrue (arg.empty());
try
{
vrbOpt.process("v2", arg);
fail("no argument expected - must throw");
}
catch (Poco::Util::UnknownOptionException&)
{
}
try
{
vrbOpt.process("verbose:2", arg);
fail("no argument expected - must throw");
}
catch (Poco::Util::UnexpectedArgumentException&)
{
}
}
void OptionTest::setUp()
{
}
void OptionTest::tearDown()
{
}
CppUnit::Test* OptionTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("OptionTest");
CppUnit_addTest(pSuite, OptionTest, testOption);
CppUnit_addTest(pSuite, OptionTest, testMatches1);
CppUnit_addTest(pSuite, OptionTest, testMatches2);
CppUnit_addTest(pSuite, OptionTest, testProcess1);
CppUnit_addTest(pSuite, OptionTest, testProcess2);
return pSuite;
}

View File

@@ -0,0 +1,42 @@
//
// OptionTest.h
//
// Definition of the OptionTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef OptionTest_INCLUDED
#define OptionTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class OptionTest: public CppUnit::TestCase
{
public:
OptionTest(const std::string& name);
~OptionTest();
void testOption();
void testMatches1();
void testMatches2();
void testProcess1();
void testProcess2();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // OptionTest_INCLUDED

View File

@@ -0,0 +1,30 @@
//
// OptionsTestSuite.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "OptionsTestSuite.h"
#include "OptionTest.h"
#include "OptionSetTest.h"
#include "HelpFormatterTest.h"
#include "OptionProcessorTest.h"
#include "ValidatorTest.h"
CppUnit::Test* OptionsTestSuite::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("OptionsTestSuite");
pSuite->addTest(OptionTest::suite());
pSuite->addTest(OptionSetTest::suite());
pSuite->addTest(HelpFormatterTest::suite());
pSuite->addTest(OptionProcessorTest::suite());
pSuite->addTest(ValidatorTest::suite());
return pSuite;
}

View File

@@ -0,0 +1,27 @@
//
// OptionsTestSuite.h
//
// Definition of the OptionsTestSuite class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef OptionsTestSuite_INCLUDED
#define OptionsTestSuite_INCLUDED
#include "CppUnit/TestSuite.h"
class OptionsTestSuite
{
public:
static CppUnit::Test* suite();
};
#endif // OptionsTestSuite_INCLUDED

View File

@@ -0,0 +1,133 @@
//
// PropertyFileConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "PropertyFileConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/PropertyFileConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include <sstream>
#include <algorithm>
using Poco::Util::PropertyFileConfiguration;
using Poco::Util::AbstractConfiguration;
using Poco::AutoPtr;
using Poco::NotFoundException;
PropertyFileConfigurationTest::PropertyFileConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
{
}
PropertyFileConfigurationTest::~PropertyFileConfigurationTest()
{
}
void PropertyFileConfigurationTest::testLoad()
{
static const std::string propFile =
"! comment\n"
"! comment\n"
"prop1=value1\n"
"prop2 = value2 \n"
"prop3.prop31: value3\n"
"# comment\n"
" prop3.prop32: value 4\n"
"prop3.prop33: value5, value6, \\\n"
"value7, value8, \\\r\n"
"value9\n"
"prop4 = escaped[\\t\\r\\n\\f]\n"
"#prop4 = foo\n"
"prop5:foo";
std::istringstream istr(propFile);
AutoPtr<PropertyFileConfiguration> pConf = new PropertyFileConfiguration(istr);
assertTrue (pConf->getString("prop1") == "value1");
assertTrue (pConf->getString("prop2") == "value2");
assertTrue (pConf->getString("prop3.prop31") == "value3");
assertTrue (pConf->getString("prop3.prop32") == "value 4");
assertTrue (pConf->getString("prop3.prop33") == "value5, value6, value7, value8, value9");
assertTrue (pConf->getString("prop4") == "escaped[\t\r\n\f]");
assertTrue (pConf->getString("prop5") == "foo");
AbstractConfiguration::Keys keys;
pConf->keys(keys);
assertTrue (keys.size() == 5);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop3") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop4") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop5") != keys.end());
pConf->keys("prop3", keys);
assertTrue (keys.size() == 3);
assertTrue (std::find(keys.begin(), keys.end(), "prop31") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop32") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop33") != keys.end());
try
{
std::string s = pConf->getString("foo");
fail("No property - must throw");
}
catch (NotFoundException&)
{
}
}
void PropertyFileConfigurationTest::testSave()
{
AutoPtr<PropertyFileConfiguration> pConf = new PropertyFileConfiguration;
pConf->setString("prop1", "value1");
pConf->setInt("prop2", 42);
pConf->setString("prop3", "value\\1\txxx");
std::ostringstream ostr;
pConf->save(ostr);
std::string propFile = ostr.str();
assertTrue (propFile == "prop1: value1\n"
"prop2: 42\n"
"prop3: value\\\\1\\txxx\n");
}
AbstractConfiguration::Ptr PropertyFileConfigurationTest::allocConfiguration() const
{
return new PropertyFileConfiguration;
}
void PropertyFileConfigurationTest::setUp()
{
}
void PropertyFileConfigurationTest::tearDown()
{
}
CppUnit::Test* PropertyFileConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("PropertyFileConfigurationTest");
AbstractConfigurationTest_addTests(pSuite, PropertyFileConfigurationTest);
CppUnit_addTest(pSuite, PropertyFileConfigurationTest, testLoad);
CppUnit_addTest(pSuite, PropertyFileConfigurationTest, testSave);
return pSuite;
}

View File

@@ -0,0 +1,40 @@
//
// PropertyFileConfigurationTest.h
//
// Definition of the PropertyFileConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef PropertyFileConfigurationTest_INCLUDED
#define PropertyFileConfigurationTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class PropertyFileConfigurationTest: public AbstractConfigurationTest
{
public:
PropertyFileConfigurationTest(const std::string& name);
virtual ~PropertyFileConfigurationTest();
void testLoad();
void testSave();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // PropertyFileConfigurationTest_INCLUDED

View File

@@ -0,0 +1,126 @@
//
// SystemConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "SystemConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/SystemConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include "Poco/Environment.h"
#include "Poco/Path.h"
#if !defined(POCO_VXWORKS)
#include "Poco/Process.h"
#endif
#include "Poco/NumberParser.h"
#include <algorithm>
using Poco::Util::SystemConfiguration;
using Poco::Util::AbstractConfiguration;
using Poco::AutoPtr;
using Poco::Environment;
using Poco::Path;
using Poco::InvalidAccessException;
using Poco::NotFoundException;
SystemConfigurationTest::SystemConfigurationTest(const std::string& name): CppUnit::TestCase(name)
{
}
SystemConfigurationTest::~SystemConfigurationTest()
{
}
void SystemConfigurationTest::testProperties()
{
AutoPtr<SystemConfiguration> pConf = new SystemConfiguration;
assertTrue (pConf->getString("system.osName") == Environment::osName());
assertTrue (pConf->getString("system.osVersion") == Environment::osVersion());
assertTrue (pConf->getString("system.osArchitecture") == Environment::osArchitecture());
assertTrue (pConf->getString("system.nodeName") == Environment::nodeName());
assertTrue (pConf->getString("system.currentDir") == Path::current());
assertTrue (pConf->getString("system.homeDir") == Path::home());
assertTrue (pConf->getString("system.tempDir") == Path::temp());
std::string dateTime = pConf->getString("system.dateTime");
assertTrue (dateTime.size() == 20);
#if !defined(POCO_VXWORKS)
std::string pid = pConf->getString("system.pid");
assertTrue (Poco::NumberParser::parse64(pid) == Poco::Process::id());
#endif
#if defined(POCO_OS_FAMILY_WINDOWS)
std::string home = pConf->getString("system.env.HOMEPATH");
#else
std::string home = pConf->getString("system.env.HOME");
#endif
assertTrue (!home.empty());
}
void SystemConfigurationTest::testKeys()
{
AutoPtr<SystemConfiguration> pConf = new SystemConfiguration;
AbstractConfiguration::Keys keys;
pConf->keys(keys);
assertTrue (keys.size() == 1);
assertTrue (std::find(keys.begin(), keys.end(), "system") != keys.end());
pConf->keys("system", keys);
#if defined(POCO_VXWORKS)
assertTrue (keys.size() == 10);
#else
assertTrue (keys.size() == 16);
#endif
assertTrue (std::find(keys.begin(), keys.end(), "osName") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "osVersion") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "osArchitecture") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "nodeName") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "nodeId") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "currentDir") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "homeDir") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "configHomeDir") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "cacheHomeDir") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "dataHomeDir") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "tempDir") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "dateTime") != keys.end());
#if !defined(POCO_VXWORKS)
assertTrue (std::find(keys.begin(), keys.end(), "pid") != keys.end());
#endif
assertTrue (std::find(keys.begin(), keys.end(), "env") != keys.end());
}
void SystemConfigurationTest::setUp()
{
}
void SystemConfigurationTest::tearDown()
{
}
CppUnit::Test* SystemConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("SystemConfigurationTest");
CppUnit_addTest(pSuite, SystemConfigurationTest, testProperties);
CppUnit_addTest(pSuite, SystemConfigurationTest, testKeys);
return pSuite;
}

View File

@@ -0,0 +1,39 @@
//
// SystemConfigurationTest.h
//
// Definition of the SystemConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef SystemConfigurationTest_INCLUDED
#define SystemConfigurationTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class SystemConfigurationTest: public CppUnit::TestCase
{
public:
SystemConfigurationTest(const std::string& name);
~SystemConfigurationTest();
void testProperties();
void testKeys();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // SystemConfigurationTest_INCLUDED

View File

@@ -0,0 +1,311 @@
//
// TimerTest.cpp
//
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "TimerTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/Timer.h"
#include "Poco/Util/TimerTaskAdapter.h"
using Poco::Util::Timer;
using Poco::Util::TimerTask;
using Poco::Util::TimerTaskAdapter;
using Poco::Timestamp;
using Poco::Clock;
TimerTest::TimerTest(const std::string& name): CppUnit::TestCase(name)
{
}
TimerTest::~TimerTest()
{
}
void TimerTest::testScheduleTimestamp()
{
Timer timer;
Timestamp time;
time += 1000000;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
assertTrue (pTask->lastExecution() == 0);
timer.schedule(pTask, time);
_event.wait();
assertTrue (pTask->lastExecution() >= time);
}
void TimerTest::testScheduleClock()
{
Timer timer;
// As reference
Timestamp time;
time += 1000000;
Clock clock;
clock += 1000000;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
assertTrue (pTask->lastExecution() == 0);
timer.schedule(pTask, clock);
_event.wait();
assertTrue (pTask->lastExecution() >= time);
}
void TimerTest::testScheduleInterval()
{
Timer timer;
Timestamp time;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
assertTrue (pTask->lastExecution() == 0);
timer.schedule(pTask, 500, 500);
_event.wait();
assertTrue (time.elapsed() >= 590000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1190000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1790000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
pTask->cancel();
assertTrue (pTask->isCancelled());
}
void TimerTest::testScheduleIntervalTimestamp()
{
Timer timer;
Timestamp time;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
assertTrue (pTask->lastExecution() == 0);
Timestamp scheduleTime;
scheduleTime += 500 * 1000;
timer.schedule(pTask, scheduleTime, 500);
_event.wait();
assertTrue (time.elapsed() >= 590000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1190000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1790000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
pTask->cancel();
assertTrue (pTask->isCancelled());
}
void TimerTest::testScheduleIntervalClock()
{
Timer timer;
Timestamp time;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
assertTrue (pTask->lastExecution() == 0);
Clock scheduleClock;
scheduleClock += 500 * 1000;
timer.schedule(pTask, scheduleClock, 500);
_event.wait();
assertTrue (time.elapsed() >= 590000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1190000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1790000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
pTask->cancel();
assertTrue (pTask->isCancelled());
}
void TimerTest::testScheduleAtFixedRate()
{
Timer timer;
Timestamp time;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
assertTrue (pTask->lastExecution() == 0);
timer.scheduleAtFixedRate(pTask, 500, 500);
_event.wait();
assertTrue (time.elapsed() >= 500000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1000000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
_event.wait();
assertTrue (time.elapsed() >= 1500000);
assertTrue (pTask->lastExecution().elapsed() < 130000);
pTask->cancel();
assertTrue (pTask->isCancelled());
}
void TimerTest::testCancel()
{
Timer timer;
Timestamp time;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
assertTrue (pTask->lastExecution() == 0);
timer.scheduleAtFixedRate(pTask, 5000, 5000);
pTask->cancel();
assertTrue (pTask->isCancelled());
try
{
timer.scheduleAtFixedRate(pTask, 5000, 5000);
fail("must not reschedule a cancelled task");
}
catch (Poco::IllegalStateException&)
{
}
catch (Poco::Exception&)
{
fail("bad exception thrown");
}
}
void TimerTest::testCancelAllStop()
{
{
Timer timer;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
timer.scheduleAtFixedRate(pTask, 5000, 5000);
Poco::Thread::sleep(100);
timer.cancel(false);
}
assertTrue (true); // don't hang
}
void TimerTest::testCancelAllWaitStop()
{
{
Timer timer;
TimerTask::Ptr pTask = new TimerTaskAdapter<TimerTest>(*this, &TimerTest::onTimer);
timer.scheduleAtFixedRate(pTask, 5000, 5000);
Poco::Thread::sleep(100);
timer.cancel(true);
}
assertTrue (true); // don't hang
}
void TimerTest::testFunc()
{
Timer timer;
int count = 0;
timer.schedule(Timer::func([&count]()
{
count++;
}), Poco::Clock());
Poco::Thread::sleep(100);
assertTrue (count == 1);
}
void TimerTest::setUp()
{
}
void TimerTest::tearDown()
{
}
void TimerTest::onTimer(TimerTask& task)
{
Poco::Thread::sleep(100);
_event.set();
}
CppUnit::Test* TimerTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("TimerTest");
CppUnit_addTest(pSuite, TimerTest, testScheduleTimestamp);
CppUnit_addTest(pSuite, TimerTest, testScheduleClock);
CppUnit_addTest(pSuite, TimerTest, testScheduleInterval);
CppUnit_addTest(pSuite, TimerTest, testScheduleIntervalTimestamp);
CppUnit_addTest(pSuite, TimerTest, testScheduleIntervalClock);
CppUnit_addTest(pSuite, TimerTest, testScheduleAtFixedRate);
CppUnit_addTest(pSuite, TimerTest, testCancel);
CppUnit_addTest(pSuite, TimerTest, testCancelAllStop);
CppUnit_addTest(pSuite, TimerTest, testCancelAllWaitStop);
CppUnit_addTest(pSuite, TimerTest, testFunc);
return pSuite;
}

View File

@@ -0,0 +1,52 @@
//
// TimerTest.h
//
// Definition of the TimerTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef TimerTest_INCLUDED
#define TimerTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
#include "Poco/Util/TimerTask.h"
#include "Poco/Event.h"
class TimerTest: public CppUnit::TestCase
{
public:
TimerTest(const std::string& name);
~TimerTest();
void testScheduleTimestamp();
void testScheduleClock();
void testScheduleInterval();
void testScheduleAtFixedRate();
void testScheduleIntervalTimestamp();
void testScheduleIntervalClock();
void testCancel();
void testCancelAllStop();
void testCancelAllWaitStop();
void testFunc();
void setUp();
void tearDown();
void onTimer(Poco::Util::TimerTask& task);
static CppUnit::Test* suite();
private:
Poco::Event _event;
};
#endif // TimerTest_INCLUDED

View File

@@ -0,0 +1,22 @@
//
// TimerTestSuite.cpp
//
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "TimerTestSuite.h"
#include "TimerTest.h"
CppUnit::Test* TimerTestSuite::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("TimerTestSuite");
pSuite->addTest(TimerTest::suite());
return pSuite;
}

View File

@@ -0,0 +1,27 @@
//
// TimerTestSuite.h
//
// Definition of the TimerTestSuite class.
//
// Copyright (c) 2009, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef TimerTestSuite_INCLUDED
#define TimerTestSuite_INCLUDED
#include "CppUnit/TestSuite.h"
class TimerTestSuite
{
public:
static CppUnit::Test* suite();
};
#endif // TimerTestSuite_INCLUDED

View File

@@ -0,0 +1,32 @@
//
// UtilTestSuite.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "UtilTestSuite.h"
#include "ConfigurationTestSuite.h"
#include "OptionsTestSuite.h"
#include "TimerTestSuite.h"
#if defined(_MSC_VER) && !defined(_WIN32_WCE)
#include "WindowsTestSuite.h"
#endif
CppUnit::Test* UtilTestSuite::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("UtilTestSuite");
pSuite->addTest(ConfigurationTestSuite::suite());
pSuite->addTest(OptionsTestSuite::suite());
pSuite->addTest(TimerTestSuite::suite());
#if defined(_MSC_VER) && !defined(_WIN32_WCE)
pSuite->addTest(WindowsTestSuite::suite());
#endif
return pSuite;
}

View File

@@ -0,0 +1,27 @@
//
// UtilTestSuite.h
//
// Definition of the UtilTestSuite class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef UtilTestSuite_INCLUDED
#define UtilTestSuite_INCLUDED
#include "CppUnit/TestSuite.h"
class UtilTestSuite
{
public:
static CppUnit::Test* suite();
};
#endif // UtilTestSuite_INCLUDED

View File

@@ -0,0 +1,155 @@
//
// ValidatorTest.cpp
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "ValidatorTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/RegExpValidator.h"
#include "Poco/Util/IntValidator.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionException.h"
#include "Poco/AutoPtr.h"
using Poco::Util::Validator;
using Poco::Util::RegExpValidator;
using Poco::Util::IntValidator;
using Poco::Util::Option;
using Poco::Util::InvalidArgumentException;
using Poco::AutoPtr;
ValidatorTest::ValidatorTest(const std::string& name): CppUnit::TestCase(name)
{
}
ValidatorTest::~ValidatorTest()
{
}
void ValidatorTest::testRegExpValidator()
{
Option option("option", "o");
AutoPtr<Validator> pVal(new RegExpValidator("[0-9]+"));
pVal->validate(option, "0");
pVal->validate(option, "12345");
try
{
pVal->validate(option, " 234");
fail("does not match - must throw");
}
catch (InvalidArgumentException& exc)
{
std::string s(exc.message());
assertTrue (s == "argument for option does not match regular expression [0-9]+");
}
try
{
pVal->validate(option, "234asdf");
fail("does not match - must throw");
}
catch (InvalidArgumentException& exc)
{
std::string s(exc.message());
assertTrue (s == "argument for option does not match regular expression [0-9]+");
}
try
{
pVal->validate(option, "abc");
fail("does not match - must throw");
}
catch (InvalidArgumentException& exc)
{
std::string s(exc.message());
assertTrue (s == "argument for option does not match regular expression [0-9]+");
}
try
{
pVal->validate(option, "");
fail("does not match - must throw");
}
catch (InvalidArgumentException& exc)
{
std::string s(exc.message());
assertTrue (s == "argument for option does not match regular expression [0-9]+");
}
}
void ValidatorTest::testIntValidator()
{
Option option("option", "o");
AutoPtr<Validator> pVal(new IntValidator(0, 100));
pVal->validate(option, "0");
pVal->validate(option, "100");
pVal->validate(option, "55");
try
{
pVal->validate(option, "-1");
fail("out of range - must throw");
}
catch (InvalidArgumentException& exc)
{
std::string s(exc.message());
assertTrue (s == "argument for option must be in range 0 to 100");
}
try
{
pVal->validate(option, "101");
fail("out of range - must throw");
}
catch (InvalidArgumentException& exc)
{
std::string s(exc.message());
assertTrue (s == "argument for option must be in range 0 to 100");
}
try
{
pVal->validate(option, "asdf");
fail("not a number - must throw");
}
catch (InvalidArgumentException& exc)
{
std::string s(exc.message());
assertTrue (s == "argument for option must be an integer");
}
}
void ValidatorTest::setUp()
{
}
void ValidatorTest::tearDown()
{
}
CppUnit::Test* ValidatorTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("ValidatorTest");
CppUnit_addTest(pSuite, ValidatorTest, testRegExpValidator);
CppUnit_addTest(pSuite, ValidatorTest, testIntValidator);
return pSuite;
}

View File

@@ -0,0 +1,39 @@
//
// ValidatorTest.h
//
// Definition of the ValidatorTest class.
//
// Copyright (c) 2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef ValidatorTest_INCLUDED
#define ValidatorTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class ValidatorTest: public CppUnit::TestCase
{
public:
ValidatorTest(const std::string& name);
~ValidatorTest();
void testRegExpValidator();
void testIntValidator();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // ValidatorTest_INCLUDED

View File

@@ -0,0 +1,30 @@
//
// WinCEDriver.cpp
//
// Console-based test driver for Windows CE.
//
// Copyright (c) 2004-2010, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "CppUnit/TestRunner.h"
#include "UtilTestSuite.h"
#include <cstdlib>
int wmain(int argc, wchar_t* argv[])
{
std::vector<std::string> args;
for (int i = 0; i < argc; ++i)
{
char buffer[1024];
std::wcstombs(buffer, argv[i], sizeof(buffer));
args.push_back(std::string(buffer));
}
CppUnit::TestRunner runner;
runner.addTest("UtilTestSuite", UtilTestSuite::suite());
return runner.run(args) ? 0 : 1;
}

View File

@@ -0,0 +1,154 @@
//
// WinConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "WinConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/WinRegistryConfiguration.h"
#include "Poco/Util/WinRegistryKey.h"
#include "Poco/Environment.h"
#include "Poco/AutoPtr.h"
#include "Poco/types.h"
#undef min
#undef max
#include <limits>
using Poco::Util::WinRegistryConfiguration;
using Poco::Util::WinRegistryKey;
using Poco::Environment;
using Poco::AutoPtr;
using Poco::Int64;
using Poco::UInt64;
WinConfigurationTest::WinConfigurationTest(const std::string& name): CppUnit::TestCase(name)
{
}
WinConfigurationTest::~WinConfigurationTest()
{
}
void WinConfigurationTest::testConfiguration()
{
WinRegistryKey regKey("HKEY_CURRENT_USER\\Software\\Applied Informatics\\Test");
if (regKey.exists()) regKey.deleteKey();
assertTrue (!regKey.exists());
AutoPtr<WinRegistryConfiguration> pReg = new WinRegistryConfiguration("HKEY_CURRENT_USER\\Software\\Applied Informatics\\Test");
pReg->setString("name1", "value1");
assertTrue (pReg->getString("name1") == "value1");
pReg->setInt("name1", 1); // overwrite should also change type
assertTrue (pReg->getInt("name1") == 1);
pReg->setString("name2", "value2");
assertTrue (pReg->getString("name2") == "value2");
#if defined(POCO_HAVE_INT64)
pReg->setUInt64("name2", std::numeric_limits<UInt64>::max()); // overwrite should also change type
assertTrue (pReg->getUInt64("name2") == std::numeric_limits<UInt64>::max());
pReg->setInt64("name2", std::numeric_limits<Int64>::min());
assertTrue (pReg->getInt64("name2") == std::numeric_limits<Int64>::min());
/// write real int64 value type
regKey.setInt64("name3", std::numeric_limits<Int64>::max());
assertTrue (pReg->getInt64("name3") == std::numeric_limits<Int64>::max());
#endif
/// create fake binary data
const int dataSize = 127;
std::vector<char> data(dataSize);
for (int i = 0; i < dataSize; ++i)
data[i] = rand() % 256;
regKey.setBinary("name4", data);
assertTrue (pReg->getString("name4") == std::string(data.begin(), data.end()));
assertTrue (pReg->hasProperty("name1"));
assertTrue (pReg->hasProperty("name2"));
std::string dfl = pReg->getString("nonexistent", "default");
assertTrue (dfl == "default");
AutoPtr<Poco::Util::AbstractConfiguration> pView = pReg->createView("config");
dfl = pView->getString("sub.foo", "default");
assertTrue (dfl == "default");
pView->setString("sub.foo", "bar");
assertTrue (pView->getString("sub.foo", "default") == "bar");
std::string value;
assertTrue (pReg->convertToRegFormat("A.B.C", value) == "A\\B");
assertTrue (value == "C");
Poco::Util::AbstractConfiguration::Keys keys;
pReg->keys(keys);
assertTrue (keys.size() == 5);
assertTrue (std::find(keys.begin(), keys.end(), "name1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "name2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "name3") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "name4") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "config") != keys.end());
pReg->keys("config", keys);
assertTrue (keys.size() == 1);
assertTrue (std::find(keys.begin(), keys.end(), "sub") != keys.end());
AutoPtr<WinRegistryConfiguration> pRootReg = new WinRegistryConfiguration("");
assertTrue (pRootReg->getInt("HKEY_CURRENT_USER.Software.Applied Informatics.Test.name1") == 1);
pRootReg->keys(keys);
#if defined(_WIN32_WCE)
assertTrue (keys.size() == 4);
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_CLASSES_ROOT") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_CURRENT_USER") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_LOCAL_MACHINE") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_USERS") != keys.end());
#else
assertTrue (keys.size() == 6);
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_CLASSES_ROOT") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_CURRENT_CONFIG") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_CURRENT_USER") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_LOCAL_MACHINE") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_PERFORMANCE_DATA") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "HKEY_USERS") != keys.end());
#endif
pRootReg->keys("HKEY_CURRENT_USER.Software.Applied Informatics.Test", keys);
assertTrue (keys.size() == 5);
assertTrue (std::find(keys.begin(), keys.end(), "name1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "name2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "name3") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "name4") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "config") != keys.end());
}
void WinConfigurationTest::setUp()
{
}
void WinConfigurationTest::tearDown()
{
}
CppUnit::Test* WinConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("WinConfigurationTest");
CppUnit_addTest(pSuite, WinConfigurationTest, testConfiguration);
return pSuite;
}

View File

@@ -0,0 +1,38 @@
//
// WinConfigurationTest.h
//
// Definition of the WinConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef WinConfigurationTest_INCLUDED
#define WinConfigurationTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class WinConfigurationTest: public CppUnit::TestCase
{
public:
WinConfigurationTest(const std::string& name);
~WinConfigurationTest();
void testConfiguration();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // WinConfigurationTest_INCLUDED

View File

@@ -0,0 +1,28 @@
//
// WinDriver.cpp
//
// Windows test driver for Poco Util.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "WinTestRunner/WinTestRunner.h"
#include "UtilTestSuite.h"
class TestDriver: public CppUnit::WinTestRunnerApp
{
void TestMain()
{
CppUnit::WinTestRunner runner;
runner.addTest(UtilTestSuite::suite());
runner.run();
}
};
TestDriver theDriver;

View File

@@ -0,0 +1,128 @@
//
// WinRegistryTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "WinRegistryTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/WinRegistryKey.h"
#include "Poco/Environment.h"
#include "Poco/Exception.h"
#undef min
#undef max
#include <limits>
#if defined(POCO_HAVE_INT64)
using Poco::Int64;
#endif
using Poco::Util::WinRegistryKey;
using Poco::Environment;
WinRegistryTest::WinRegistryTest(const std::string& name): CppUnit::TestCase(name)
{
}
WinRegistryTest::~WinRegistryTest()
{
}
void WinRegistryTest::testRegistry()
{
WinRegistryKey regKey("HKEY_CURRENT_USER\\Software\\Applied Informatics\\Test");
if (regKey.exists()) regKey.deleteKey();
assertTrue (!regKey.exists());
regKey.setString("name1", "value1");
assertTrue (regKey.getString("name1") == "value1");
regKey.setString("name1", "Value1");
assertTrue (regKey.getString("name1") == "Value1");
regKey.setString("name2", "value2");
assertTrue (regKey.getString("name2") == "value2");
assertTrue (regKey.exists("name1"));
assertTrue (regKey.exists("name2"));
assertTrue (regKey.exists());
WinRegistryKey regKeyRO("HKEY_CURRENT_USER\\Software\\Applied Informatics\\Test", true);
assertTrue (regKeyRO.getString("name1") == "Value1");
try
{
regKeyRO.setString("name1", "newValue1");
}
catch (Poco::Exception& exc)
{
std::string msg = exc.displayText();
}
assertTrue (regKey.getString("name1") == "Value1");
WinRegistryKey::Values vals;
regKey.values(vals);
assertTrue (vals.size() == 2);
assertTrue (vals[0] == "name1" || vals[0] == "name2");
assertTrue (vals[1] == "name1" || vals[1] == "name2");
assertTrue (vals[0] != vals[1]);
Environment::set("FOO", "bar");
regKey.setStringExpand("name3", "%FOO%");
assertTrue (regKey.getStringExpand("name3") == "bar");
regKey.setInt("name4", 42);
assertTrue (regKey.getInt("name4") == 42);
assertTrue (regKey.exists("name4"));
regKey.deleteValue("name4");
assertTrue (!regKey.exists("name4"));
#if defined(POCO_HAVE_INT64)
regKey.setInt64("name5", std::numeric_limits<Int64>::max());
assertTrue (regKey.getInt64("name5") == std::numeric_limits<Int64>::max());
assertTrue (regKey.exists("name5"));
regKey.deleteValue("name5");
assertTrue (!regKey.exists("name5"));
#endif
const int dataSize = 127;
std::vector<char> data(dataSize);
for (int i = 0; i < dataSize; ++i)
data[i] = rand() % 256;
regKey.setBinary("binary", data);
assertTrue (regKey.getBinary("binary") == data);
assertTrue (regKey.exists("binary"));
regKey.deleteValue("binary");
assertTrue (!regKey.exists("binary"));
regKey.deleteKey();
assertTrue (!regKey.exists());
}
void WinRegistryTest::setUp()
{
}
void WinRegistryTest::tearDown()
{
}
CppUnit::Test* WinRegistryTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("WinRegistryTest");
CppUnit_addTest(pSuite, WinRegistryTest, testRegistry);
return pSuite;
}

View File

@@ -0,0 +1,38 @@
//
// WinRegistryTest.h
//
// Definition of the WinRegistryTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef WinRegistryTest_INCLUDED
#define WinRegistryTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
class WinRegistryTest: public CppUnit::TestCase
{
public:
WinRegistryTest(const std::string& name);
~WinRegistryTest();
void testRegistry();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // WinRegistryTest_INCLUDED

View File

@@ -0,0 +1,83 @@
#include "WinServiceTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
using Poco::Util::WinService;
WinServiceTest::WinServiceTest(const std::string& name) : CppUnit::TestCase(name)
{
}
WinServiceTest::~WinServiceTest()
{
}
void WinServiceTest::testServiceCouldCreatedWithExistingConnection()
{
SC_HANDLE scmHandle = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
assertTrue(scmHandle);
WinService spoolerService{scmHandle, "Spooler"};
assertTrue(spoolerService.isRegistered());
}
void WinServiceTest::testServiceReturnsTrueIfStopped()
{
WinService spoolerService{"Spooler"};
spoolerService.stop();
assertTrue(spoolerService.isStopped());
}
void WinServiceTest::testServiceReturnsFailureActionConfigured()
{
WinService spoolerService{"Spooler"};
auto failureActions = spoolerService.getFailureActions();
assertEqual(3, failureActions.size());
assertEqual(WinService::SVC_RESTART, failureActions[0]);
assertEqual(WinService::SVC_RESTART, failureActions[1]);
assertEqual(WinService::SVC_NONE, failureActions[2]);
}
void WinServiceTest::setUp()
{
}
void WinServiceTest::tearDown()
{
try
{
WinService spoolerService{"Spooler"};
if (spoolerService.isStopped())
{
spoolerService.start();
}
}
catch (...)
{
}
}
CppUnit::Test* WinServiceTest::suite() {
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("WinServiceTest");
CppUnit_addTest(pSuite, WinServiceTest, testServiceCouldCreatedWithExistingConnection);
CppUnit_addTest(pSuite, WinServiceTest, testServiceReturnsTrueIfStopped);
CppUnit_addTest(pSuite, WinServiceTest, testServiceReturnsFailureActionConfigured);
return pSuite;
}

View File

@@ -0,0 +1,26 @@
#ifndef WinServiceTest_INCLUDED
#define WinServiceTest_INCLUDED
#include "Poco/Util/Util.h"
#include "CppUnit/TestCase.h"
#include "Poco/Util/WinService.h"
class WinServiceTest : public CppUnit::TestCase {
public:
WinServiceTest(const std::string& name);
~WinServiceTest();
void testServiceCouldCreatedWithExistingConnection();
void testServiceReturnsTrueIfStopped();
void testServiceReturnsFailureActionConfigured();
void setUp();
void tearDown();
static CppUnit::Test* suite();
};
#endif // WinServiceTest_INCLUDED

View File

@@ -0,0 +1,28 @@
//
// WindowsTestSuite.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "WindowsTestSuite.h"
#include "WinRegistryTest.h"
#include "WinConfigurationTest.h"
#include "WinServiceTest.h"
CppUnit::Test* WindowsTestSuite::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("WindowsTestSuite");
pSuite->addTest(WinRegistryTest::suite());
pSuite->addTest(WinConfigurationTest::suite());
#ifdef ENABLE_WINSERVICE_TEST
pSuite->addTest(WinServiceTest::suite());
#endif
return pSuite;
}

View File

@@ -0,0 +1,27 @@
//
// WindowsTestSuite.h
//
// Definition of the WindowsTestSuite class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef WindowsTestSuite_INCLUDED
#define WindowsTestSuite_INCLUDED
#include "CppUnit/TestSuite.h"
class WindowsTestSuite
{
public:
static CppUnit::Test* suite();
};
#endif // WindowsTestSuite_INCLUDED

View File

@@ -0,0 +1,327 @@
//
// XMLConfigurationTest.cpp
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "XMLConfigurationTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/Util/XMLConfiguration.h"
#include "Poco/AutoPtr.h"
#include "Poco/Exception.h"
#include <sstream>
#include <algorithm>
using Poco::Util::XMLConfiguration;
using Poco::Util::AbstractConfiguration;
using Poco::AutoPtr;
using Poco::NotImplementedException;
using Poco::NotFoundException;
XMLConfigurationTest::XMLConfigurationTest(const std::string& name): AbstractConfigurationTest(name)
{
}
XMLConfigurationTest::~XMLConfigurationTest()
{
}
void XMLConfigurationTest::testLoad()
{
static const std::string xmlFile =
"<config>"
" <prop1>value1</prop1>"
" <prop2>value2</prop2>"
" <prop3>"
" <prop4 attr='value3'/>"
" <prop4 attr='value4'/>"
" </prop3>"
" <prop5 id='1'>value5</prop5>"
" <prop5 id='2'>value6</prop5>"
" <prop6 id='foo'>"
" <prop7>value7</prop7>"
" </prop6>"
" <prop6 id='bar'>"
" <prop7>value8</prop7>"
" </prop6>"
"</config>";
std::istringstream istr(xmlFile);
AutoPtr<XMLConfiguration> pConf = new XMLConfiguration(istr);
assertTrue (pConf->getString("prop1") == "value1");
assertTrue (pConf->getString("prop2") == "value2");
assertTrue (pConf->getString("prop3.prop4[@attr]") == "value3");
assertTrue (pConf->getString("prop3.prop4[1][@attr]") == "value4");
assertTrue (pConf->getString("prop5") == "value5");
assertTrue (pConf->getString("prop5[0]") == "value5");
assertTrue (pConf->getString("prop5[1]") == "value6");
assertTrue (pConf->getString("prop5[@id=1]") == "value5");
assertTrue (pConf->getString("prop5[@id='2']") == "value6");
assertTrue (pConf->getString("prop6[@id=foo].prop7") == "value7");
assertTrue (pConf->getString("prop6[@id='bar'].prop7") == "value8");
AbstractConfiguration::Keys keys;
pConf->keys(keys);
assertTrue (keys.size() == 7);
assertTrue (std::find(keys.begin(), keys.end(), "prop1") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop2") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop3") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop5") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop5[1]") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop6") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop6[1]") != keys.end());
pConf->keys("prop3", keys);
assertTrue (keys.size() == 2);
assertTrue (std::find(keys.begin(), keys.end(), "prop4") != keys.end());
assertTrue (std::find(keys.begin(), keys.end(), "prop4[1]") != keys.end());
assertTrue (pConf->hasProperty("prop3.prop4[@attr]"));
pConf->remove("prop3.prop4[@attr]");
assertTrue (!pConf->hasProperty("prop3.prop4[@attr]"));
assertTrue (pConf->hasProperty("prop3"));
pConf->remove("prop3");
assertTrue (!pConf->hasProperty("prop3"));
try
{
std::string s = pConf->getString("foo");
fail("No property - must throw");
}
catch (NotFoundException&)
{
}
try
{
std::string s = pConf->getString("prop5[@id='3']");
fail("No property - must throw");
}
catch (NotFoundException&)
{
}
}
void XMLConfigurationTest::testSave()
{
AutoPtr<XMLConfiguration> pConf = new XMLConfiguration;
pConf->loadEmpty("config");
std::ostringstream ostr;
pConf->save(ostr);
std::string s(ostr.str());
assertTrue (s == "<config/>\n");
pConf->setString("prop1", "value1");
assertTrue (pConf->getString("prop1") == "value1");
pConf->setString("prop2", "value2");
assertTrue (pConf->getString("prop2") == "value2");
pConf->setString("prop3.prop4[@attr]", "value3");
assertTrue (pConf->getString("prop3.prop4[@attr]") == "value3");
pConf->setString("prop3.prop4[1][@attr]", "value4");
assertTrue (pConf->getString("prop3.prop4[1][@attr]") == "value4");
pConf->setString("prop5", "value5a");
assertTrue (pConf->getString("prop5") == "value5a");
pConf->setString("prop5[0]", "value5");
assertTrue (pConf->getString("prop5[0]") == "value5");
assertTrue (pConf->getString("prop5") == "value5");
pConf->setString("prop5[1]", "value6");
assertTrue (pConf->getString("prop5[1]") == "value6");
try
{
pConf->setString("prop5[3]", "value7");
fail("bad index - must throw");
}
catch (Poco::InvalidArgumentException&)
{
}
std::ostringstream ostr2;
pConf->save(ostr2);
s = ostr2.str();
assertTrue (s ==
"<config>\n"
"\t<prop1>value1</prop1>\n"
"\t<prop2>value2</prop2>\n"
"\t<prop3>\n"
"\t\t<prop4 attr=\"value3\"/>\n"
"\t\t<prop4 attr=\"value4\"/>\n"
"\t</prop3>\n"
"\t<prop5>value5</prop5>\n"
"\t<prop5>value6</prop5>\n"
"</config>\n");
pConf->setString("prop1", "value11");
assertTrue (pConf->getString("prop1") == "value11");
pConf->setString("prop2", "value21");
assertTrue (pConf->getString("prop2") == "value21");
pConf->setString("prop3.prop4[1][@attr]", "value41");
assertTrue (pConf->getString("prop3.prop4[1][@attr]") == "value41");
pConf->setString("prop3.prop4[2][@attr]", "value42");
assertTrue (pConf->getString("prop3.prop4[2][@attr]") == "value42");
std::ostringstream ostr3;
pConf->save(ostr3);
s = ostr3.str();
assertTrue (s ==
"<config>\n"
"\t<prop1>value11</prop1>\n"
"\t<prop2>value21</prop2>\n"
"\t<prop3>\n"
"\t\t<prop4 attr=\"value3\"/>\n"
"\t\t<prop4 attr=\"value41\"/>\n"
"\t\t<prop4 attr=\"value42\"/>\n"
"\t</prop3>\n"
"\t<prop5>value5</prop5>\n"
"\t<prop5>value6</prop5>\n"
"</config>\n");
}
void XMLConfigurationTest::testLoadAppendSave()
{
AutoPtr<XMLConfiguration> pConf = new XMLConfiguration;
std::istringstream istr("<config>\n"
"\t<prop1>value1</prop1>\n"
"</config>\n");
pConf->load(istr);
pConf->setString("prop2", "value2");
assertTrue (pConf->getString("prop2") == "value2");
std::ostringstream ostr;
pConf->save(ostr);
std::string s(ostr.str());
assertTrue (s ==
"<config>\n"
"\t<prop1>value1</prop1>\n"
"\t<prop2>value2</prop2>\n"
"</config>\n");
}
void XMLConfigurationTest::testOtherDelimiter()
{
static const std::string xmlFile =
"<config>"
" <prop1>value1</prop1>"
" <prop2>value2</prop2>"
" <prop3>"
" <prop4 attr='value3'/>"
" <prop4 attr='value4'/>"
" </prop3>"
" <prop5 id='1'>value5</prop5>"
" <prop5 id='2'>value6</prop5>"
" <prop6 id='foo'>"
" <prop7>value7</prop7>"
" </prop6>"
" <prop6 id='bar'>"
" <prop7>value8</prop7>"
" </prop6>"
"</config>";
std::istringstream istr(xmlFile);
AutoPtr<XMLConfiguration> pConf = new XMLConfiguration(istr, '/');
assertTrue (pConf->getString("prop1") == "value1");
assertTrue (pConf->getString("prop2") == "value2");
assertTrue (pConf->getString("prop3/prop4[@attr]") == "value3");
assertTrue (pConf->getString("prop3/prop4[1][@attr]") == "value4");
assertTrue (pConf->getString("prop5") == "value5");
assertTrue (pConf->getString("prop5[0]") == "value5");
assertTrue (pConf->getString("prop5[1]") == "value6");
assertTrue (pConf->getString("prop5[@id=1]") == "value5");
assertTrue (pConf->getString("prop5[@id='2']") == "value6");
assertTrue (pConf->getString("prop6[@id=foo]/prop7") == "value7");
assertTrue (pConf->getString("prop6[@id='bar']/prop7") == "value8");
}
AbstractConfiguration::Ptr XMLConfigurationTest::allocConfiguration() const
{
XMLConfiguration* pConfig = new XMLConfiguration();
pConfig->loadEmpty("TestConfiguration");
return pConfig;
}
void XMLConfigurationTest::testSaveEmpty()
{
Poco::AutoPtr<XMLConfiguration> pConfig = new XMLConfiguration;
std::ostringstream ostr;
pConfig->save(ostr);
assertTrue (ostr.str() == "<config/>\n");
}
void XMLConfigurationTest::testFromScratch()
{
Poco::AutoPtr<XMLConfiguration> pConfig = new XMLConfiguration;
pConfig->setString("foo", "bar");
std::ostringstream ostr;
pConfig->save(ostr);
assertTrue (ostr.str() == "<config>\n\t<foo>bar</foo>\n</config>\n");
}
void XMLConfigurationTest::testLoadEmpty()
{
Poco::AutoPtr<XMLConfiguration> pConfig = new XMLConfiguration;
pConfig->loadEmpty("AppConfig");
pConfig->setString("foo", "bar");
std::ostringstream ostr;
pConfig->save(ostr);
assertTrue (ostr.str() == "<AppConfig>\n\t<foo>bar</foo>\n</AppConfig>\n");
}
void XMLConfigurationTest::setUp()
{
}
void XMLConfigurationTest::tearDown()
{
}
CppUnit::Test* XMLConfigurationTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("XMLConfigurationTest");
AbstractConfigurationTest_addTests(pSuite, XMLConfigurationTest);
CppUnit_addTest(pSuite, XMLConfigurationTest, testLoad);
CppUnit_addTest(pSuite, XMLConfigurationTest, testSave);
CppUnit_addTest(pSuite, XMLConfigurationTest, testLoadAppendSave);
CppUnit_addTest(pSuite, XMLConfigurationTest, testOtherDelimiter);
CppUnit_addTest(pSuite, XMLConfigurationTest, testSaveEmpty);
CppUnit_addTest(pSuite, XMLConfigurationTest, testFromScratch);
CppUnit_addTest(pSuite, XMLConfigurationTest, testLoadEmpty);
return pSuite;
}

View File

@@ -0,0 +1,45 @@
//
// XMLConfigurationTest.h
//
// Definition of the XMLConfigurationTest class.
//
// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef XMLConfigurationTest_INCLUDED
#define XMLConfigurationTest_INCLUDED
#include "AbstractConfigurationTest.h"
#include "Poco/Util/Util.h"
class XMLConfigurationTest: public AbstractConfigurationTest
{
public:
XMLConfigurationTest(const std::string& name);
virtual ~XMLConfigurationTest();
void testLoad();
void testSave();
void testLoadAppendSave();
void testOtherDelimiter();
void testSaveEmpty();
void testFromScratch();
void testLoadEmpty();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
virtual Poco::Util::AbstractConfiguration::Ptr allocConfiguration() const;
};
#endif // XMLConfigurationTest_INCLUDED