Implements EXPECT_DEATH_IF_SUPPORTED (by Vlad Losev); Fixes compatibility with Symbian (by Araceli Checa); Removes GetCapturedStderr()'s dependency on std::string (by Vlad Losev).
This commit is contained in:
		@@ -257,6 +257,28 @@ class KilledBySignal {
 | 
			
		||||
 | 
			
		||||
#endif  // NDEBUG for EXPECT_DEBUG_DEATH
 | 
			
		||||
#endif  // GTEST_HAS_DEATH_TEST
 | 
			
		||||
 | 
			
		||||
// EXPECT_DEATH_IF_SUPPORTED(statement, regex) and
 | 
			
		||||
// ASSERT_DEATH_IF_SUPPORTED(statement, regex) expand to real death tests if
 | 
			
		||||
// death tests are supported; otherwise they expand to empty.  This is
 | 
			
		||||
// useful when you are combining death test assertions with normal test
 | 
			
		||||
// assertions in one test.
 | 
			
		||||
#if GTEST_HAS_DEATH_TEST
 | 
			
		||||
#define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \
 | 
			
		||||
    EXPECT_DEATH(statement, regex)
 | 
			
		||||
#define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \
 | 
			
		||||
    ASSERT_DEATH(statement, regex)
 | 
			
		||||
#else
 | 
			
		||||
#define EXPECT_DEATH_IF_SUPPORTED(statement, regex) \
 | 
			
		||||
    GTEST_LOG_(WARNING, \
 | 
			
		||||
               "Death tests are not supported on this platform. The statement" \
 | 
			
		||||
               " '" #statement "' can not be verified")
 | 
			
		||||
#define ASSERT_DEATH_IF_SUPPORTED(statement, regex) \
 | 
			
		||||
    GTEST_LOG_(WARNING, \
 | 
			
		||||
               "Death tests are not supported on this platform. The statement" \
 | 
			
		||||
               " '" #statement "' can not be verified")
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
}  // namespace testing
 | 
			
		||||
 | 
			
		||||
#endif  // GTEST_INCLUDE_GTEST_GTEST_DEATH_TEST_H_
 | 
			
		||||
 
 | 
			
		||||
@@ -696,10 +696,8 @@ inline void FlushInfoLog() { fflush(NULL); }
 | 
			
		||||
//   CaptureStderr     - starts capturing stderr.
 | 
			
		||||
//   GetCapturedStderr - stops capturing stderr and returns the captured string.
 | 
			
		||||
 | 
			
		||||
#if GTEST_HAS_STD_STRING
 | 
			
		||||
void CaptureStderr();
 | 
			
		||||
::std::string GetCapturedStderr();
 | 
			
		||||
#endif  // GTEST_HAS_STD_STRING
 | 
			
		||||
String GetCapturedStderr();
 | 
			
		||||
 | 
			
		||||
#if GTEST_HAS_DEATH_TEST
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -38,11 +38,11 @@
 | 
			
		||||
 | 
			
		||||
#include <utility>  // For ::std::pair.
 | 
			
		||||
 | 
			
		||||
// The compiler used in Symbian 5th Edition (__S60_50__) has a bug
 | 
			
		||||
// that prevents us from declaring the tuple template as a friend (it
 | 
			
		||||
// complains that tuple is redefined).  This hack bypasses the bug by
 | 
			
		||||
// declaring the members that should otherwise be private as public.
 | 
			
		||||
#if defined(__SYMBIAN32__) && __S60_50__
 | 
			
		||||
// The compiler used in Symbian has a bug that prevents us from declaring the
 | 
			
		||||
// tuple template as a friend (it complains that tuple is redefined).  This
 | 
			
		||||
// hack bypasses the bug by declaring the members that should otherwise be
 | 
			
		||||
// private as public.
 | 
			
		||||
#if defined(__SYMBIAN32__)
 | 
			
		||||
#define GTEST_DECLARE_TUPLE_AS_FRIEND_ public:
 | 
			
		||||
#else
 | 
			
		||||
#define GTEST_DECLARE_TUPLE_AS_FRIEND_ \
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user