Introduces macro GTEST_HAS_STREAM_REDIRECTION_ (by Vlad Losev); fixes unsynchronized color text output on Windows (by Vlad Losev); fixes the cmake script to work with MSVC 10 (by Manuel Klimek).
This commit is contained in:
		@@ -184,6 +184,11 @@ using testing::internal::kMaxRandomSeed;
 | 
			
		||||
using testing::internal::kTestTypeIdInGoogleTest;
 | 
			
		||||
using testing::internal::scoped_ptr;
 | 
			
		||||
 | 
			
		||||
#if GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
using testing::internal::CaptureStdout;
 | 
			
		||||
using testing::internal::GetCapturedStdout;
 | 
			
		||||
#endif  // GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
 | 
			
		||||
class TestingVector : public Vector<int> {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@@ -5471,9 +5476,17 @@ class InitGoogleTestTest : public Test {
 | 
			
		||||
    const bool saved_help_flag = ::testing::internal::g_help_flag;
 | 
			
		||||
    ::testing::internal::g_help_flag = false;
 | 
			
		||||
 | 
			
		||||
#if GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
    CaptureStdout();
 | 
			
		||||
#endif  // GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
 | 
			
		||||
    // Parses the command line.
 | 
			
		||||
    internal::ParseGoogleTestFlagsOnly(&argc1, const_cast<CharType**>(argv1));
 | 
			
		||||
 | 
			
		||||
#if GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
    const String captured_stdout = GetCapturedStdout();
 | 
			
		||||
#endif  // GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
 | 
			
		||||
    // Verifies the flag values.
 | 
			
		||||
    CheckFlags(expected);
 | 
			
		||||
 | 
			
		||||
@@ -5485,8 +5498,16 @@ class InitGoogleTestTest : public Test {
 | 
			
		||||
    // help message for the flags it recognizes.
 | 
			
		||||
    EXPECT_EQ(should_print_help, ::testing::internal::g_help_flag);
 | 
			
		||||
 | 
			
		||||
    // TODO(vladl@google.com): Verify that the help output is not printed
 | 
			
		||||
    // for recognized flags when stdout capturing is implemeted.
 | 
			
		||||
#if GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
    const char* const expected_help_fragment =
 | 
			
		||||
        "This program contains tests written using";
 | 
			
		||||
    if (should_print_help) {
 | 
			
		||||
      EXPECT_PRED_FORMAT2(IsSubstring, expected_help_fragment, captured_stdout);
 | 
			
		||||
    } else {
 | 
			
		||||
      EXPECT_PRED_FORMAT2(IsNotSubstring,
 | 
			
		||||
                          expected_help_fragment, captured_stdout);
 | 
			
		||||
    }
 | 
			
		||||
#endif  // GTEST_HAS_STREAM_REDIRECTION_
 | 
			
		||||
 | 
			
		||||
    ::testing::internal::g_help_flag = saved_help_flag;
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user