aboutsummaryrefslogtreecommitdiffstats
path: root/test/gmock-internal-utils_test.cc
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2010-02-02 22:34:58 +0000
committerzhanyong.wan <zhanyong.wan@8415998a-534a-0410-bf83-d39667b30386>2010-02-02 22:34:58 +0000
commit470df42bad6a78531f0ec51e43a194f3e26c4f4d (patch)
tree4cb50c32dbfd4e278b2b9cb270a517e6ffb13d45 /test/gmock-internal-utils_test.cc
parentdb22c227826b82e1ad05d6c47facfef73c99e057 (diff)
downloadgoogletest-470df42bad6a78531f0ec51e43a194f3e26c4f4d.tar.gz
googletest-470df42bad6a78531f0ec51e43a194f3e26c4f4d.tar.bz2
googletest-470df42bad6a78531f0ec51e43a194f3e26c4f4d.zip
Enables tests depending on stdout capturing (by Vlad Losev).
Diffstat (limited to 'test/gmock-internal-utils_test.cc')
-rw-r--r--test/gmock-internal-utils_test.cc56
1 files changed, 27 insertions, 29 deletions
diff --git a/test/gmock-internal-utils_test.cc b/test/gmock-internal-utils_test.cc
index 7dd83115..fc5d9e55 100644
--- a/test/gmock-internal-utils_test.cc
+++ b/test/gmock-internal-utils_test.cc
@@ -538,8 +538,7 @@ TEST_F(LogIsVisibleTest, WorksWhenVerbosityIsWarning) {
EXPECT_TRUE(LogIsVisible(WARNING));
}
-// TODO(wan@google.com): find a way to re-enable these tests.
-#if 0
+#if GTEST_HAS_STREAM_REDIRECTION_
// Tests the Log() function.
@@ -549,16 +548,16 @@ void TestLogWithSeverity(const string& verbosity, LogSeverity severity,
bool should_print) {
const string old_flag = GMOCK_FLAG(verbose);
GMOCK_FLAG(verbose) = verbosity;
- CaptureTestStdout();
+ CaptureStdout();
Log(severity, "Test log.\n", 0);
if (should_print) {
- EXPECT_PRED2(RE::FullMatch,
- GetCapturedTestStdout(),
- severity == WARNING ?
- "\nGMOCK WARNING:\nTest log\\.\nStack trace:\n[\\s\\S]*" :
- "\nTest log\\.\nStack trace:\n[\\s\\S]*");
+ EXPECT_THAT(GetCapturedStdout().c_str(),
+ ContainsRegex(
+ severity == WARNING ?
+ "^\nGMOCK WARNING:\nTest log\\.\nStack trace:\n" :
+ "^\nTest log\\.\nStack trace:\n"));
} else {
- EXPECT_EQ("", GetCapturedTestStdout());
+ EXPECT_STREQ("", GetCapturedStdout().c_str());
}
GMOCK_FLAG(verbose) = old_flag;
}
@@ -567,18 +566,18 @@ void TestLogWithSeverity(const string& verbosity, LogSeverity severity,
// Log() doesn't include the stack trace in the output.
TEST(LogTest, NoStackTraceWhenStackFramesToSkipIsNegative) {
GMOCK_FLAG(verbose) = kInfoVerbosity;
- CaptureTestStdout();
+ CaptureStdout();
Log(INFO, "Test log.\n", -1);
- EXPECT_EQ("\nTest log.\n", GetCapturedTestStdout());
+ EXPECT_STREQ("\nTest log.\n", GetCapturedStdout().c_str());
}
// Tests that in opt mode, a positive stack_frames_to_skip argument is
// treated as 0.
TEST(LogTest, NoSkippingStackFrameInOptMode) {
- CaptureTestStdout();
+ CaptureStdout();
Log(WARNING, "Test log.\n", 100);
- const string log = GetCapturedTestStdout();
-#ifdef NDEBUG
+ const String log = GetCapturedStdout();
+#if defined(NDEBUG) && GTEST_GOOGLE3_MODE_
// In opt mode, no stack frame should be skipped.
EXPECT_THAT(log, ContainsRegex("\nGMOCK WARNING:\n"
"Test log\\.\n"
@@ -586,10 +585,10 @@ TEST(LogTest, NoSkippingStackFrameInOptMode) {
".+"));
#else
// In dbg mode, the stack frames should be skipped.
- EXPECT_EQ("\nGMOCK WARNING:\n"
- "Test log.\n"
- "Stack trace:\n", log);
-#endif // NDEBUG
+ EXPECT_STREQ("\nGMOCK WARNING:\n"
+ "Test log.\n"
+ "Stack trace:\n", log.c_str());
+#endif
}
// Tests that all logs are printed when the value of the
@@ -620,7 +619,7 @@ TEST(LogTest, OnlyWarningsArePrintedWhenVerbosityIsInvalid) {
TestLogWithSeverity("invalid", WARNING, true);
}
-#endif // 0
+#endif // GTEST_HAS_STREAM_REDIRECTION_
TEST(TypeTraitsTest, true_type) {
EXPECT_TRUE(true_type::value);
@@ -657,18 +656,17 @@ TEST(TypeTraitsTest, remove_reference) {
EXPECT_TRUE((type_equals<double*, remove_reference<double*>::type>::value));
}
-// TODO(wan@google.com): find a way to re-enable these tests.
-#if 0
+#if GTEST_HAS_STREAM_REDIRECTION_
// Verifies that Log() behaves correctly for the given verbosity level
// and log severity.
-string GrabOutput(void(*logger)(), const char* verbosity) {
+String GrabOutput(void(*logger)(), const char* verbosity) {
const string saved_flag = GMOCK_FLAG(verbose);
GMOCK_FLAG(verbose) = verbosity;
- CaptureTestStdout();
+ CaptureStdout();
logger();
GMOCK_FLAG(verbose) = saved_flag;
- return GetCapturedTestStdout();
+ return GetCapturedStdout();
}
class DummyMock {
@@ -692,13 +690,13 @@ TEST(ExpectCallTest, LogsWhenVerbosityIsInfo) {
// Verifies that EXPECT_CALL doesn't log
// if the --gmock_verbose flag is set to "warning".
TEST(ExpectCallTest, DoesNotLogWhenVerbosityIsWarning) {
- EXPECT_EQ("", GrabOutput(ExpectCallLogger, kWarningVerbosity));
+ EXPECT_STREQ("", GrabOutput(ExpectCallLogger, kWarningVerbosity).c_str());
}
// Verifies that EXPECT_CALL doesn't log
// if the --gmock_verbose flag is set to "error".
TEST(ExpectCallTest, DoesNotLogWhenVerbosityIsError) {
- EXPECT_EQ("", GrabOutput(ExpectCallLogger, kErrorVerbosity));
+ EXPECT_STREQ("", GrabOutput(ExpectCallLogger, kErrorVerbosity).c_str());
}
void OnCallLogger() {
@@ -715,13 +713,13 @@ TEST(OnCallTest, LogsWhenVerbosityIsInfo) {
// Verifies that ON_CALL doesn't log
// if the --gmock_verbose flag is set to "warning".
TEST(OnCallTest, DoesNotLogWhenVerbosityIsWarning) {
- EXPECT_EQ("", GrabOutput(OnCallLogger, kWarningVerbosity));
+ EXPECT_STREQ("", GrabOutput(OnCallLogger, kWarningVerbosity).c_str());
}
// Verifies that ON_CALL doesn't log if
// the --gmock_verbose flag is set to "error".
TEST(OnCallTest, DoesNotLogWhenVerbosityIsError) {
- EXPECT_EQ("", GrabOutput(OnCallLogger, kErrorVerbosity));
+ EXPECT_STREQ("", GrabOutput(OnCallLogger, kErrorVerbosity).c_str());
}
void OnCallAnyArgumentLogger() {
@@ -735,7 +733,7 @@ TEST(OnCallTest, LogsAnythingArgument) {
HasSubstr("ON_CALL(mock, TestMethodArg(_)"));
}
-#endif // 0
+#endif // GTEST_HAS_STREAM_REDIRECTION_
// Tests ArrayEq().