Index: ch.vc90.sln
===================================================================
diff -u -N -rd24ff711b841cd4f458f775e53fe49beaac76f25 -r2e23b5892ef4d4bb1ee2c6cde893004a71a11510
--- ch.vc90.sln (.../ch.vc90.sln) (revision d24ff711b841cd4f458f775e53fe49beaac76f25)
+++ ch.vc90.sln (.../ch.vc90.sln) (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -5,201 +5,183 @@
{CBBF380B-7B16-4A1E-8194-758DAD7D8011} = {CBBF380B-7B16-4A1E-8194-758DAD7D8011}
{5510B933-046F-4F75-8B46-5E8279C8CCDE} = {5510B933-046F-4F75-8B46-5E8279C8CCDE}
{DD1F3242-7EE4-4F41-8B8D-D833300C445F} = {DD1F3242-7EE4-4F41-8B8D-D833300C445F}
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chext", "src\chext\chext.vc90.vcproj", "{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}"
ProjectSection(ProjectDependencies) = postProject
{CBBF380B-7B16-4A1E-8194-758DAD7D8011} = {CBBF380B-7B16-4A1E-8194-758DAD7D8011}
{5510B933-046F-4F75-8B46-5E8279C8CCDE} = {5510B933-046F-4F75-8B46-5E8279C8CCDE}
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libicpf", "src\libicpf\libicpf.vc90.vcproj", "{5510B933-046F-4F75-8B46-5E8279C8CCDE}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB}
+ EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libictranslate", "src\libictranslate\libictranslate.vc90.vcproj", "{DD1F3242-7EE4-4F41-8B8D-D833300C445F}"
ProjectSection(ProjectDependencies) = postProject
{5510B933-046F-4F75-8B46-5E8279C8CCDE} = {5510B933-046F-4F75-8B46-5E8279C8CCDE}
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "rc2lng", "src\rc2lng\rc2lng.vc90.vcproj", "{10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}"
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ictranslate", "src\ictranslate\ictranslate.vc90.vcproj", "{B0292250-B70C-4395-9859-F181FB113DA8}"
ProjectSection(ProjectDependencies) = postProject
{5510B933-046F-4F75-8B46-5E8279C8CCDE} = {5510B933-046F-4F75-8B46-5E8279C8CCDE}
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F} = {DD1F3242-7EE4-4F41-8B8D-D833300C445F}
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ictranslate", "src\ictranslate\ictranslate.vc90.vcproj", "{B0292250-B70C-4395-9859-F181FB113DA8}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchcore", "src\libchcore\libchcore.vc90.vcproj", "{CBBF380B-7B16-4A1E-8194-758DAD7D8011}"
ProjectSection(ProjectDependencies) = postProject
{5510B933-046F-4F75-8B46-5E8279C8CCDE} = {5510B933-046F-4F75-8B46-5E8279C8CCDE}
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libchcore_test", "tests\libchcore_test\libchcore_test.vcproj", "{2AF37846-09E7-46EB-83AE-1E4C67742EE7}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gmock", "ext\gmock\gmock.vcproj", "{D98F2D98-2352-4303-93EE-A5430C4E98AB}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "chcmd", "src\chcmd\chcmd.vc90.vcproj", "{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB} = {D98F2D98-2352-4303-93EE-A5430C4E98AB}
+ EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
- DebugTests|Win32 = DebugTests|Win32
- DebugTests|x64 = DebugTests|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
- ReleaseTests|Win32 = ReleaseTests|Win32
- ReleaseTests|x64 = ReleaseTests|x64
+ Testing Debug|Win32 = Testing Debug|Win32
+ Testing Debug|x64 = Testing Debug|x64
+ Testing Release|Win32 = Testing Release|Win32
+ Testing Release|x64 = Testing Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|Win32.ActiveCfg = Debug|Win32
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|Win32.Build.0 = Debug|Win32
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|x64.ActiveCfg = Debug|x64
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Debug|x64.Build.0 = Debug|x64
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.DebugTests|Win32.Build.0 = Debug|Win32
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.DebugTests|x64.ActiveCfg = Debug|x64
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.DebugTests|x64.Build.0 = Debug|x64
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|Win32.ActiveCfg = Release|Win32
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|Win32.Build.0 = Release|Win32
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|x64.ActiveCfg = Release|x64
{4B215B9A-58CA-4987-AC95-7DFC3043E100}.Release|x64.Build.0 = Release|x64
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.ReleaseTests|Win32.Build.0 = Release|Win32
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.ReleaseTests|x64.ActiveCfg = Release|x64
- {4B215B9A-58CA-4987-AC95-7DFC3043E100}.ReleaseTests|x64.Build.0 = Release|x64
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {4B215B9A-58CA-4987-AC95-7DFC3043E100}.Testing Release|x64.Build.0 = Testing Release|x64
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|Win32.ActiveCfg = Debug|Win32
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|Win32.Build.0 = Debug|Win32
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|x64.ActiveCfg = Debug|x64
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Debug|x64.Build.0 = Debug|x64
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.DebugTests|Win32.Build.0 = Debug|Win32
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.DebugTests|x64.ActiveCfg = Debug|x64
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.DebugTests|x64.Build.0 = Debug|x64
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|Win32.ActiveCfg = Release|Win32
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|Win32.Build.0 = Release|Win32
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|x64.ActiveCfg = Release|x64
{7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Release|x64.Build.0 = Release|x64
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.ReleaseTests|Win32.Build.0 = Release|Win32
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.ReleaseTests|x64.ActiveCfg = Release|x64
- {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.ReleaseTests|x64.Build.0 = Release|x64
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {7CE8B0C5-8CD4-4551-ACBF-EC4749E15E69}.Testing Release|x64.Build.0 = Testing Release|x64
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Debug|Win32.ActiveCfg = Debug|Win32
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Debug|Win32.Build.0 = Debug|Win32
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Debug|x64.ActiveCfg = Debug|x64
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Debug|x64.Build.0 = Debug|x64
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.DebugTests|Win32.Build.0 = Debug|Win32
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.DebugTests|x64.ActiveCfg = Debug|x64
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.DebugTests|x64.Build.0 = Debug|x64
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Release|Win32.ActiveCfg = Release|Win32
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Release|Win32.Build.0 = Release|Win32
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Release|x64.ActiveCfg = Release|x64
{5510B933-046F-4F75-8B46-5E8279C8CCDE}.Release|x64.Build.0 = Release|x64
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.ReleaseTests|Win32.Build.0 = Release|Win32
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.ReleaseTests|x64.ActiveCfg = Release|x64
- {5510B933-046F-4F75-8B46-5E8279C8CCDE}.ReleaseTests|x64.Build.0 = Release|x64
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {5510B933-046F-4F75-8B46-5E8279C8CCDE}.Testing Release|x64.Build.0 = Testing Release|x64
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|Win32.ActiveCfg = Debug|Win32
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|Win32.Build.0 = Debug|Win32
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|x64.ActiveCfg = Debug|x64
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Debug|x64.Build.0 = Debug|x64
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.DebugTests|Win32.Build.0 = Debug|Win32
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.DebugTests|x64.ActiveCfg = Debug|x64
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.DebugTests|x64.Build.0 = Debug|x64
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|Win32.ActiveCfg = Release|Win32
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|Win32.Build.0 = Release|Win32
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|x64.ActiveCfg = Release|x64
{DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Release|x64.Build.0 = Release|x64
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.ReleaseTests|Win32.Build.0 = Release|Win32
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.ReleaseTests|x64.ActiveCfg = Release|x64
- {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.ReleaseTests|x64.Build.0 = Release|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Debug|Win32.ActiveCfg = Debug|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Debug|Win32.Build.0 = Debug|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Debug|x64.ActiveCfg = Debug|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Debug|x64.Build.0 = Debug|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.DebugTests|Win32.Build.0 = Debug|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.DebugTests|x64.ActiveCfg = Debug|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.DebugTests|x64.Build.0 = Debug|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Release|Win32.ActiveCfg = Release|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Release|Win32.Build.0 = Release|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Release|x64.ActiveCfg = Release|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.Release|x64.Build.0 = Release|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.ReleaseTests|Win32.Build.0 = Release|Win32
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.ReleaseTests|x64.ActiveCfg = Release|x64
- {10FB6B7E-81A1-47F9-BC6F-7017E5695D3A}.ReleaseTests|x64.Build.0 = Release|x64
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {DD1F3242-7EE4-4F41-8B8D-D833300C445F}.Testing Release|x64.Build.0 = Testing Release|x64
{B0292250-B70C-4395-9859-F181FB113DA8}.Debug|Win32.ActiveCfg = Debug|Win32
{B0292250-B70C-4395-9859-F181FB113DA8}.Debug|Win32.Build.0 = Debug|Win32
{B0292250-B70C-4395-9859-F181FB113DA8}.Debug|x64.ActiveCfg = Debug|x64
{B0292250-B70C-4395-9859-F181FB113DA8}.Debug|x64.Build.0 = Debug|x64
- {B0292250-B70C-4395-9859-F181FB113DA8}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {B0292250-B70C-4395-9859-F181FB113DA8}.DebugTests|Win32.Build.0 = Debug|Win32
- {B0292250-B70C-4395-9859-F181FB113DA8}.DebugTests|x64.ActiveCfg = Debug|x64
- {B0292250-B70C-4395-9859-F181FB113DA8}.DebugTests|x64.Build.0 = Debug|x64
{B0292250-B70C-4395-9859-F181FB113DA8}.Release|Win32.ActiveCfg = Release|Win32
{B0292250-B70C-4395-9859-F181FB113DA8}.Release|Win32.Build.0 = Release|Win32
{B0292250-B70C-4395-9859-F181FB113DA8}.Release|x64.ActiveCfg = Release|x64
{B0292250-B70C-4395-9859-F181FB113DA8}.Release|x64.Build.0 = Release|x64
- {B0292250-B70C-4395-9859-F181FB113DA8}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {B0292250-B70C-4395-9859-F181FB113DA8}.ReleaseTests|Win32.Build.0 = Release|Win32
- {B0292250-B70C-4395-9859-F181FB113DA8}.ReleaseTests|x64.ActiveCfg = Release|x64
- {B0292250-B70C-4395-9859-F181FB113DA8}.ReleaseTests|x64.Build.0 = Release|x64
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {B0292250-B70C-4395-9859-F181FB113DA8}.Testing Release|x64.Build.0 = Testing Release|x64
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|Win32.ActiveCfg = Debug|Win32
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|Win32.Build.0 = Debug|Win32
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|x64.ActiveCfg = Debug|x64
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Debug|x64.Build.0 = Debug|x64
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.DebugTests|Win32.Build.0 = Debug|Win32
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.DebugTests|x64.ActiveCfg = Debug|x64
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.DebugTests|x64.Build.0 = Debug|x64
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|Win32.ActiveCfg = Release|Win32
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|Win32.Build.0 = Release|Win32
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|x64.ActiveCfg = Release|x64
{CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Release|x64.Build.0 = Release|x64
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.ReleaseTests|Win32.Build.0 = Release|Win32
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.ReleaseTests|x64.ActiveCfg = Release|x64
- {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.ReleaseTests|x64.Build.0 = Release|x64
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.Debug|Win32.ActiveCfg = Debug|Win32
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.Debug|x64.ActiveCfg = Debug|x64
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.DebugTests|Win32.Build.0 = Debug|Win32
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.DebugTests|x64.ActiveCfg = Debug|x64
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.DebugTests|x64.Build.0 = Debug|x64
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.Release|Win32.ActiveCfg = Release|Win32
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.Release|x64.ActiveCfg = Release|x64
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.ReleaseTests|Win32.Build.0 = Release|Win32
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.ReleaseTests|x64.ActiveCfg = Release|x64
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}.ReleaseTests|x64.Build.0 = Release|x64
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {CBBF380B-7B16-4A1E-8194-758DAD7D8011}.Testing Release|x64.Build.0 = Testing Release|x64
{D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|Win32.ActiveCfg = Debug|Win32
{D98F2D98-2352-4303-93EE-A5430C4E98AB}.Debug|x64.ActiveCfg = Debug|x64
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.DebugTests|Win32.Build.0 = Debug|Win32
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.DebugTests|x64.ActiveCfg = Debug|x64
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.DebugTests|x64.Build.0 = Debug|x64
{D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|Win32.ActiveCfg = Release|Win32
{D98F2D98-2352-4303-93EE-A5430C4E98AB}.Release|x64.ActiveCfg = Release|x64
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.ReleaseTests|Win32.Build.0 = Release|Win32
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.ReleaseTests|x64.ActiveCfg = Release|x64
- {D98F2D98-2352-4303-93EE-A5430C4E98AB}.ReleaseTests|x64.Build.0 = Release|x64
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {D98F2D98-2352-4303-93EE-A5430C4E98AB}.Testing Release|x64.Build.0 = Testing Release|x64
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Debug|Win32.ActiveCfg = Debug|Win32
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Debug|Win32.Build.0 = Debug|Win32
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Debug|x64.ActiveCfg = Debug|x64
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Debug|x64.Build.0 = Debug|x64
- {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.DebugTests|Win32.ActiveCfg = Debug|Win32
- {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.DebugTests|Win32.Build.0 = Debug|Win32
- {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.DebugTests|x64.ActiveCfg = Debug|Win32
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Release|Win32.ActiveCfg = Release|Win32
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Release|Win32.Build.0 = Release|Win32
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Release|x64.ActiveCfg = Release|x64
{51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Release|x64.Build.0 = Release|x64
- {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.ReleaseTests|Win32.ActiveCfg = Release|Win32
- {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.ReleaseTests|Win32.Build.0 = Release|Win32
- {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.ReleaseTests|x64.ActiveCfg = Release|Win32
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Debug|Win32.ActiveCfg = Testing Debug|Win32
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Debug|Win32.Build.0 = Testing Debug|Win32
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Debug|x64.ActiveCfg = Testing Debug|x64
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Debug|x64.Build.0 = Testing Debug|x64
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Release|Win32.ActiveCfg = Testing Release|Win32
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Release|Win32.Build.0 = Testing Release|Win32
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Release|x64.ActiveCfg = Testing Release|x64
+ {51018F43-12D4-4A47-9F71-5E1A8CE3EA0C}.Testing Release|x64.Build.0 = Testing Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Index: ext/gmock/gmock.vcproj
===================================================================
diff -u -N -r4746a1d6507ed70cd9c05c4e4a95fa50733174a1 -r2e23b5892ef4d4bb1ee2c6cde893004a71a11510
--- ext/gmock/gmock.vcproj (.../gmock.vcproj) (revision 4746a1d6507ed70cd9c05c4e4a95fa50733174a1)
+++ ext/gmock/gmock.vcproj (.../gmock.vcproj) (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -1,7 +1,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: src/ch/ch.vc90.vcproj
===================================================================
diff -u -N -rc5d97755740d364ac515b47c7f37af666b9fbb4b -r2e23b5892ef4d4bb1ee2c6cde893004a71a11510
--- src/ch/ch.vc90.vcproj (.../ch.vc90.vcproj) (revision c5d97755740d364ac515b47c7f37af666b9fbb4b)
+++ src/ch/ch.vc90.vcproj (.../ch.vc90.vcproj) (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -1,7 +1,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
@@ -816,7 +1200,7 @@
@@ -827,7 +1211,7 @@
@@ -838,11 +1222,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1315,7 +1827,7 @@
@@ -1325,7 +1837,7 @@
@@ -1335,10 +1847,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: src/chext/chext.vc90.vcproj
===================================================================
diff -u -N -r4746a1d6507ed70cd9c05c4e4a95fa50733174a1 -r2e23b5892ef4d4bb1ee2c6cde893004a71a11510
--- src/chext/chext.vc90.vcproj (.../chext.vc90.vcproj) (revision 4746a1d6507ed70cd9c05c4e4a95fa50733174a1)
+++ src/chext/chext.vc90.vcproj (.../chext.vc90.vcproj) (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -1,7 +1,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: src/libchcore/Tests/TDataBufferManagerTest.cpp
===================================================================
diff -u -N
--- src/libchcore/Tests/TDataBufferManagerTest.cpp (revision 0)
+++ src/libchcore/Tests/TDataBufferManagerTest.cpp (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,344 @@
+#include "stdafx.h"
+#include "gtest/gtest.h"
+#include "gmock/gmock.h"
+#include "../TDataBuffer.h"
+
+///////////////////////////////////////////////////////////////////////////////
+// TSimpleDataBuffer
+
+TEST(TSimpleDataBuffer, GetBufferPtr)
+{
+ chcore::TSimpleDataBuffer tDataBuffer;
+ EXPECT_EQ(tDataBuffer.GetBufferPtr(), (LPVOID)NULL);
+}
+
+TEST(TSimpleDataBuffer, ReleaseBuffer)
+{
+ chcore::TSimpleDataBuffer tDataBuffer;
+ EXPECT_NO_FATAL_FAILURE(tDataBuffer.ReleaseBuffer());
+}
+
+
+TEST(TSimpleDataBuffer, GetSetDataSize)
+{
+ chcore::TSimpleDataBuffer tDataBuffer;
+ EXPECT_EQ(tDataBuffer.GetDataSize(), 0);
+ EXPECT_THROW(tDataBuffer.SetDataSize(4273), chcore::TCoreException);
+ EXPECT_EQ(tDataBuffer.GetDataSize(), 0);
+}
+
+
+TEST(TSimpleDataBuffer, CutDataFromBuffer)
+{
+ chcore::TSimpleDataBuffer tDataBuffer;
+
+ EXPECT_NO_FATAL_FAILURE(tDataBuffer.CutDataFromBuffer(7344));
+ EXPECT_NO_FATAL_FAILURE(tDataBuffer.CutDataFromBuffer(0));
+}
+
+///////////////////////////////////////////////////////////////////////////////
+// TDataBufferManager
+
+TEST(TDataBufferManager, CheckBufferConfigBase)
+{
+ // only max mem - default values
+ size_t stMaxMem(0);
+ EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem), false);
+ EXPECT_EQ(stMaxMem, chcore::TDataBufferManager::DefaultMaxMemory);
+
+ const size_t stTestSize = 103145;
+ stMaxMem = stTestSize;
+ EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem), false);
+ EXPECT_LE(stTestSize, stMaxMem);
+}
+
+TEST(TDataBufferManager, CheckBufferConfigExt)
+{
+ // detailed config - default values
+ size_t stMaxMem = 0;
+ size_t stPageSize(0);
+ size_t stChunkSize(0);
+ EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem, stPageSize, stChunkSize), false);
+ EXPECT_EQ(stMaxMem, chcore::TDataBufferManager::DefaultMaxMemory);
+ EXPECT_EQ(stPageSize, chcore::TDataBufferManager::DefaultPageSize);
+ EXPECT_EQ(stChunkSize, chcore::TDataBufferManager::DefaultBufferSize);
+
+ const size_t stTestMaxSize = 1237645;
+ const size_t stTestPageSize = 34563;
+ const size_t stTestBufferSize = 120;
+ stMaxMem = stTestMaxSize;
+ stPageSize = stTestPageSize;
+ stChunkSize = stTestBufferSize;
+ EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem, stPageSize, stChunkSize), false);
+ EXPECT_LE(stTestMaxSize, stMaxMem);
+ EXPECT_LE(stTestPageSize, stPageSize);
+ EXPECT_LE(stTestBufferSize, stChunkSize);
+}
+
+TEST(TDataBufferManager, FailedInitializations)
+{
+ chcore::TDataBufferManager tBufferManager;
+
+ // failed initializations
+ EXPECT_THROW(tBufferManager.Initialize(chcore::TDataBufferManager::DefaultMaxMemory - 1), chcore::TCoreException);
+ EXPECT_EQ(tBufferManager.IsInitialized(), false);
+
+ EXPECT_THROW(tBufferManager.Initialize(chcore::TDataBufferManager::DefaultMaxMemory, chcore::TDataBufferManager::DefaultPageSize - 1,
+ chcore::TDataBufferManager::DefaultBufferSize), chcore::TCoreException);
+ EXPECT_EQ(tBufferManager.IsInitialized(), false);
+
+ // succeeded initialization
+ EXPECT_NO_FATAL_FAILURE(tBufferManager.Initialize(chcore::TDataBufferManager::DefaultPageSize));
+ EXPECT_EQ(tBufferManager.IsInitialized(), true);
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), chcore::TDataBufferManager::DefaultPageSize);
+}
+
+class TInitializedBufferManager : public ::testing::Test
+{
+protected:
+ virtual void SetUp()
+ {
+ size_t stMaxMemory = 1048034;
+
+ chcore::TDataBufferManager::CheckBufferConfig(stMaxMemory);
+ tBufferManager.Initialize(stMaxMemory);
+ }
+
+ chcore::TDataBufferManager tBufferManager;
+};
+
+TEST_F(TInitializedBufferManager, FailedResize)
+{
+ EXPECT_TRUE(tBufferManager.IsInitialized());
+
+ size_t stCurrentMaxSize = tBufferManager.GetMaxMemorySize();
+ size_t stCurrentPageSize = tBufferManager.GetPageSize();
+ size_t stCurrentBufferSize = tBufferManager.GetSimpleBufferSize();
+
+ // try to change to something useless, check if nothing breaks inside
+ EXPECT_THROW(tBufferManager.ChangeMaxMemorySize(0), chcore::TCoreException);
+ EXPECT_EQ(stCurrentMaxSize ,tBufferManager.GetMaxMemorySize());
+ EXPECT_EQ(stCurrentPageSize, tBufferManager.GetPageSize());
+ EXPECT_EQ(stCurrentBufferSize, tBufferManager.GetSimpleBufferSize());
+}
+
+TEST_F(TInitializedBufferManager, ResizeToSameSizeWithSimpleBufferChecks)
+{
+ EXPECT_TRUE(tBufferManager.IsInitialized());
+ EXPECT_EQ((tBufferManager.GetMaxMemorySize() / tBufferManager.GetSimpleBufferSize()), tBufferManager.GetCountOfFreeBuffers());
+
+ size_t stCurrentMaxSize = tBufferManager.GetMaxMemorySize();
+
+ // try to change to something useless, check if nothing breaks inside
+ size_t stNewBufferSize = stCurrentMaxSize / 2;
+ tBufferManager.CheckResizeSize(stNewBufferSize); // can't assume that it will return true here, since we don't really know what's the buffer size now...
+
+ EXPECT_NO_FATAL_FAILURE(tBufferManager.ChangeMaxMemorySize(stNewBufferSize));
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), stNewBufferSize);
+
+ EXPECT_TRUE(tBufferManager.HasFreeBuffer());
+ EXPECT_EQ((tBufferManager.GetMaxMemorySize() / tBufferManager.GetSimpleBufferSize()), tBufferManager.GetCountOfFreeBuffers());
+}
+
+class TInitializedBufferManager2 : public ::testing::Test
+{
+protected:
+ virtual void SetUp()
+ {
+ size_t stMaxMemory = 1048034;
+ size_t stPageSize = 262144;
+ size_t stBufferSize = 65536;
+
+ chcore::TDataBufferManager::CheckBufferConfig(stMaxMemory, stPageSize, stBufferSize);
+
+ tBufferManager.Initialize(stMaxMemory, stPageSize, stBufferSize);
+ }
+
+ chcore::TDataBufferManager tBufferManager;
+};
+
+TEST_F(TInitializedBufferManager2, SmallBufferOperations)
+{
+ // verify we get what we wanted to have
+ EXPECT_TRUE(tBufferManager.IsInitialized());
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
+ EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
+ EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
+
+ // get a single buffer, check internals
+ chcore::TSimpleDataBuffer tBuffer;
+ EXPECT_TRUE(tBufferManager.GetFreeBuffer(tBuffer));
+ EXPECT_EQ(tBuffer.GetDataSize(), 0);
+ EXPECT_EQ(tBuffer.GetBufferSize(), 65536);
+
+ // check whether there are still free buffers inside manager
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 3);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 15);
+}
+
+TEST_F(TInitializedBufferManager2, WithoutAdditionalAllocTest)
+{
+ // verify we get what we wanted to have
+ EXPECT_TRUE(tBufferManager.IsInitialized());
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
+ EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
+ EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
+
+ // do this in separate scope to allow auto-release of buffers at the end
+ {
+ std::vector vBuffers;
+ // get first 4 buffers and check state
+ for(size_t stIndex = 0; stIndex < 4; ++stIndex)
+ {
+ chcore::TSimpleDataBufferPtr spBuf(new chcore::TSimpleDataBuffer);
+
+ EXPECT_TRUE(tBufferManager.GetFreeBuffer(*spBuf.get()));
+ vBuffers.push_back(spBuf);
+ }
+
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 0);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 12);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
+ EXPECT_FALSE(tBufferManager.HasFreeBufferNA());
+ EXPECT_TRUE(tBufferManager.HasFreeBuffer());
+ }
+
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
+ EXPECT_TRUE(tBufferManager.HasFreeBuffer());
+ EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
+}
+
+TEST_F(TInitializedBufferManager2, FullBufferTest)
+{
+ // verify we get what we wanted to have
+ EXPECT_TRUE(tBufferManager.IsInitialized());
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
+ EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
+ EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
+
+ // do this in separate scope to allow auto-release of buffers at the end
+ {
+ std::vector vBuffers;
+ for(size_t stIndex = 0; stIndex < 16; ++stIndex)
+ {
+ chcore::TSimpleDataBufferPtr spBuf(new chcore::TSimpleDataBuffer);
+
+ EXPECT_TRUE(tBufferManager.GetFreeBuffer(*spBuf.get()));
+ vBuffers.push_back(spBuf);
+ }
+
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 0);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 0);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 1024*1024); // only one page should be allocated at the moment
+ EXPECT_FALSE(tBufferManager.HasFreeBufferNA());
+ EXPECT_FALSE(tBufferManager.HasFreeBuffer());
+
+ chcore::TSimpleDataBuffer tFailBuffer;
+ EXPECT_FALSE(tBufferManager.GetFreeBuffer(tFailBuffer));
+ }
+
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 16);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 1024*1024); // only one page should be allocated at the moment
+ EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
+ EXPECT_TRUE(tBufferManager.HasFreeBuffer());
+}
+
+TEST_F(TInitializedBufferManager2, FullBufferWithResizeTest)
+{
+ // verify we get what we wanted to have
+ EXPECT_TRUE(tBufferManager.IsInitialized());
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
+ EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
+ EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
+
+ // do this in separate scope to allow auto-release of buffers at the end
+ {
+ // get all buffers
+ std::vector vBuffers;
+ for(size_t stIndex = 0; stIndex < 16; ++stIndex)
+ {
+ chcore::TSimpleDataBufferPtr spBuf(new chcore::TSimpleDataBuffer);
+
+ EXPECT_TRUE(tBufferManager.GetFreeBuffer(*spBuf.get()));
+ vBuffers.push_back(spBuf);
+ }
+
+ // ensure nothing's left
+ chcore::TSimpleDataBuffer tFailBuffer;
+ EXPECT_FALSE(tBufferManager.GetFreeBuffer(tFailBuffer));
+
+ // now resize to half the size
+ size_t stNewSize = 262144;
+ tBufferManager.CheckResizeSize(stNewSize);
+ EXPECT_NO_FATAL_FAILURE(tBufferManager.ChangeMaxMemorySize(stNewSize));
+
+ // since all of the memory was already taken, there was no real freeing
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 0);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 0);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 1024*1024); // only one page should be allocated at the moment
+ EXPECT_FALSE(tBufferManager.HasFreeBufferNA());
+ EXPECT_FALSE(tBufferManager.HasFreeBuffer());
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 256*1024);
+
+ // get rid of the small buffers (except one)
+ for(size_t stIndex = 0; stIndex < 15; ++stIndex)
+ {
+ vBuffers.erase(vBuffers.end() - 1);
+ }
+
+ // now only two pages should be left in buffer manage EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 3);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 3);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 256*1024); // only one page should be allocated at the moment
+ EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
+ EXPECT_TRUE(tBufferManager.HasFreeBuffer());
+ EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 256*1024);
+ }
+
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 4);
+ EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
+ EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 256*1024); // only one page should be allocated at the moment
+ EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
+ EXPECT_TRUE(tBufferManager.HasFreeBuffer());
+}
+
+/*
+static bool CheckBufferConfig(size_t& stMaxMemory, size_t& stPageSize, size_t& stBufferSize);
+static bool CheckBufferConfig(size_t& stMaxMemory);
+
+// initialization
+void Initialize(size_t stMaxMemory);
+void Initialize(size_t stMaxMemory, size_t stPageSize, size_t stBufferSize);
+bool IsInitialized() const;
+
+bool CheckResizeSize(size_t& stNewMaxSize);
+void ChangeMaxMemorySize(size_t stNewMaxSize);
+
+// current settings
+size_t GetMaxMemorySize() const { return m_stMaxMemory; }
+size_t GetPageSize() const { return m_stPageSize; }
+size_t GetSimpleBufferSize() const { return m_stBufferSize; }
+
+size_t GetRealAllocatedMemorySize() const;
+
+// buffer retrieval
+bool HasFreeBuffer() const; // checks if a buffer is available without allocating any new memory
+size_t GetCountOfFreeBuffers() const; // how many free buffers are there that can be used without allocating additional memory
+
+bool GetFreeBuffer(TSimpleDataBuffer& rSimpleBuffer);
+void ReleaseBuffer(TSimpleDataBuffer& rSimpleBuffer);
+*/
Index: tests/libchcore_test/src/TDataBufferManagerTest.cpp
===================================================================
diff -u -N
--- tests/libchcore_test/src/TDataBufferManagerTest.cpp (revision b013066ba827b440b2e281bd58e8b16e51a080d7)
+++ tests/libchcore_test/src/TDataBufferManagerTest.cpp (revision 0)
@@ -1,344 +0,0 @@
-#include "stdafx.h"
-#include "../../../src/libicpf/gen_types.h"
-#include "../../../src/libchcore/TDataBuffer.h"
-#include "../../../src/libchcore/TCoreException.h"
-
-///////////////////////////////////////////////////////////////////////////////
-// TSimpleDataBuffer
-
-TEST(TSimpleDataBuffer, GetBufferPtr)
-{
- chcore::TSimpleDataBuffer tDataBuffer;
- EXPECT_EQ(tDataBuffer.GetBufferPtr(), (LPVOID)NULL);
-}
-
-TEST(TSimpleDataBuffer, ReleaseBuffer)
-{
- chcore::TSimpleDataBuffer tDataBuffer;
- EXPECT_NO_FATAL_FAILURE(tDataBuffer.ReleaseBuffer());
-}
-
-
-TEST(TSimpleDataBuffer, GetSetDataSize)
-{
- chcore::TSimpleDataBuffer tDataBuffer;
- EXPECT_EQ(tDataBuffer.GetDataSize(), 0);
- EXPECT_THROW(tDataBuffer.SetDataSize(4273), chcore::TCoreException);
- EXPECT_EQ(tDataBuffer.GetDataSize(), 0);
-}
-
-
-TEST(TSimpleDataBuffer, CutDataFromBuffer)
-{
- chcore::TSimpleDataBuffer tDataBuffer;
-
- EXPECT_NO_FATAL_FAILURE(tDataBuffer.CutDataFromBuffer(7344));
- EXPECT_NO_FATAL_FAILURE(tDataBuffer.CutDataFromBuffer(0));
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// TDataBufferManager
-
-TEST(TDataBufferManager, CheckBufferConfigBase)
-{
- // only max mem - default values
- size_t stMaxMem(0);
- EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem), false);
- EXPECT_EQ(stMaxMem, chcore::TDataBufferManager::DefaultMaxMemory);
-
- const size_t stTestSize = 103145;
- stMaxMem = stTestSize;
- EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem), false);
- EXPECT_LE(stTestSize, stMaxMem);
-}
-
-TEST(TDataBufferManager, CheckBufferConfigExt)
-{
- // detailed config - default values
- size_t stMaxMem = 0;
- size_t stPageSize(0);
- size_t stChunkSize(0);
- EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem, stPageSize, stChunkSize), false);
- EXPECT_EQ(stMaxMem, chcore::TDataBufferManager::DefaultMaxMemory);
- EXPECT_EQ(stPageSize, chcore::TDataBufferManager::DefaultPageSize);
- EXPECT_EQ(stChunkSize, chcore::TDataBufferManager::DefaultBufferSize);
-
- const size_t stTestMaxSize = 1237645;
- const size_t stTestPageSize = 34563;
- const size_t stTestBufferSize = 120;
- stMaxMem = stTestMaxSize;
- stPageSize = stTestPageSize;
- stChunkSize = stTestBufferSize;
- EXPECT_EQ(chcore::TDataBufferManager::CheckBufferConfig(stMaxMem, stPageSize, stChunkSize), false);
- EXPECT_LE(stTestMaxSize, stMaxMem);
- EXPECT_LE(stTestPageSize, stPageSize);
- EXPECT_LE(stTestBufferSize, stChunkSize);
-}
-
-TEST(TDataBufferManager, FailedInitializations)
-{
- chcore::TDataBufferManager tBufferManager;
-
- // failed initializations
- EXPECT_THROW(tBufferManager.Initialize(chcore::TDataBufferManager::DefaultMaxMemory - 1), chcore::TCoreException);
- EXPECT_EQ(tBufferManager.IsInitialized(), false);
-
- EXPECT_THROW(tBufferManager.Initialize(chcore::TDataBufferManager::DefaultMaxMemory, chcore::TDataBufferManager::DefaultPageSize - 1,
- chcore::TDataBufferManager::DefaultBufferSize), chcore::TCoreException);
- EXPECT_EQ(tBufferManager.IsInitialized(), false);
-
- // succeeded initialization
- EXPECT_NO_FATAL_FAILURE(tBufferManager.Initialize(chcore::TDataBufferManager::DefaultPageSize));
- EXPECT_EQ(tBufferManager.IsInitialized(), true);
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), chcore::TDataBufferManager::DefaultPageSize);
-}
-
-class TInitializedBufferManager : public ::testing::Test
-{
-protected:
- virtual void SetUp()
- {
- size_t stMaxMemory = 1048034;
-
- chcore::TDataBufferManager::CheckBufferConfig(stMaxMemory);
- tBufferManager.Initialize(stMaxMemory);
- }
-
- chcore::TDataBufferManager tBufferManager;
-};
-
-TEST_F(TInitializedBufferManager, FailedResize)
-{
- EXPECT_TRUE(tBufferManager.IsInitialized());
-
- size_t stCurrentMaxSize = tBufferManager.GetMaxMemorySize();
- size_t stCurrentPageSize = tBufferManager.GetPageSize();
- size_t stCurrentBufferSize = tBufferManager.GetSimpleBufferSize();
-
- // try to change to something useless, check if nothing breaks inside
- EXPECT_THROW(tBufferManager.ChangeMaxMemorySize(0), chcore::TCoreException);
- EXPECT_EQ(stCurrentMaxSize ,tBufferManager.GetMaxMemorySize());
- EXPECT_EQ(stCurrentPageSize, tBufferManager.GetPageSize());
- EXPECT_EQ(stCurrentBufferSize, tBufferManager.GetSimpleBufferSize());
-}
-
-TEST_F(TInitializedBufferManager, ResizeToSameSizeWithSimpleBufferChecks)
-{
- EXPECT_TRUE(tBufferManager.IsInitialized());
- EXPECT_EQ((tBufferManager.GetMaxMemorySize() / tBufferManager.GetSimpleBufferSize()), tBufferManager.GetCountOfFreeBuffers());
-
- size_t stCurrentMaxSize = tBufferManager.GetMaxMemorySize();
-
- // try to change to something useless, check if nothing breaks inside
- size_t stNewBufferSize = stCurrentMaxSize / 2;
- tBufferManager.CheckResizeSize(stNewBufferSize); // can't assume that it will return true here, since we don't really know what's the buffer size now...
-
- EXPECT_NO_FATAL_FAILURE(tBufferManager.ChangeMaxMemorySize(stNewBufferSize));
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), stNewBufferSize);
-
- EXPECT_TRUE(tBufferManager.HasFreeBuffer());
- EXPECT_EQ((tBufferManager.GetMaxMemorySize() / tBufferManager.GetSimpleBufferSize()), tBufferManager.GetCountOfFreeBuffers());
-}
-
-class TInitializedBufferManager2 : public ::testing::Test
-{
-protected:
- virtual void SetUp()
- {
- size_t stMaxMemory = 1048034;
- size_t stPageSize = 262144;
- size_t stBufferSize = 65536;
-
- chcore::TDataBufferManager::CheckBufferConfig(stMaxMemory, stPageSize, stBufferSize);
-
- tBufferManager.Initialize(stMaxMemory, stPageSize, stBufferSize);
- }
-
- chcore::TDataBufferManager tBufferManager;
-};
-
-TEST_F(TInitializedBufferManager2, SmallBufferOperations)
-{
- // verify we get what we wanted to have
- EXPECT_TRUE(tBufferManager.IsInitialized());
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
- EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
- EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
-
- // get a single buffer, check internals
- chcore::TSimpleDataBuffer tBuffer;
- EXPECT_TRUE(tBufferManager.GetFreeBuffer(tBuffer));
- EXPECT_EQ(tBuffer.GetDataSize(), 0);
- EXPECT_EQ(tBuffer.GetBufferSize(), 65536);
-
- // check whether there are still free buffers inside manager
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 3);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 15);
-}
-
-TEST_F(TInitializedBufferManager2, WithoutAdditionalAllocTest)
-{
- // verify we get what we wanted to have
- EXPECT_TRUE(tBufferManager.IsInitialized());
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
- EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
- EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
-
- // do this in separate scope to allow auto-release of buffers at the end
- {
- std::vector vBuffers;
- // get first 4 buffers and check state
- for(size_t stIndex = 0; stIndex < 4; ++stIndex)
- {
- chcore::TSimpleDataBufferPtr spBuf(new chcore::TSimpleDataBuffer);
-
- EXPECT_TRUE(tBufferManager.GetFreeBuffer(*spBuf.get()));
- vBuffers.push_back(spBuf);
- }
-
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 0);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 12);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
- EXPECT_FALSE(tBufferManager.HasFreeBufferNA());
- EXPECT_TRUE(tBufferManager.HasFreeBuffer());
- }
-
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
- EXPECT_TRUE(tBufferManager.HasFreeBuffer());
- EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
-}
-
-TEST_F(TInitializedBufferManager2, FullBufferTest)
-{
- // verify we get what we wanted to have
- EXPECT_TRUE(tBufferManager.IsInitialized());
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
- EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
- EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
-
- // do this in separate scope to allow auto-release of buffers at the end
- {
- std::vector vBuffers;
- for(size_t stIndex = 0; stIndex < 16; ++stIndex)
- {
- chcore::TSimpleDataBufferPtr spBuf(new chcore::TSimpleDataBuffer);
-
- EXPECT_TRUE(tBufferManager.GetFreeBuffer(*spBuf.get()));
- vBuffers.push_back(spBuf);
- }
-
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 0);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 0);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 1024*1024); // only one page should be allocated at the moment
- EXPECT_FALSE(tBufferManager.HasFreeBufferNA());
- EXPECT_FALSE(tBufferManager.HasFreeBuffer());
-
- chcore::TSimpleDataBuffer tFailBuffer;
- EXPECT_FALSE(tBufferManager.GetFreeBuffer(tFailBuffer));
- }
-
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 16);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 1024*1024); // only one page should be allocated at the moment
- EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
- EXPECT_TRUE(tBufferManager.HasFreeBuffer());
-}
-
-TEST_F(TInitializedBufferManager2, FullBufferWithResizeTest)
-{
- // verify we get what we wanted to have
- EXPECT_TRUE(tBufferManager.IsInitialized());
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 1*1024*1024);
- EXPECT_EQ(tBufferManager.GetPageSize(), 262144);
- EXPECT_EQ(tBufferManager.GetSimpleBufferSize(), 65536);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 262144); // only one page should be allocated at the moment
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 16);
-
- // do this in separate scope to allow auto-release of buffers at the end
- {
- // get all buffers
- std::vector vBuffers;
- for(size_t stIndex = 0; stIndex < 16; ++stIndex)
- {
- chcore::TSimpleDataBufferPtr spBuf(new chcore::TSimpleDataBuffer);
-
- EXPECT_TRUE(tBufferManager.GetFreeBuffer(*spBuf.get()));
- vBuffers.push_back(spBuf);
- }
-
- // ensure nothing's left
- chcore::TSimpleDataBuffer tFailBuffer;
- EXPECT_FALSE(tBufferManager.GetFreeBuffer(tFailBuffer));
-
- // now resize to half the size
- size_t stNewSize = 262144;
- tBufferManager.CheckResizeSize(stNewSize);
- EXPECT_NO_FATAL_FAILURE(tBufferManager.ChangeMaxMemorySize(stNewSize));
-
- // since all of the memory was already taken, there was no real freeing
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 0);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 0);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 1024*1024); // only one page should be allocated at the moment
- EXPECT_FALSE(tBufferManager.HasFreeBufferNA());
- EXPECT_FALSE(tBufferManager.HasFreeBuffer());
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 256*1024);
-
- // get rid of the small buffers (except one)
- for(size_t stIndex = 0; stIndex < 15; ++stIndex)
- {
- vBuffers.erase(vBuffers.end() - 1);
- }
-
- // now only two pages should be left in buffer manage EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 3);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 3);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 256*1024); // only one page should be allocated at the moment
- EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
- EXPECT_TRUE(tBufferManager.HasFreeBuffer());
- EXPECT_EQ(tBufferManager.GetMaxMemorySize(), 256*1024);
- }
-
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffers(), 4);
- EXPECT_EQ(tBufferManager.GetCountOfFreeBuffersNA(), 4);
- EXPECT_EQ(tBufferManager.GetRealAllocatedMemorySize(), 256*1024); // only one page should be allocated at the moment
- EXPECT_TRUE(tBufferManager.HasFreeBufferNA());
- EXPECT_TRUE(tBufferManager.HasFreeBuffer());
-}
-
-/*
-static bool CheckBufferConfig(size_t& stMaxMemory, size_t& stPageSize, size_t& stBufferSize);
-static bool CheckBufferConfig(size_t& stMaxMemory);
-
-// initialization
-void Initialize(size_t stMaxMemory);
-void Initialize(size_t stMaxMemory, size_t stPageSize, size_t stBufferSize);
-bool IsInitialized() const;
-
-bool CheckResizeSize(size_t& stNewMaxSize);
-void ChangeMaxMemorySize(size_t stNewMaxSize);
-
-// current settings
-size_t GetMaxMemorySize() const { return m_stMaxMemory; }
-size_t GetPageSize() const { return m_stPageSize; }
-size_t GetSimpleBufferSize() const { return m_stBufferSize; }
-
-size_t GetRealAllocatedMemorySize() const;
-
-// buffer retrieval
-bool HasFreeBuffer() const; // checks if a buffer is available without allocating any new memory
-size_t GetCountOfFreeBuffers() const; // how many free buffers are there that can be used without allocating additional memory
-
-bool GetFreeBuffer(TSimpleDataBuffer& rSimpleBuffer);
-void ReleaseBuffer(TSimpleDataBuffer& rSimpleBuffer);
-*/
Index: src/libchcore/libchcore.vc90.vcproj
===================================================================
diff -u -N -r4746a1d6507ed70cd9c05c4e4a95fa50733174a1 -r2e23b5892ef4d4bb1ee2c6cde893004a71a11510
--- src/libchcore/libchcore.vc90.vcproj (.../libchcore.vc90.vcproj) (revision 4746a1d6507ed70cd9c05c4e4a95fa50733174a1)
+++ src/libchcore/libchcore.vc90.vcproj (.../libchcore.vc90.vcproj) (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -1,7 +1,7 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tests/libchcore_test/src/libchcore_test.cpp
===================================================================
diff -u -N
--- tests/libchcore_test/src/libchcore_test.cpp (revision 409a0af1e9fdea72ca016118d76a5a95e53496e8)
+++ tests/libchcore_test/src/libchcore_test.cpp (revision 0)
@@ -1,11 +0,0 @@
-// libchcore_test.cpp : Defines the entry point for the console application.
-//
-
-#include "stdafx.h"
-
-int _tmain(int argc, _TCHAR* argv[])
-{
- testing::InitGoogleMock(&argc, argv);
- return RUN_ALL_TESTS();
-}
-
Index: tests/test_runner/src/stdafx.cpp
===================================================================
diff -u -N
--- tests/test_runner/src/stdafx.cpp (revision 0)
+++ tests/test_runner/src/stdafx.cpp (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,8 @@
+// stdafx.cpp : source file that includes just the standard includes
+// libchcore_test.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+// TODO: reference any additional headers you need in STDAFX.H
+// and not in this file
Index: tests/libchcore_test/src/stdafx.cpp
===================================================================
diff -u -N
--- tests/libchcore_test/src/stdafx.cpp (revision 409a0af1e9fdea72ca016118d76a5a95e53496e8)
+++ tests/libchcore_test/src/stdafx.cpp (revision 0)
@@ -1,8 +0,0 @@
-// stdafx.cpp : source file that includes just the standard includes
-// libchcore_test.pch will be the pre-compiled header
-// stdafx.obj will contain the pre-compiled type information
-
-#include "stdafx.h"
-
-// TODO: reference any additional headers you need in STDAFX.H
-// and not in this file
Index: tests/test_runner/src/stdafx.h
===================================================================
diff -u -N
--- tests/test_runner/src/stdafx.h (revision 0)
+++ tests/test_runner/src/stdafx.h (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,18 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#pragma once
+
+#include "targetver.h"
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include "gmock/gmock.h"
+#include "gtest/gtest.h"
Index: tests/libchcore_test/src/stdafx.h
===================================================================
diff -u -N
--- tests/libchcore_test/src/stdafx.h (revision 409a0af1e9fdea72ca016118d76a5a95e53496e8)
+++ tests/libchcore_test/src/stdafx.h (revision 0)
@@ -1,18 +0,0 @@
-// stdafx.h : include file for standard system include files,
-// or project specific include files that are used frequently, but
-// are changed infrequently
-//
-
-#pragma once
-
-#include "targetver.h"
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include "gmock/gmock.h"
-#include "gtest/gtest.h"
Index: tests/test_runner/src/targetver.h
===================================================================
diff -u -N
--- tests/test_runner/src/targetver.h (revision 0)
+++ tests/test_runner/src/targetver.h (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,13 @@
+#pragma once
+
+// The following macros define the minimum required platform. The minimum required platform
+// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
+// your application. The macros work by enabling all features available on platform versions up to and
+// including the version specified.
+
+// Modify the following defines if you have to target a platform prior to the ones specified below.
+// Refer to MSDN for the latest info on corresponding values for different platforms.
+#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
+#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
+#endif
+
Index: tests/libchcore_test/src/targetver.h
===================================================================
diff -u -N
--- tests/libchcore_test/src/targetver.h (revision 409a0af1e9fdea72ca016118d76a5a95e53496e8)
+++ tests/libchcore_test/src/targetver.h (revision 0)
@@ -1,13 +0,0 @@
-#pragma once
-
-// The following macros define the minimum required platform. The minimum required platform
-// is the earliest version of Windows, Internet Explorer etc. that has the necessary features to run
-// your application. The macros work by enabling all features available on platform versions up to and
-// including the version specified.
-
-// Modify the following defines if you have to target a platform prior to the ones specified below.
-// Refer to MSDN for the latest info on corresponding values for different platforms.
-#ifndef _WIN32_WINNT // Specifies that the minimum required platform is Windows Vista.
-#define _WIN32_WINNT 0x0600 // Change this to the appropriate value to target other versions of Windows.
-#endif
-
Index: tests/test_runner/src/test_runner.cpp
===================================================================
diff -u -N
--- tests/test_runner/src/test_runner.cpp (revision 0)
+++ tests/test_runner/src/test_runner.cpp (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,39 @@
+// libchcore_test.cpp : Defines the entry point for the console application.
+//
+
+#include "stdafx.h"
+
+int _tmain(int argc, _TCHAR* argv[])
+{
+ using std::wcout;
+ using std::endl;
+
+ if(argc < 2)
+ {
+ wcout << _T("Usage: TestRunner.exe ") << endl;
+ return 1;
+ }
+
+ PCTSTR pszLibName = argv[1];
+
+ wcout << _T("Executing tests in: ") << pszLibName << endl;
+
+ HMODULE module = LoadLibrary(pszLibName);
+ if(module)
+ {
+ typedef int(*pfnRunTests)(int argc, TCHAR* argv[]);
+
+ pfnRunTests pfnFunc = (pfnRunTests)::GetProcAddress(module, "_RunTests@8");
+ if(!pfnFunc)
+ pfnFunc = (pfnRunTests)::GetProcAddress(module, "RunTests");
+ if(pfnFunc)
+ return pfnFunc(argc, argv);
+ else
+ {
+ DWORD dwErr = GetLastError();
+ wcout << _T("Library ") << pszLibName << _T(" does not have tests embedded. Error: ") << dwErr << endl;
+ }
+ }
+ else
+ wcout << _T("Cannot load library ") << pszLibName << endl;
+}
Index: tests/test_runner/test_runner.vcproj
===================================================================
diff -u -N
--- tests/test_runner/test_runner.vcproj (revision 0)
+++ tests/test_runner/test_runner.vcproj (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,723 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: tests/test_runner/test_runner.vcxproj
===================================================================
diff -u -N
--- tests/test_runner/test_runner.vcxproj (revision 0)
+++ tests/test_runner/test_runner.vcxproj (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,198 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ Win32
+
+
+ Release
+ x64
+
+
+
+ {2AF37846-09E7-46EB-83AE-1E4C67742EE7}
+ test_runner
+ Win32Proj
+
+
+
+ Application
+ v110
+ Unicode
+ true
+
+
+ Application
+ v110
+ Unicode
+
+
+ Application
+ v110
+ Unicode
+ true
+
+
+ Application
+ v110
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ <_ProjectFileVersion>11.0.51106.1
+
+
+ $(SolutionDir)bin-vc110\$(Configuration)\
+ $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
+ true
+ $(ProjectName)32d
+
+
+ $(SolutionDir)bin-vc110\$(Configuration)\
+ $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
+ true
+ NativeRecommendedRules.ruleset
+ false
+ $(ProjectName)64d
+
+
+ $(SolutionDir)bin-vc110\$(Configuration)\
+ $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
+ false
+ $(ProjectName)32
+
+
+ $(SolutionDir)bin-vc110\$(Configuration)\
+ $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
+ false
+ $(ProjectName)64
+
+
+
+ Disabled
+ ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
+ WIN32;_VARIADIC_MAX=10;_DEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Use
+ Level3
+ EditAndContinue
+ true
+
+
+ true
+ Console
+ MachineX86
+
+
+
+
+ X64
+
+
+ Disabled
+ ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
+ WIN32;_VARIADIC_MAX=10;_DEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
+ true
+ EnableFastChecks
+ MultiThreadedDebugDLL
+ Use
+ Level3
+ ProgramDatabase
+ false
+ true
+
+
+ true
+ Console
+ MachineX64
+
+
+
+
+ MaxSpeed
+ true
+ ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
+ WIN32;_VARIADIC_MAX=10;NDEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+ Use
+ Level3
+ ProgramDatabase
+ true
+
+
+ true
+ Console
+ true
+ true
+ MachineX86
+
+
+
+
+ X64
+
+
+ MaxSpeed
+ true
+ ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
+ WIN32;_VARIADIC_MAX=10;NDEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
+ MultiThreadedDLL
+ true
+ Use
+ Level3
+ ProgramDatabase
+ true
+
+
+ true
+ Console
+ true
+ true
+ MachineX64
+
+
+
+
+
+
+ Create
+ Create
+ Create
+ Create
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: tests/libchcore_test/libchcore_test.vcxproj
===================================================================
diff -u -N
--- tests/libchcore_test/libchcore_test.vcxproj (revision 4746a1d6507ed70cd9c05c4e4a95fa50733174a1)
+++ tests/libchcore_test/libchcore_test.vcxproj (revision 0)
@@ -1,208 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Debug
- x64
-
-
- Release
- Win32
-
-
- Release
- x64
-
-
-
- {2AF37846-09E7-46EB-83AE-1E4C67742EE7}
- libchcore_test
- Win32Proj
-
-
-
- Application
- v110
- Unicode
- true
-
-
- Application
- v110
- Unicode
-
-
- Application
- v110
- Unicode
- true
-
-
- Application
- v110
- Unicode
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- <_ProjectFileVersion>11.0.51106.1
-
-
- $(SolutionDir)bin-vc110\$(Configuration)\
- $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
- true
- $(ProjectName)32d
-
-
- $(SolutionDir)bin-vc110\$(Configuration)\
- $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
- true
- NativeRecommendedRules.ruleset
- false
- $(ProjectName)64d
-
-
- $(SolutionDir)bin-vc110\$(Configuration)\
- $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
- false
- $(ProjectName)32
-
-
- $(SolutionDir)bin-vc110\$(Configuration)\
- $(SolutionDir)intermediate\vc110\$(Platform)\$(ProjectName)_$(Configuration)\
- false
- $(ProjectName)64
-
-
-
- Disabled
- ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
- WIN32;_VARIADIC_MAX=10;_DEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- MultiThreadedDebugDLL
- Use
- Level3
- EditAndContinue
- true
-
-
- true
- Console
- MachineX86
-
-
-
-
- X64
-
-
- Disabled
- ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
- WIN32;_VARIADIC_MAX=10;_DEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
- true
- EnableFastChecks
- MultiThreadedDebugDLL
- Use
- Level3
- ProgramDatabase
- false
- true
-
-
- true
- Console
- MachineX64
-
-
-
-
- MaxSpeed
- true
- ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
- WIN32;_VARIADIC_MAX=10;NDEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
- MultiThreadedDLL
- true
- Use
- Level3
- ProgramDatabase
- true
-
-
- true
- Console
- true
- true
- MachineX86
-
-
-
-
- X64
-
-
- MaxSpeed
- true
- ..\..\ext\gmock\include;%(AdditionalIncludeDirectories)
- WIN32;_VARIADIC_MAX=10;NDEBUG;_CONSOLE;_BIND_TO_CURRENT_VCLIBS_VERSION=1;%(PreprocessorDefinitions)
- MultiThreadedDLL
- true
- Use
- Level3
- ProgramDatabase
- true
-
-
- true
- Console
- true
- true
- MachineX64
-
-
-
-
- {d98f2d98-2352-4303-93ee-a5430c4e98ab}
- true
- true
-
-
- {cbbf380b-7b16-4a1e-8194-758dad7d8011}
-
-
-
-
-
-
- Create
- Create
- Create
- Create
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
Index: tests/test_runner/test_runner.vcxproj.filters
===================================================================
diff -u -N
--- tests/test_runner/test_runner.vcxproj.filters (revision 0)
+++ tests/test_runner/test_runner.vcxproj.filters (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,34 @@
+
+
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;h;hpp;hxx;hm;inl;inc;xsd
+
+
+ {45b0f0f4-610d-479e-921e-3a59e3d6b669}
+
+
+ {430a489f-66bf-49ad-b988-9158035a4ba6}
+
+
+
+
+ Source Files\Tests
+
+
+ Source Files\Main
+
+
+ Source Files\Main
+
+
+
+
+ Source Files\Main
+
+
+ Source Files\Main
+
+
+
\ No newline at end of file
Index: tests/libchcore_test/libchcore_test.vcxproj.filters
===================================================================
diff -u -N
--- tests/libchcore_test/libchcore_test.vcxproj.filters (revision dd61ac70dd276425fe97970b49b6854d02bfcc87)
+++ tests/libchcore_test/libchcore_test.vcxproj.filters (revision 0)
@@ -1,34 +0,0 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;h;hpp;hxx;hm;inl;inc;xsd
-
-
- {45b0f0f4-610d-479e-921e-3a59e3d6b669}
-
-
- {430a489f-66bf-49ad-b988-9158035a4ba6}
-
-
-
-
- Source Files\Tests
-
-
- Source Files\Main
-
-
- Source Files\Main
-
-
-
-
- Source Files\Main
-
-
- Source Files\Main
-
-
-
\ No newline at end of file
Index: tests/tests_shared/TestsExports.cpp
===================================================================
diff -u -N
--- tests/tests_shared/TestsExports.cpp (revision 0)
+++ tests/tests_shared/TestsExports.cpp (revision 2e23b5892ef4d4bb1ee2c6cde893004a71a11510)
@@ -0,0 +1,25 @@
+#include "gtest/gtest.h"
+#include "gmock/gmock.h"
+#include
+
+#ifdef TESTING
+
+#ifdef _CONSOLE
+int _tmain(int argc, _TCHAR* argv[])
+{
+ testing::InitGoogleMock(&argc, argv);
+ ::testing::FLAGS_gtest_death_test_style = "fast";
+ ::testing::FLAGS_gtest_print_time = 1;
+ return RUN_ALL_TESTS();
+}
+#else
+extern "C"
+__declspec(dllexport) int __stdcall RunTests(int argc, TCHAR* argv[])
+{
+ testing::InitGoogleMock(&argc, argv);
+ ::testing::FLAGS_gtest_death_test_style = "fast";
+ ::testing::FLAGS_gtest_print_time = 1;
+ return RUN_ALL_TESTS();
+}
+#endif
+#endif
Index: tools/libicpf32u.dll
===================================================================
diff -u -N
Binary files differ
Index: tools/rc2lng.exe
===================================================================
diff -u -N
Binary files differ
Index: tools/test_runner32.exe
===================================================================
diff -u -N
Binary files differ
Index: tools/test_runner64.exe
===================================================================
diff -u -N
Binary files differ