<Target Name="gtest:Make">\r
<MSBuild Projects="gtest.cbproj" Targets="Make" />\r
</Target>\r
- <Target Name="gtest_unittest">\r
- <MSBuild Projects="gtest_unittest.cbproj" Targets="" />\r
- </Target>\r
- <Target Name="gtest_unittest:Clean">\r
- <MSBuild Projects="gtest_unittest.cbproj" Targets="Clean" />\r
- </Target>\r
- <Target Name="gtest_unittest:Make">\r
- <MSBuild Projects="gtest_unittest.cbproj" Targets="Make" />\r
- </Target>\r
<Target Name="gtest_main">\r
<MSBuild Projects="gtest_main.cbproj" Targets="" />\r
</Target>\r
<Target Name="gtest_main:Make">\r
<MSBuild Projects="gtest_main.cbproj" Targets="Make" />\r
</Target>\r
+ <Target Name="gtest_unittest">\r
+ <MSBuild Projects="gtest_unittest.cbproj" Targets="" />\r
+ </Target>\r
+ <Target Name="gtest_unittest:Clean">\r
+ <MSBuild Projects="gtest_unittest.cbproj" Targets="Clean" />\r
+ </Target>\r
+ <Target Name="gtest_unittest:Make">\r
+ <MSBuild Projects="gtest_unittest.cbproj" Targets="Make" />\r
+ </Target>\r
<Target Name="Build">\r
- <CallTarget Targets="gtest;gtest_unittest;gtest_main" />\r
+ <CallTarget Targets="gtest;gtest_main;gtest_unittest" />\r
</Target>\r
<Target Name="Clean">\r
- <CallTarget Targets="gtest:Clean;gtest_unittest:Clean;gtest_main:Clean" />\r
+ <CallTarget Targets="gtest:Clean;gtest_main:Clean;gtest_unittest:Clean" />\r
</Target>\r
<Target Name="Make">\r
- <CallTarget Targets="gtest:Make;gtest_unittest:Make;gtest_main:Make" />\r
+ <CallTarget Targets="gtest:Make;gtest_main:Make;gtest_unittest:Make" />\r
</Target>\r
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />\r
</Project>
\ No newline at end of file
<CfgParent>Base</CfgParent>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Base)'!=''">\r
- <BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed>\r
<OutputExt>exe</OutputExt>\r
- <DCC_CBuilderOutput>JPHNE</DCC_CBuilderOutput>\r
+ <BCC_OptimizeForSpeed>true</BCC_OptimizeForSpeed>\r
<Defines>NO_STRICT</Defines>\r
+ <DCC_CBuilderOutput>JPHNE</DCC_CBuilderOutput>\r
<DynamicRTL>true</DynamicRTL>\r
- <UsePackages>true</UsePackages>\r
<ILINK_ObjectSearchPath>..\test</ILINK_ObjectSearchPath>\r
- <NoVCL>true</NoVCL>\r
+ <UsePackages>true</UsePackages>\r
<ProjectType>CppConsoleApplication</ProjectType>\r
+ <NoVCL>true</NoVCL>\r
<BCC_CPPCompileAlways>true</BCC_CPPCompileAlways>\r
- <PackageImports>rtl.bpi;vcl.bpi;bcbie.bpi;vclx.bpi;vclactnband.bpi;xmlrtl.bpi;bcbsmp.bpi;dbrtl.bpi;vcldb.bpi;bdertl.bpi;vcldbx.bpi;dsnap.bpi;dsnapcon.bpi;vclib.bpi;ibxpress.bpi;adortl.bpi;dbxcds.bpi;dbexpress.bpi;DbxCommonDriver.bpi;websnap.bpi;vclie.bpi;webdsnap.bpi;inet.bpi;inetdbbde.bpi;inetdbxpress.bpi;soaprtl.bpi;Rave75VCL.bpi;teeUI.bpi;tee.bpi;teedb.bpi;IndyCore.bpi;IndySystem.bpi;IndyProtocols.bpi;IntrawebDB_90_100.bpi;Intraweb_90_100.bpi;dclZipForged11.bpi;vclZipForged11.bpi;Jcl.bpi;JclVcl.bpi;JvCoreD11R.bpi;JvSystemD11R.bpi;JvStdCtrlsD11R.bpi;JvAppFrmD11R.bpi;JvBandsD11R.bpi;JvDBD11R.bpi;JvDlgsD11R.bpi;JvBDED11R.bpi;JvCmpD11R.bpi;JvCryptD11R.bpi;JvCtrlsD11R.bpi;JvCustomD11R.bpi;JvDockingD11R.bpi;JvDotNetCtrlsD11R.bpi;JvEDID11R.bpi;JvGlobusD11R.bpi;JvHMID11R.bpi;JvInterpreterD11R.bpi;JvJansD11R.bpi;JvManagedThreadsD11R.bpi;JvMMD11R.bpi;JvNetD11R.bpi;JvPageCompsD11R.bpi;JvPluginD11R.bpi;JvPrintPreviewD11R.bpi;JvRuntimeDesignD11R.bpi;JvTimeFrameworkD11R.bpi;JvValidatorsD11R.bpi;JvWizardD11R.bpi;JvXPCtrlsD11R.bpi;VclSmp.bpi</PackageImports>\r
+ <PackageImports>rtl.bpi;vcl.bpi;bcbie.bpi;vclx.bpi;vclactnband.bpi;xmlrtl.bpi;bcbsmp.bpi;dbrtl.bpi;vcldb.bpi;bdertl.bpi;vcldbx.bpi;dsnap.bpi;dsnapcon.bpi;vclib.bpi;ibxpress.bpi;adortl.bpi;dbxcds.bpi;dbexpress.bpi;DbxCommonDriver.bpi;websnap.bpi;vclie.bpi;webdsnap.bpi;inet.bpi;inetdbbde.bpi;inetdbxpress.bpi;soaprtl.bpi;Rave75VCL.bpi;teeUI.bpi;tee.bpi;teedb.bpi;IndyCore.bpi;IndySystem.bpi;IndyProtocols.bpi;IntrawebDB_90_100.bpi;Intraweb_90_100.bpi;Jcl.bpi;JclVcl.bpi;JvCoreD11R.bpi;JvSystemD11R.bpi;JvStdCtrlsD11R.bpi;JvAppFrmD11R.bpi;JvBandsD11R.bpi;JvDBD11R.bpi;JvDlgsD11R.bpi;JvBDED11R.bpi;JvCmpD11R.bpi;JvCryptD11R.bpi;JvCtrlsD11R.bpi;JvCustomD11R.bpi;JvDockingD11R.bpi;JvDotNetCtrlsD11R.bpi;JvEDID11R.bpi;JvGlobusD11R.bpi;JvHMID11R.bpi;JvInterpreterD11R.bpi;JvJansD11R.bpi;JvManagedThreadsD11R.bpi;JvMMD11R.bpi;JvNetD11R.bpi;JvPageCompsD11R.bpi;JvPluginD11R.bpi;JvPrintPreviewD11R.bpi;JvRuntimeDesignD11R.bpi;JvTimeFrameworkD11R.bpi;JvValidatorsD11R.bpi;JvWizardD11R.bpi;JvXPCtrlsD11R.bpi;VclSmp.bpi</PackageImports>\r
<BCC_wpar>false</BCC_wpar>\r
<IncludePath>$(BDS)\include;$(BDS)\include\dinkumware;$(BDS)\include\vcl;..\include;..\test;..</IncludePath>\r
<ILINK_LibraryPath>$(BDS)\lib;$(BDS)\lib\obj;$(BDS)\lib\psdk;..\test</ILINK_LibraryPath>\r
<Multithreaded>true</Multithreaded>\r
</PropertyGroup>\r
<PropertyGroup Condition="'$(Cfg_1)'!=''">\r
- <DCC_Optimize>false</DCC_Optimize>\r
<BCC_OptimizeForSpeed>false</BCC_OptimizeForSpeed>\r
- <Defines>_DEBUG;$(Defines)</Defines>\r
+ <DCC_Optimize>false</DCC_Optimize>\r
<DCC_DebugInfoInExe>true</DCC_DebugInfoInExe>\r
+ <Defines>_DEBUG;$(Defines)</Defines>\r
<ILINK_FullDebugInfo>true</ILINK_FullDebugInfo>\r
<BCC_InlineFunctionExpansion>false</BCC_InlineFunctionExpansion>\r
<ILINK_DisableIncrementalLinking>true</ILINK_DisableIncrementalLinking>\r
<IntermediateOutputDir>Debug</IntermediateOutputDir>\r
<TASM_DisplaySourceLines>true</TASM_DisplaySourceLines>\r
<BCC_StackFrames>true</BCC_StackFrames>\r
- <ILINK_LibraryPath>$(BDS)\lib\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>\r
<BCC_DisableOptimizations>true</BCC_DisableOptimizations>\r
+ <ILINK_LibraryPath>$(BDS)\lib\debug;$(ILINK_LibraryPath)</ILINK_LibraryPath>\r
<TASM_Debugging>Full</TASM_Debugging>\r
<BCC_SourceDebuggingOn>true</BCC_SourceDebuggingOn>\r
</PropertyGroup>\r
#ifndef GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_
#define GTEST_INCLUDE_GTEST_INTERNAL_GTEST_STRING_H_
+#ifdef __BORLANDC__
+// string.h is not guaranteed to provide strcpy on C++ Builder.
+#include <mem.h>
+#endif
+
#include <string.h>
#include <gtest/internal/gtest-port.h>
}
#ifdef __BORLANDC__
-// Restores warnings after previous "#pragma option push" supressed them
+// Restores warnings after previous "#pragma option push" suppressed them.
#pragma option pop
#endif
}
#ifdef __BORLANDC__
-// Restores warnings after previous "#pragma option push" supressed them
+// Restores warnings after previous "#pragma option push" suppressed them.
#pragma option pop
#endif
#define GTEST_USE_UNPROTECTED_COMMA_ global_var++, global_var++
TEST_F(ExpectFatalFailureTest, AcceptsMacroThatExpandsToUnprotectedComma) {
-#ifndef __BORLANDC__
+#if !defined(__BORLANDC__) || __BORLANDC__ >= 0x600
// ICE's in C++Builder 2007.
EXPECT_FATAL_FAILURE({
GTEST_USE_UNPROTECTED_COMMA_;
// Tests ASSERT_TRUE(predicate) for predicates returning AssertionResult.
TEST(AssertionTest, AssertTrueWithAssertionResult) {
ASSERT_TRUE(ResultIsEven(2));
+#if !defined(__BORLANDC__) || __BORLANDC__ >= 0x600
+ // ICE's in C++Builder 2007.
EXPECT_FATAL_FAILURE(ASSERT_TRUE(ResultIsEven(3)),
"Value of: ResultIsEven(3)\n"
" Actual: false (3 is odd)\n"
"Expected: true");
+#endif
ASSERT_TRUE(ResultIsEvenNoExplanation(2));
EXPECT_FATAL_FAILURE(ASSERT_TRUE(ResultIsEvenNoExplanation(3)),
"Value of: ResultIsEvenNoExplanation(3)\n"
// Tests ASSERT_FALSE(predicate) for predicates returning AssertionResult.
TEST(AssertionTest, AssertFalseWithAssertionResult) {
ASSERT_FALSE(ResultIsEven(3));
+#if !defined(__BORLANDC__) || __BORLANDC__ >= 0x600
+ // ICE's in C++Builder 2007.
EXPECT_FATAL_FAILURE(ASSERT_FALSE(ResultIsEven(2)),
"Value of: ResultIsEven(2)\n"
" Actual: true (2 is even)\n"
"Expected: false");
+#endif
ASSERT_FALSE(ResultIsEvenNoExplanation(3));
EXPECT_FATAL_FAILURE(ASSERT_FALSE(ResultIsEvenNoExplanation(2)),
"Value of: ResultIsEvenNoExplanation(2)\n"
// Tests ASSERT_THROW.
TEST(AssertionTest, ASSERT_THROW) {
ASSERT_THROW(ThrowAnInteger(), int);
-#if !defined(__BORLANDC__) || __BORLANDC__ >= 0x600 || defined(_DEBUG)
- // ICE's in C++Builder 2007 (Release build).
+
+#ifndef __BORLANDC__
+ // ICE's in C++Builder 2007 and 2009.
EXPECT_FATAL_FAILURE(
ASSERT_THROW(ThrowAnInteger(), bool),
"Expected: ThrowAnInteger() throws an exception of type bool.\n"
" Actual: it throws a different type.");
#endif
+
EXPECT_FATAL_FAILURE(
ASSERT_THROW(ThrowNothing(), bool),
"Expected: ThrowNothing() throws an exception of type bool.\n"