Removes an unused variable; also refactors to support an up-coming
googlemock change.
This commit is contained in:
parent
88fe90793c
commit
1b89db9705
|
@ -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:
|
||||
|
|
|
@ -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_;
|
||||
|
|
31
src/gtest.cc
31
src/gtest.cc
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue
Block a user