diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/gmock-internal-utils_test.cc | 2 | ||||
| -rw-r--r-- | test/gmock-nice-strict_test.cc | 2 | ||||
| -rw-r--r-- | test/gmock-spec-builders_test.cc | 36 | 
3 files changed, 25 insertions, 15 deletions
| diff --git a/test/gmock-internal-utils_test.cc b/test/gmock-internal-utils_test.cc index fc5d9e55..b8e05191 100644 --- a/test/gmock-internal-utils_test.cc +++ b/test/gmock-internal-utils_test.cc @@ -565,10 +565,12 @@ void TestLogWithSeverity(const string& verbosity, LogSeverity severity,  // Tests that when the stack_frames_to_skip parameter is negative,  // Log() doesn't include the stack trace in the output.  TEST(LogTest, NoStackTraceWhenStackFramesToSkipIsNegative) { +  const string saved_flag = GMOCK_FLAG(verbose);    GMOCK_FLAG(verbose) = kInfoVerbosity;    CaptureStdout();    Log(INFO, "Test log.\n", -1);    EXPECT_STREQ("\nTest log.\n", GetCapturedStdout().c_str()); +  GMOCK_FLAG(verbose) = saved_flag;  }  // Tests that in opt mode, a positive stack_frames_to_skip argument is diff --git a/test/gmock-nice-strict_test.cc b/test/gmock-nice-strict_test.cc index f6f278e8..0e52450d 100644 --- a/test/gmock-nice-strict_test.cc +++ b/test/gmock-nice-strict_test.cc @@ -137,6 +137,7 @@ TEST(NiceMockTest, NoWarningForUninterestingCallAfterDeath) {  TEST(NiceMockTest, InfoForUninterestingCall) {    NiceMock<MockFoo> nice_foo; +  const string saved_flag = GMOCK_FLAG(verbose);    GMOCK_FLAG(verbose) = "info";    CaptureStdout();    nice_foo.DoThis(); @@ -147,6 +148,7 @@ TEST(NiceMockTest, InfoForUninterestingCall) {    nice_foo.DoThat(true);    EXPECT_THAT(GetCapturedStdout(),                HasSubstr("Uninteresting mock function call")); +  GMOCK_FLAG(verbose) = saved_flag;  }  #endif  // GTEST_HAS_STREAM_REDIRECTION_ diff --git a/test/gmock-spec-builders_test.cc b/test/gmock-spec-builders_test.cc index e22d8cf7..ff30f02b 100644 --- a/test/gmock-spec-builders_test.cc +++ b/test/gmock-spec-builders_test.cc @@ -1783,6 +1783,25 @@ class MockC {    GTEST_DISALLOW_COPY_AND_ASSIGN_(MockC);  }; +class VerboseFlagPreservingFixture : public testing::Test { + protected: +  // The code needs to work when both ::string and ::std::string are defined +  // and the flag is implemented as a testing::internal::String.  In this +  // case, without the call to c_str(), the compiler will complain that it +  // cannot figure out what overload of string constructor to use. +  // TODO(vladl@google.com): Use internal::string instead of String for +  // string flags in Google Test. +  VerboseFlagPreservingFixture() +      : saved_verbose_flag_(GMOCK_FLAG(verbose).c_str()) {} + +  ~VerboseFlagPreservingFixture() { GMOCK_FLAG(verbose) = saved_verbose_flag_; } + + private: +  const string saved_verbose_flag_; + +  GTEST_DISALLOW_COPY_AND_ASSIGN_(VerboseFlagPreservingFixture); +}; +  #if GTEST_HAS_STREAM_REDIRECTION_  // Tests that an uninteresting mock function call generates a warning @@ -1842,7 +1861,7 @@ TEST(FunctionCallMessageTest, UninterestingCallPrintsArgumentsAndReturnValue) {  // Tests how the --gmock_verbose flag affects Google Mock's output. -class GMockVerboseFlagTest : public testing::Test { +class GMockVerboseFlagTest : public VerboseFlagPreservingFixture {   public:    // Verifies that the given Google Mock output is correct.  (When    // should_print is true, the output should match the given regex and @@ -1982,22 +2001,9 @@ class LogTestHelper {    GTEST_DISALLOW_COPY_AND_ASSIGN_(LogTestHelper);  }; -class GMockLogTest : public ::testing::Test { +class GMockLogTest : public VerboseFlagPreservingFixture {   protected: -  virtual void SetUp() { -    // The code needs to work when both ::string and ::std::string are -    // defined and the flag is implemented as a -    // testing::internal::String.  In this case, without the call to -    // c_str(), the compiler will complain that it cannot figure out -    // whether the String flag should be converted to a ::string or an -    // ::std::string before being assigned to original_verbose_. -    original_verbose_ = GMOCK_FLAG(verbose).c_str(); -  } - -  virtual void TearDown() { GMOCK_FLAG(verbose) = original_verbose_; } -    LogTestHelper helper_; -  string original_verbose_;  };  TEST_F(GMockLogTest, DoesNotPrintGoodCallInternallyIfVerbosityIsWarning) { | 
