diff options
author | jgm <jgm@google.com> | 2012-03-09 17:12:39 (GMT) |
---|---|---|
committer | jgm <jgm@google.com> | 2012-03-09 17:12:39 (GMT) |
commit | f0b86fc3b0f625e1db84f3632cb37bd9eae6ae19 (patch) | |
tree | dea331f222e639cfc37f481766bbc88ce20dc7cb /include/gtest | |
parent | cfb40870bc74dc57616e286461a89c9f259b349d (diff) | |
download | googletest-f0b86fc3b0f625e1db84f3632cb37bd9eae6ae19.zip googletest-f0b86fc3b0f625e1db84f3632cb37bd9eae6ae19.tar.gz googletest-f0b86fc3b0f625e1db84f3632cb37bd9eae6ae19.tar.bz2 |
Misc small updates to some debug death code, and to messages streaming to macros
Diffstat (limited to 'include/gtest')
-rw-r--r-- | include/gtest/gtest-death-test.h | 6 | ||||
-rw-r--r-- | include/gtest/gtest-param-test.h | 2 | ||||
-rw-r--r-- | include/gtest/gtest-param-test.h.pump | 2 | ||||
-rw-r--r-- | include/gtest/gtest.h | 6 | ||||
-rw-r--r-- | include/gtest/internal/gtest-death-test-internal.h | 11 |
5 files changed, 16 insertions, 11 deletions
diff --git a/include/gtest/gtest-death-test.h b/include/gtest/gtest-death-test.h index 16f08b8..957a69c 100644 --- a/include/gtest/gtest-death-test.h +++ b/include/gtest/gtest-death-test.h @@ -86,7 +86,7 @@ GTEST_API_ bool InDeathTestChild(); // for (int i = 0; i < 5; i++) { // EXPECT_DEATH(server.ProcessRequest(i), // "Invalid request .* in ProcessRequest()") -// << "Failed to die on request " << i); +// << "Failed to die on request " << i; // } // // ASSERT_EXIT(server.ExitNow(), ::testing::ExitedWithCode(0), "Exiting"); @@ -256,10 +256,10 @@ class GTEST_API_ KilledBySignal { # ifdef NDEBUG # define EXPECT_DEBUG_DEATH(statement, regex) \ - do { statement; } while (::testing::internal::AlwaysFalse()) + GTEST_EXECUTE_STATEMENT_(statement, regex) # define ASSERT_DEBUG_DEATH(statement, regex) \ - do { statement; } while (::testing::internal::AlwaysFalse()) + GTEST_EXECUTE_STATEMENT_(statement, regex) # else diff --git a/include/gtest/gtest-param-test.h b/include/gtest/gtest-param-test.h index 6407cfd..d6702c8 100644 --- a/include/gtest/gtest-param-test.h +++ b/include/gtest/gtest-param-test.h @@ -1257,7 +1257,7 @@ inline internal::ParamGenerator<bool> Bool() { // Boolean flags: // // class FlagDependentTest -// : public testing::TestWithParam<tuple(bool, bool)> > { +// : public testing::TestWithParam<tuple<bool, bool> > { // virtual void SetUp() { // // Assigns external_flag_1 and external_flag_2 values from the tuple. // tie(external_flag_1, external_flag_2) = GetParam(); diff --git a/include/gtest/gtest-param-test.h.pump b/include/gtest/gtest-param-test.h.pump index 401cb51..2dc9303 100644 --- a/include/gtest/gtest-param-test.h.pump +++ b/include/gtest/gtest-param-test.h.pump @@ -414,7 +414,7 @@ inline internal::ParamGenerator<bool> Bool() { // Boolean flags: // // class FlagDependentTest -// : public testing::TestWithParam<tuple(bool, bool)> > { +// : public testing::TestWithParam<tuple<bool, bool> > { // virtual void SetUp() { // // Assigns external_flag_1 and external_flag_2 values from the tuple. // tie(external_flag_1, external_flag_2) = GetParam(); diff --git a/include/gtest/gtest.h b/include/gtest/gtest.h index 2d570a2..226307e 100644 --- a/include/gtest/gtest.h +++ b/include/gtest/gtest.h @@ -1731,12 +1731,6 @@ class TestWithParam : public Test, public WithParamInterface<T> { // usually want the fail-fast behavior of FAIL and ASSERT_*, but those // writing data-driven tests often find themselves using ADD_FAILURE // and EXPECT_* more. -// -// Examples: -// -// EXPECT_TRUE(server.StatusIsOK()); -// ASSERT_FALSE(server.HasPendingRequest(port)) -// << "There are still pending requests " << "on port " << port; // Generates a nonfatal failure with a generic message. #define ADD_FAILURE() GTEST_NONFATAL_FAILURE_("Failed") diff --git a/include/gtest/internal/gtest-death-test-internal.h b/include/gtest/internal/gtest-death-test-internal.h index 1d9f83b..22bb97f 100644 --- a/include/gtest/internal/gtest-death-test-internal.h +++ b/include/gtest/internal/gtest-death-test-internal.h @@ -217,6 +217,17 @@ GTEST_API_ bool ExitedUnsuccessfully(int exit_status); // The symbol "fail" here expands to something into which a message // can be streamed. +// This macro is for implementing ASSERT/EXPECT_DEBUG_DEATH when compiled in +// NDEBUG mode. In this case we need the statements to be executed, the regex is +// ignored, and the macro must accept a streamed message even though the message +// is never printed. +# define GTEST_EXECUTE_STATEMENT_(statement, regex) \ + GTEST_AMBIGUOUS_ELSE_BLOCKER_ \ + if (::testing::internal::AlwaysTrue()) { \ + GTEST_SUPPRESS_UNREACHABLE_CODE_WARNING_BELOW_(statement); \ + } else \ + ::testing::Message() + // A class representing the parsed contents of the // --gtest_internal_run_death_test flag, as it existed when // RUN_ALL_TESTS was called. |