Fixes the definition of GTEST_ATTRIBUTE_UNUSED and make the tests pass in opt mode.

This commit is contained in:
shiqian 2008-08-01 19:04:48 +00:00
parent bf9b4b48dc
commit bcb12fa0f6
3 changed files with 8 additions and 33 deletions

View File

@ -249,11 +249,11 @@
// struct Foo {
// Foo() { ... }
// } GTEST_ATTRIBUTE_UNUSED;
#if defined(GTEST_OS_WINDOWS) || (defined(GTEST_OS_LINUX) && defined(SWIG))
#define GTEST_ATTRIBUTE_UNUSED
#else
#if defined(__GNUC__) && !defined(COMPILER_ICC)
#define GTEST_ATTRIBUTE_UNUSED __attribute__ ((unused))
#endif // GTEST_OS_WINDOWS || (GTEST_OS_LINUX && SWIG)
#else
#define GTEST_ATTRIBUTE_UNUSED
#endif
// A macro to disallow the evil copy constructor and operator= functions
// This should be used in the private: declarations for a class.

View File

@ -467,31 +467,6 @@ TEST_F(TestForDeathTest, TestExpectDebugDeath) {
#endif
}
// Tests that EXPECT_DEBUG_DEATH works as expected,
// that is, in debug mode, it:
// 1. Asserts on death.
// 2. Has no side effect.
//
// And in opt mode, it:
// 1. Has side effects and returns the expected value (12).
TEST_F(TestForDeathTest, TestExpectDebugDeathM) {
int sideeffect = 0;
EXPECT_DEBUG_DEATH({ // NOLINT
// Tests that the return value is 12 in opt mode.
EXPECT_EQ(12, DieInDebugElse12(&sideeffect));
// Tests that the side effect occurrs in opt mode.
EXPECT_EQ(12, sideeffect);
}, "death.*DieInDebugElse12") << "In ExpectDebugDeathM";
#ifdef NDEBUG
// Checks that the assignment occurs in opt mode (sideeffect).
EXPECT_EQ(12, sideeffect);
#else
// Checks that the assignment does not occur in dbg mode (no sideeffect).
EXPECT_EQ(0, sideeffect);
#endif
}
// Tests that ASSERT_DEBUG_DEATH works as expected
// In debug mode:
// 1. Asserts on debug death.
@ -499,7 +474,7 @@ TEST_F(TestForDeathTest, TestExpectDebugDeathM) {
//
// In opt mode:
// 1. Has side effects and returns the expected value (12).
TEST_F(TestForDeathTest, TestAssertDebugDeathM) {
TEST_F(TestForDeathTest, TestAssertDebugDeath) {
int sideeffect = 0;
ASSERT_DEBUG_DEATH({ // NOLINT
@ -507,7 +482,7 @@ TEST_F(TestForDeathTest, TestAssertDebugDeathM) {
EXPECT_EQ(12, DieInDebugElse12(&sideeffect));
// Tests that the side effect occurred in opt mode.
EXPECT_EQ(12, sideeffect);
}, "death.*DieInDebugElse12") << "In AssertDebugDeathM";
}, "death.*DieInDebugElse12");
#ifdef NDEBUG
// Checks that the assignment occurs in opt mode (sideeffect).

View File

@ -58,6 +58,8 @@ using testing::GTEST_FLAG(repeat);
namespace {
// We need this when we are testing Google Test itself and therefore
// cannot use Google Test assertions.
#define GTEST_CHECK_INT_EQ_(expected, actual) \
do {\
const int expected_val = (expected);\
@ -130,8 +132,6 @@ void ResetCounts() {
// Checks that the count for each test is expected.
void CheckCounts(int expected) {
// We cannot use Google Test assertions here since we are testing Google Test
// itself.
GTEST_CHECK_INT_EQ_(expected, g_environment_set_up_count);
GTEST_CHECK_INT_EQ_(expected, g_environment_tear_down_count);
GTEST_CHECK_INT_EQ_(expected, g_should_fail_count);