Removes an unused variable; also refactors to support an up-coming

googlemock change.
This commit is contained in:
zhanyong.wan 2013-02-28 22:55:25 +00:00
parent 88fe90793c
commit 1b89db9705
3 changed files with 32 additions and 19 deletions

View File

@ -46,6 +46,10 @@
# include <unistd.h>
#endif // GTEST_OS_LINUX
#if GTEST_HAS_EXCEPTIONS
# include <stdexcept>
#endif
#include <ctype.h>
#include <string.h>
#include <iomanip>
@ -166,6 +170,21 @@ char (&IsNullLiteralHelper(...))[2]; // NOLINT
GTEST_API_ std::string AppendUserMessage(
const std::string& gtest_msg, const Message& user_msg);
#if GTEST_HAS_EXCEPTIONS
// This exception is thrown by (and only by) a failed Google Test
// assertion when GTEST_FLAG(throw_on_failure) is true (if exceptions
// are enabled). We derive it from std::runtime_error, which is for
// errors presumably detectable only at run time. Since
// std::runtime_error inherits from std::exception, many testing
// frameworks know how to extract and print the message inside it.
class GTEST_API_ GoogleTestFailureException : public ::std::runtime_error {
public:
explicit GoogleTestFailureException(const TestPartResult& failure);
};
#endif // GTEST_HAS_EXCEPTIONS
// A helper class for creating scoped traces in user programs.
class GTEST_API_ ScopedTrace {
public:

View File

@ -215,7 +215,6 @@ class GTestFlagSaver {
bool list_tests_;
std::string output_;
bool print_time_;
bool pretty_;
internal::Int32 random_seed_;
internal::Int32 repeat_;
bool shuffle_;

View File

@ -1903,6 +1903,8 @@ static std::string* FormatSehExceptionMessage(DWORD exception_code,
#endif // GTEST_HAS_SEH
namespace internal {
#if GTEST_HAS_EXCEPTIONS
// Adds an "exception thrown" fatal failure to the current test.
@ -1922,20 +1924,12 @@ static std::string FormatCxxExceptionMessage(const char* description,
static std::string PrintTestPartResultToString(
const TestPartResult& test_part_result);
// A failed Google Test assertion will throw an exception of this type when
// GTEST_FLAG(throw_on_failure) is true (if exceptions are enabled). We
// derive it from std::runtime_error, which is for errors presumably
// detectable only at run time. Since std::runtime_error inherits from
// std::exception, many testing frameworks know how to extract and print the
// message inside it.
class GoogleTestFailureException : public ::std::runtime_error {
public:
explicit GoogleTestFailureException(const TestPartResult& failure)
: ::std::runtime_error(PrintTestPartResultToString(failure).c_str()) {}
};
GoogleTestFailureException::GoogleTestFailureException(
const TestPartResult& failure)
: ::std::runtime_error(PrintTestPartResultToString(failure).c_str()) {}
#endif // GTEST_HAS_EXCEPTIONS
namespace internal {
// We put these helper functions in the internal namespace as IBM's xlC
// compiler rejects the code if they were declared static.
@ -2001,9 +1995,10 @@ Result HandleExceptionsInMethodIfSupported(
#if GTEST_HAS_EXCEPTIONS
try {
return HandleSehExceptionsInMethodIfSupported(object, method, location);
} catch (const GoogleTestFailureException&) { // NOLINT
// This exception doesn't originate in code under test. It makes no
// sense to report it as a test failure.
} catch (const internal::GoogleTestFailureException&) { // NOLINT
// This exception type can only be thrown by a failed Google
// Test assertion with the intention of letting another testing
// framework catch it. Therefore we just re-throw it.
throw;
} catch (const std::exception& e) { // NOLINT
internal::ReportFailureInUnknownLocation(
@ -2390,6 +2385,8 @@ static const char * TestPartResultTypeToString(TestPartResult::Type type) {
}
}
namespace internal {
// Prints a TestPartResult to an std::string.
static std::string PrintTestPartResultToString(
const TestPartResult& test_part_result) {
@ -2421,8 +2418,6 @@ static void PrintTestPartResult(const TestPartResult& test_part_result) {
// class PrettyUnitTestResultPrinter
namespace internal {
enum GTestColor {
COLOR_DEFAULT,
COLOR_RED,
@ -3601,7 +3596,7 @@ void UnitTest::AddTestPartResult(
#endif // GTEST_OS_WINDOWS
} else if (GTEST_FLAG(throw_on_failure)) {
#if GTEST_HAS_EXCEPTIONS
throw GoogleTestFailureException(result);
throw internal::GoogleTestFailureException(result);
#else
// We cannot call abort() as it generates a pop-up in debug mode
// that cannot be suppressed in VC 7.1 or below.