Turns on exceptions when compiling gtest_output_test (by Vlad Losev); moves TestCase to gtest.h to prepare for the event listener API (by Vlad Losev).
This commit is contained in:
parent
046efb852b
commit
ef29ce3576
|
@ -142,6 +142,7 @@ const int kMaxStackTraceDepth = 100;
|
||||||
namespace internal {
|
namespace internal {
|
||||||
|
|
||||||
class GTestFlagSaver;
|
class GTestFlagSaver;
|
||||||
|
class TestCase; // A collection of related tests.
|
||||||
|
|
||||||
// Converts a streamable value to a String. A NULL pointer is
|
// Converts a streamable value to a String. A NULL pointer is
|
||||||
// converted to "(null)". When the input value is a ::string,
|
// converted to "(null)". When the input value is a ::string,
|
||||||
|
@ -540,7 +541,7 @@ class TestInfo {
|
||||||
friend class internal::TestInfoImpl;
|
friend class internal::TestInfoImpl;
|
||||||
friend class internal::UnitTestImpl;
|
friend class internal::UnitTestImpl;
|
||||||
friend class Test;
|
friend class Test;
|
||||||
friend class TestCase;
|
friend class internal::TestCase;
|
||||||
friend TestInfo* internal::MakeAndRegisterTestInfo(
|
friend TestInfo* internal::MakeAndRegisterTestInfo(
|
||||||
const char* test_case_name, const char* name,
|
const char* test_case_name, const char* name,
|
||||||
const char* test_case_comment, const char* comment,
|
const char* test_case_comment, const char* comment,
|
||||||
|
@ -570,6 +571,130 @@ class TestInfo {
|
||||||
GTEST_DISALLOW_COPY_AND_ASSIGN_(TestInfo);
|
GTEST_DISALLOW_COPY_AND_ASSIGN_(TestInfo);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace internal {
|
||||||
|
|
||||||
|
// A test case, which consists of a list of TestInfos.
|
||||||
|
//
|
||||||
|
// TestCase is not copyable.
|
||||||
|
class TestCase {
|
||||||
|
public:
|
||||||
|
// Creates a TestCase with the given name.
|
||||||
|
//
|
||||||
|
// TestCase does NOT have a default constructor. Always use this
|
||||||
|
// constructor to create a TestCase object.
|
||||||
|
//
|
||||||
|
// Arguments:
|
||||||
|
//
|
||||||
|
// name: name of the test case
|
||||||
|
// set_up_tc: pointer to the function that sets up the test case
|
||||||
|
// tear_down_tc: pointer to the function that tears down the test case
|
||||||
|
TestCase(const char* name, const char* comment,
|
||||||
|
Test::SetUpTestCaseFunc set_up_tc,
|
||||||
|
Test::TearDownTestCaseFunc tear_down_tc);
|
||||||
|
|
||||||
|
// Destructor of TestCase.
|
||||||
|
virtual ~TestCase();
|
||||||
|
|
||||||
|
// Gets the name of the TestCase.
|
||||||
|
const char* name() const { return name_.c_str(); }
|
||||||
|
|
||||||
|
// Returns the test case comment.
|
||||||
|
const char* comment() const { return comment_.c_str(); }
|
||||||
|
|
||||||
|
// Returns true if any test in this test case should run.
|
||||||
|
bool should_run() const { return should_run_; }
|
||||||
|
|
||||||
|
// Sets the should_run member.
|
||||||
|
void set_should_run(bool should) { should_run_ = should; }
|
||||||
|
|
||||||
|
// Gets the (mutable) list of TestInfos in this TestCase.
|
||||||
|
internal::List<TestInfo*>& test_info_list() { return *test_info_list_; }
|
||||||
|
|
||||||
|
// Gets the (immutable) list of TestInfos in this TestCase.
|
||||||
|
const internal::List<TestInfo *> & test_info_list() const {
|
||||||
|
return *test_info_list_;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Gets the number of successful tests in this test case.
|
||||||
|
int successful_test_count() const;
|
||||||
|
|
||||||
|
// Gets the number of failed tests in this test case.
|
||||||
|
int failed_test_count() const;
|
||||||
|
|
||||||
|
// Gets the number of disabled tests in this test case.
|
||||||
|
int disabled_test_count() const;
|
||||||
|
|
||||||
|
// Get the number of tests in this test case that should run.
|
||||||
|
int test_to_run_count() const;
|
||||||
|
|
||||||
|
// Gets the number of all tests in this test case.
|
||||||
|
int total_test_count() const;
|
||||||
|
|
||||||
|
// Returns true iff the test case passed.
|
||||||
|
bool Passed() const { return !Failed(); }
|
||||||
|
|
||||||
|
// Returns true iff the test case failed.
|
||||||
|
bool Failed() const { return failed_test_count() > 0; }
|
||||||
|
|
||||||
|
// Returns the elapsed time, in milliseconds.
|
||||||
|
internal::TimeInMillis elapsed_time() const { return elapsed_time_; }
|
||||||
|
|
||||||
|
// Adds a TestInfo to this test case. Will delete the TestInfo upon
|
||||||
|
// destruction of the TestCase object.
|
||||||
|
void AddTestInfo(TestInfo * test_info);
|
||||||
|
|
||||||
|
// Finds and returns a TestInfo with the given name. If one doesn't
|
||||||
|
// exist, returns NULL.
|
||||||
|
TestInfo* GetTestInfo(const char* test_name);
|
||||||
|
|
||||||
|
// Clears the results of all tests in this test case.
|
||||||
|
void ClearResult();
|
||||||
|
|
||||||
|
// Clears the results of all tests in the given test case.
|
||||||
|
static void ClearTestCaseResult(TestCase* test_case) {
|
||||||
|
test_case->ClearResult();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Runs every test in this TestCase.
|
||||||
|
void Run();
|
||||||
|
|
||||||
|
// Runs every test in the given TestCase.
|
||||||
|
static void RunTestCase(TestCase * test_case) { test_case->Run(); }
|
||||||
|
|
||||||
|
// Returns true iff test passed.
|
||||||
|
static bool TestPassed(const TestInfo * test_info);
|
||||||
|
|
||||||
|
// Returns true iff test failed.
|
||||||
|
static bool TestFailed(const TestInfo * test_info);
|
||||||
|
|
||||||
|
// Returns true iff test is disabled.
|
||||||
|
static bool TestDisabled(const TestInfo * test_info);
|
||||||
|
|
||||||
|
// Returns true if the given test should run.
|
||||||
|
static bool ShouldRunTest(const TestInfo *test_info);
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Name of the test case.
|
||||||
|
internal::String name_;
|
||||||
|
// Comment on the test case.
|
||||||
|
internal::String comment_;
|
||||||
|
// List of TestInfos.
|
||||||
|
internal::List<TestInfo*>* test_info_list_;
|
||||||
|
// Pointer to the function that sets up the test case.
|
||||||
|
Test::SetUpTestCaseFunc set_up_tc_;
|
||||||
|
// Pointer to the function that tears down the test case.
|
||||||
|
Test::TearDownTestCaseFunc tear_down_tc_;
|
||||||
|
// True iff any test in this test case should run.
|
||||||
|
bool should_run_;
|
||||||
|
// Elapsed time, in milliseconds.
|
||||||
|
internal::TimeInMillis elapsed_time_;
|
||||||
|
|
||||||
|
// We disallow copying TestCases.
|
||||||
|
GTEST_DISALLOW_COPY_AND_ASSIGN_(TestCase);
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace internal
|
||||||
|
|
||||||
// An Environment object is capable of setting up and tearing down an
|
// An Environment object is capable of setting up and tearing down an
|
||||||
// environment. The user should subclass this to define his own
|
// environment. The user should subclass this to define his own
|
||||||
// environment(s).
|
// environment(s).
|
||||||
|
@ -659,7 +784,7 @@ class UnitTest {
|
||||||
|
|
||||||
// Returns the TestCase object for the test that's currently running,
|
// Returns the TestCase object for the test that's currently running,
|
||||||
// or NULL if no test is running.
|
// or NULL if no test is running.
|
||||||
const TestCase* current_test_case() const;
|
const internal::TestCase* current_test_case() const;
|
||||||
|
|
||||||
// Returns the TestInfo object for the test that's currently running,
|
// Returns the TestInfo object for the test that's currently running,
|
||||||
// or NULL if no test is running.
|
// or NULL if no test is running.
|
||||||
|
|
|
@ -103,7 +103,6 @@ namespace testing {
|
||||||
|
|
||||||
class Message; // Represents a failure message.
|
class Message; // Represents a failure message.
|
||||||
class Test; // Represents a test.
|
class Test; // Represents a test.
|
||||||
class TestCase; // A collection of related tests.
|
|
||||||
class TestPartResult; // Result of a test part.
|
class TestPartResult; // Result of a test part.
|
||||||
class TestInfo; // Information about a test.
|
class TestInfo; // Information about a test.
|
||||||
class UnitTest; // A collection of test cases.
|
class UnitTest; // A collection of test cases.
|
||||||
|
|
|
@ -113,11 +113,13 @@ env_with_exceptions = env.Clone()
|
||||||
if env_with_exceptions['PLATFORM'] == 'win32':
|
if env_with_exceptions['PLATFORM'] == 'win32':
|
||||||
env_with_exceptions.Append(CCFLAGS=['/EHsc'])
|
env_with_exceptions.Append(CCFLAGS=['/EHsc'])
|
||||||
env_with_exceptions.Append(CPPDEFINES='_HAS_EXCEPTIONS=1')
|
env_with_exceptions.Append(CPPDEFINES='_HAS_EXCEPTIONS=1')
|
||||||
|
cppdefines = env_with_exceptions['CPPDEFINES']
|
||||||
# Undoes the _TYPEINFO_ hack, which is unnecessary and only creates
|
# Undoes the _TYPEINFO_ hack, which is unnecessary and only creates
|
||||||
# trouble when exceptions are enabled.
|
# trouble when exceptions are enabled.
|
||||||
cppdefines = env_with_exceptions['CPPDEFINES']
|
|
||||||
if '_TYPEINFO_' in cppdefines:
|
if '_TYPEINFO_' in cppdefines:
|
||||||
cppdefines.remove('_TYPEINFO_')
|
cppdefines.remove('_TYPEINFO_')
|
||||||
|
if '_HAS_EXCEPTIONS=0' in cppdefines:
|
||||||
|
cppdefines.remove('_HAS_EXCEPTIONS=0')
|
||||||
else:
|
else:
|
||||||
env_with_exceptions.Append(CCFLAGS='-fexceptions')
|
env_with_exceptions.Append(CCFLAGS='-fexceptions')
|
||||||
ccflags = env_with_exceptions['CCFLAGS']
|
ccflags = env_with_exceptions['CCFLAGS']
|
||||||
|
@ -287,7 +289,6 @@ GtestTest(env, 'gtest-typed-test_test', gtest_main,
|
||||||
additional_sources=['../test/gtest-typed-test2_test.cc'])
|
additional_sources=['../test/gtest-typed-test2_test.cc'])
|
||||||
GtestTest(env, 'gtest-param-test_test', gtest,
|
GtestTest(env, 'gtest-param-test_test', gtest,
|
||||||
additional_sources=['../test/gtest-param-test2_test.cc'])
|
additional_sources=['../test/gtest-param-test2_test.cc'])
|
||||||
GtestTest(env, 'gtest_output_test_', gtest)
|
|
||||||
GtestTest(env, 'gtest_color_test_', gtest)
|
GtestTest(env, 'gtest_color_test_', gtest)
|
||||||
GtestTest(env, 'gtest-linked_ptr_test', gtest_main)
|
GtestTest(env, 'gtest-linked_ptr_test', gtest_main)
|
||||||
GtestTest(env, 'gtest-port_test', gtest_main)
|
GtestTest(env, 'gtest-port_test', gtest_main)
|
||||||
|
@ -305,6 +306,7 @@ GtestBinary(env, 'gtest_unittest', gtest_main, [gtest_unittest_obj])
|
||||||
############################################################
|
############################################################
|
||||||
# Tests targets using custom environments.
|
# Tests targets using custom environments.
|
||||||
|
|
||||||
|
GtestTest(env_with_exceptions, 'gtest_output_test_', gtest_ex)
|
||||||
GtestTest(env_with_exceptions, 'gtest_throw_on_failure_ex_test', gtest_ex)
|
GtestTest(env_with_exceptions, 'gtest_throw_on_failure_ex_test', gtest_ex)
|
||||||
GtestTest(env_with_threads, 'gtest-death-test_test', gtest_main)
|
GtestTest(env_with_threads, 'gtest-death-test_test', gtest_main)
|
||||||
GtestTest(env_with_less_optimization, 'gtest_env_var_test_', gtest)
|
GtestTest(env_with_less_optimization, 'gtest_env_var_test_', gtest)
|
||||||
|
|
|
@ -556,140 +556,6 @@ class TestInfoImpl {
|
||||||
GTEST_DISALLOW_COPY_AND_ASSIGN_(TestInfoImpl);
|
GTEST_DISALLOW_COPY_AND_ASSIGN_(TestInfoImpl);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace internal
|
|
||||||
|
|
||||||
// A test case, which consists of a list of TestInfos.
|
|
||||||
//
|
|
||||||
// TestCase is not copyable.
|
|
||||||
class TestCase {
|
|
||||||
public:
|
|
||||||
// Creates a TestCase with the given name.
|
|
||||||
//
|
|
||||||
// TestCase does NOT have a default constructor. Always use this
|
|
||||||
// constructor to create a TestCase object.
|
|
||||||
//
|
|
||||||
// Arguments:
|
|
||||||
//
|
|
||||||
// name: name of the test case
|
|
||||||
// set_up_tc: pointer to the function that sets up the test case
|
|
||||||
// tear_down_tc: pointer to the function that tears down the test case
|
|
||||||
TestCase(const char* name, const char* comment,
|
|
||||||
Test::SetUpTestCaseFunc set_up_tc,
|
|
||||||
Test::TearDownTestCaseFunc tear_down_tc);
|
|
||||||
|
|
||||||
// Destructor of TestCase.
|
|
||||||
virtual ~TestCase();
|
|
||||||
|
|
||||||
// Gets the name of the TestCase.
|
|
||||||
const char* name() const { return name_.c_str(); }
|
|
||||||
|
|
||||||
// Returns the test case comment.
|
|
||||||
const char* comment() const { return comment_.c_str(); }
|
|
||||||
|
|
||||||
// Returns true if any test in this test case should run.
|
|
||||||
bool should_run() const { return should_run_; }
|
|
||||||
|
|
||||||
// Sets the should_run member.
|
|
||||||
void set_should_run(bool should) { should_run_ = should; }
|
|
||||||
|
|
||||||
// Gets the (mutable) list of TestInfos in this TestCase.
|
|
||||||
internal::List<TestInfo*>& test_info_list() { return *test_info_list_; }
|
|
||||||
|
|
||||||
// Gets the (immutable) list of TestInfos in this TestCase.
|
|
||||||
const internal::List<TestInfo *> & test_info_list() const {
|
|
||||||
return *test_info_list_;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Gets the number of successful tests in this test case.
|
|
||||||
int successful_test_count() const;
|
|
||||||
|
|
||||||
// Gets the number of failed tests in this test case.
|
|
||||||
int failed_test_count() const;
|
|
||||||
|
|
||||||
// Gets the number of disabled tests in this test case.
|
|
||||||
int disabled_test_count() const;
|
|
||||||
|
|
||||||
// Get the number of tests in this test case that should run.
|
|
||||||
int test_to_run_count() const;
|
|
||||||
|
|
||||||
// Gets the number of all tests in this test case.
|
|
||||||
int total_test_count() const;
|
|
||||||
|
|
||||||
// Returns true iff the test case passed.
|
|
||||||
bool Passed() const { return !Failed(); }
|
|
||||||
|
|
||||||
// Returns true iff the test case failed.
|
|
||||||
bool Failed() const { return failed_test_count() > 0; }
|
|
||||||
|
|
||||||
// Returns the elapsed time, in milliseconds.
|
|
||||||
internal::TimeInMillis elapsed_time() const { return elapsed_time_; }
|
|
||||||
|
|
||||||
// Adds a TestInfo to this test case. Will delete the TestInfo upon
|
|
||||||
// destruction of the TestCase object.
|
|
||||||
void AddTestInfo(TestInfo * test_info);
|
|
||||||
|
|
||||||
// Finds and returns a TestInfo with the given name. If one doesn't
|
|
||||||
// exist, returns NULL.
|
|
||||||
TestInfo* GetTestInfo(const char* test_name);
|
|
||||||
|
|
||||||
// Clears the results of all tests in this test case.
|
|
||||||
void ClearResult();
|
|
||||||
|
|
||||||
// Clears the results of all tests in the given test case.
|
|
||||||
static void ClearTestCaseResult(TestCase* test_case) {
|
|
||||||
test_case->ClearResult();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Runs every test in this TestCase.
|
|
||||||
void Run();
|
|
||||||
|
|
||||||
// Runs every test in the given TestCase.
|
|
||||||
static void RunTestCase(TestCase * test_case) { test_case->Run(); }
|
|
||||||
|
|
||||||
// Returns true iff test passed.
|
|
||||||
static bool TestPassed(const TestInfo * test_info) {
|
|
||||||
const internal::TestInfoImpl* const impl = test_info->impl();
|
|
||||||
return impl->should_run() && impl->result()->Passed();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true iff test failed.
|
|
||||||
static bool TestFailed(const TestInfo * test_info) {
|
|
||||||
const internal::TestInfoImpl* const impl = test_info->impl();
|
|
||||||
return impl->should_run() && impl->result()->Failed();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true iff test is disabled.
|
|
||||||
static bool TestDisabled(const TestInfo * test_info) {
|
|
||||||
return test_info->impl()->is_disabled();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Returns true if the given test should run.
|
|
||||||
static bool ShouldRunTest(const TestInfo *test_info) {
|
|
||||||
return test_info->impl()->should_run();
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
// Name of the test case.
|
|
||||||
internal::String name_;
|
|
||||||
// Comment on the test case.
|
|
||||||
internal::String comment_;
|
|
||||||
// List of TestInfos.
|
|
||||||
internal::List<TestInfo*>* test_info_list_;
|
|
||||||
// Pointer to the function that sets up the test case.
|
|
||||||
Test::SetUpTestCaseFunc set_up_tc_;
|
|
||||||
// Pointer to the function that tears down the test case.
|
|
||||||
Test::TearDownTestCaseFunc tear_down_tc_;
|
|
||||||
// True iff any test in this test case should run.
|
|
||||||
bool should_run_;
|
|
||||||
// Elapsed time, in milliseconds.
|
|
||||||
internal::TimeInMillis elapsed_time_;
|
|
||||||
|
|
||||||
// We disallow copying TestCases.
|
|
||||||
GTEST_DISALLOW_COPY_AND_ASSIGN_(TestCase);
|
|
||||||
};
|
|
||||||
|
|
||||||
namespace internal {
|
|
||||||
|
|
||||||
// Class UnitTestOptions.
|
// Class UnitTestOptions.
|
||||||
//
|
//
|
||||||
// This class contains functions for processing options the user
|
// This class contains functions for processing options the user
|
||||||
|
|
27
src/gtest.cc
27
src/gtest.cc
|
@ -129,6 +129,8 @@
|
||||||
|
|
||||||
namespace testing {
|
namespace testing {
|
||||||
|
|
||||||
|
using internal::TestCase;
|
||||||
|
|
||||||
// Constants.
|
// Constants.
|
||||||
|
|
||||||
// A test whose test case name or test name matches this filter is
|
// A test whose test case name or test name matches this filter is
|
||||||
|
@ -2309,8 +2311,6 @@ void TestInfoImpl::Run() {
|
||||||
impl->set_current_test_info(NULL);
|
impl->set_current_test_info(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace internal
|
|
||||||
|
|
||||||
// class TestCase
|
// class TestCase
|
||||||
|
|
||||||
// Gets the number of successful tests in this test case.
|
// Gets the number of successful tests in this test case.
|
||||||
|
@ -2401,6 +2401,29 @@ void TestCase::ClearResult() {
|
||||||
test_info_list_->ForEach(internal::TestInfoImpl::ClearTestResult);
|
test_info_list_->ForEach(internal::TestInfoImpl::ClearTestResult);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Returns true iff test passed.
|
||||||
|
bool TestCase::TestPassed(const TestInfo * test_info) {
|
||||||
|
const internal::TestInfoImpl* const impl = test_info->impl();
|
||||||
|
return impl->should_run() && impl->result()->Passed();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns true iff test failed.
|
||||||
|
bool TestCase::TestFailed(const TestInfo * test_info) {
|
||||||
|
const internal::TestInfoImpl* const impl = test_info->impl();
|
||||||
|
return impl->should_run() && impl->result()->Failed();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns true iff test is disabled.
|
||||||
|
bool TestCase::TestDisabled(const TestInfo * test_info) {
|
||||||
|
return test_info->impl()->is_disabled();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Returns true if the given test should run.
|
||||||
|
bool TestCase::ShouldRunTest(const TestInfo *test_info) {
|
||||||
|
return test_info->impl()->should_run();
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace internal
|
||||||
|
|
||||||
// class UnitTestEventListenerInterface
|
// class UnitTestEventListenerInterface
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ gtest_output_test_.cc:#: error: Value of: false
|
||||||
Expected: true
|
Expected: true
|
||||||
gtest_output_test_.cc:#: error: Value of: 3
|
gtest_output_test_.cc:#: error: Value of: 3
|
||||||
Expected: 2
|
Expected: 2
|
||||||
[==========] Running 57 tests from 26 test cases.
|
[==========] Running 61 tests from 27 test cases.
|
||||||
[----------] Global test environment set-up.
|
[----------] Global test environment set-up.
|
||||||
FooEnvironment::SetUp() called.
|
FooEnvironment::SetUp() called.
|
||||||
BarEnvironment::SetUp() called.
|
BarEnvironment::SetUp() called.
|
||||||
|
@ -186,7 +186,7 @@ Expected failure #2, in TearDown().
|
||||||
gtest_output_test_.cc:#: error: Failed
|
gtest_output_test_.cc:#: error: Failed
|
||||||
Expected failure #3, in the test fixture d'tor.
|
Expected failure #3, in the test fixture d'tor.
|
||||||
[ FAILED ] ExceptionInSetUpTest.ExceptionInSetUp
|
[ FAILED ] ExceptionInSetUpTest.ExceptionInSetUp
|
||||||
[----------] 1 test from ExceptionInTestFunctionTest
|
[----------] 2 tests from ExceptionInTestFunctionTest
|
||||||
[ RUN ] ExceptionInTestFunctionTest.SEH
|
[ RUN ] ExceptionInTestFunctionTest.SEH
|
||||||
(expecting 3 failures)
|
(expecting 3 failures)
|
||||||
unknown file: error: Exception thrown with code 0xc0000005 in the test body.
|
unknown file: error: Exception thrown with code 0xc0000005 in the test body.
|
||||||
|
@ -195,6 +195,20 @@ Expected failure #2, in TearDown().
|
||||||
gtest_output_test_.cc:#: error: Failed
|
gtest_output_test_.cc:#: error: Failed
|
||||||
Expected failure #3, in the test fixture d'tor.
|
Expected failure #3, in the test fixture d'tor.
|
||||||
[ FAILED ] ExceptionInTestFunctionTest.SEH
|
[ FAILED ] ExceptionInTestFunctionTest.SEH
|
||||||
|
[ RUN ] ExceptionInTestFunctionTest.CppException
|
||||||
|
unknown file: error: Exception thrown with code 0xe06d7363 in the test body.
|
||||||
|
gtest_output_test_.cc:#: error: Failed
|
||||||
|
Expected failure #2, in TearDown().
|
||||||
|
gtest_output_test_.cc:#: error: Failed
|
||||||
|
Expected failure #3, in the test fixture d'tor.
|
||||||
|
[ FAILED ] ExceptionInTestFunctionTest.CppException
|
||||||
|
[----------] 1 test from ExceptionInTearDownTest
|
||||||
|
[ RUN ] ExceptionInTearDownTest.ExceptionInTearDown
|
||||||
|
(expecting 2 failures)
|
||||||
|
unknown file: error: Exception thrown with code 0xe06d7363 in TearDown().
|
||||||
|
gtest_output_test_.cc:#: error: Failed
|
||||||
|
Expected failure #2, in the test fixture d'tor.
|
||||||
|
[ FAILED ] ExceptionInTearDownTest.ExceptionInTearDown
|
||||||
[----------] 4 tests from MixedUpTestCaseTest
|
[----------] 4 tests from MixedUpTestCaseTest
|
||||||
[ RUN ] MixedUpTestCaseTest.FirstTestFromNamespaceFoo
|
[ RUN ] MixedUpTestCaseTest.FirstTestFromNamespaceFoo
|
||||||
[ OK ] MixedUpTestCaseTest.FirstTestFromNamespaceFoo
|
[ OK ] MixedUpTestCaseTest.FirstTestFromNamespaceFoo
|
||||||
|
@ -259,7 +273,7 @@ test DefinedUsingTEST is defined using TEST. You probably
|
||||||
want to change the TEST to TEST_F or move it to another test
|
want to change the TEST to TEST_F or move it to another test
|
||||||
case.
|
case.
|
||||||
[ FAILED ] TEST_before_TEST_F_in_same_test_case.DefinedUsingTEST_FAndShouldFail
|
[ FAILED ] TEST_before_TEST_F_in_same_test_case.DefinedUsingTEST_FAndShouldFail
|
||||||
[----------] 7 tests from ExpectNonfatalFailureTest
|
[----------] 8 tests from ExpectNonfatalFailureTest
|
||||||
[ RUN ] ExpectNonfatalFailureTest.CanReferenceGlobalVariables
|
[ RUN ] ExpectNonfatalFailureTest.CanReferenceGlobalVariables
|
||||||
[ OK ] ExpectNonfatalFailureTest.CanReferenceGlobalVariables
|
[ OK ] ExpectNonfatalFailureTest.CanReferenceGlobalVariables
|
||||||
[ RUN ] ExpectNonfatalFailureTest.CanReferenceLocalVariables
|
[ RUN ] ExpectNonfatalFailureTest.CanReferenceLocalVariables
|
||||||
|
@ -298,7 +312,12 @@ Expected fatal failure.
|
||||||
gtest.cc:#: error: Expected: 1 non-fatal failure
|
gtest.cc:#: error: Expected: 1 non-fatal failure
|
||||||
Actual: 0 failures
|
Actual: 0 failures
|
||||||
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenStatementReturns
|
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenStatementReturns
|
||||||
[----------] 7 tests from ExpectFatalFailureTest
|
[ RUN ] ExpectNonfatalFailureTest.FailsWhenStatementThrows
|
||||||
|
(expecting a failure)
|
||||||
|
gtest.cc:#: error: Expected: 1 non-fatal failure
|
||||||
|
Actual: 0 failures
|
||||||
|
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenStatementThrows
|
||||||
|
[----------] 8 tests from ExpectFatalFailureTest
|
||||||
[ RUN ] ExpectFatalFailureTest.CanReferenceGlobalVariables
|
[ RUN ] ExpectFatalFailureTest.CanReferenceGlobalVariables
|
||||||
[ OK ] ExpectFatalFailureTest.CanReferenceGlobalVariables
|
[ OK ] ExpectFatalFailureTest.CanReferenceGlobalVariables
|
||||||
[ RUN ] ExpectFatalFailureTest.CanReferenceLocalStaticVariables
|
[ RUN ] ExpectFatalFailureTest.CanReferenceLocalStaticVariables
|
||||||
|
@ -337,6 +356,11 @@ Expected non-fatal failure.
|
||||||
gtest.cc:#: error: Expected: 1 fatal failure
|
gtest.cc:#: error: Expected: 1 fatal failure
|
||||||
Actual: 0 failures
|
Actual: 0 failures
|
||||||
[ FAILED ] ExpectFatalFailureTest.FailsWhenStatementReturns
|
[ FAILED ] ExpectFatalFailureTest.FailsWhenStatementReturns
|
||||||
|
[ RUN ] ExpectFatalFailureTest.FailsWhenStatementThrows
|
||||||
|
(expecting a failure)
|
||||||
|
gtest.cc:#: error: Expected: 1 fatal failure
|
||||||
|
Actual: 0 failures
|
||||||
|
[ FAILED ] ExpectFatalFailureTest.FailsWhenStatementThrows
|
||||||
[----------] 2 tests from TypedTest/0, where TypeParam = int
|
[----------] 2 tests from TypedTest/0, where TypeParam = int
|
||||||
[ RUN ] TypedTest/0.Success
|
[ RUN ] TypedTest/0.Success
|
||||||
[ OK ] TypedTest/0.Success
|
[ OK ] TypedTest/0.Success
|
||||||
|
@ -460,9 +484,9 @@ Expected non-fatal failure.
|
||||||
FooEnvironment::TearDown() called.
|
FooEnvironment::TearDown() called.
|
||||||
gtest_output_test_.cc:#: error: Failed
|
gtest_output_test_.cc:#: error: Failed
|
||||||
Expected fatal failure.
|
Expected fatal failure.
|
||||||
[==========] 57 tests from 26 test cases ran.
|
[==========] 61 tests from 27 test cases ran.
|
||||||
[ PASSED ] 21 tests.
|
[ PASSED ] 21 tests.
|
||||||
[ FAILED ] 36 tests, listed below:
|
[ FAILED ] 40 tests, listed below:
|
||||||
[ FAILED ] FatalFailureTest.FatalFailureInSubroutine
|
[ FAILED ] FatalFailureTest.FatalFailureInSubroutine
|
||||||
[ FAILED ] FatalFailureTest.FatalFailureInNestedSubroutine
|
[ FAILED ] FatalFailureTest.FatalFailureInNestedSubroutine
|
||||||
[ FAILED ] FatalFailureTest.NonfatalFailureInSubroutine
|
[ FAILED ] FatalFailureTest.NonfatalFailureInSubroutine
|
||||||
|
@ -479,6 +503,8 @@ Expected fatal failure.
|
||||||
[ FAILED ] ExceptionInFixtureCtorTest.ExceptionInFixtureCtor
|
[ FAILED ] ExceptionInFixtureCtorTest.ExceptionInFixtureCtor
|
||||||
[ FAILED ] ExceptionInSetUpTest.ExceptionInSetUp
|
[ FAILED ] ExceptionInSetUpTest.ExceptionInSetUp
|
||||||
[ FAILED ] ExceptionInTestFunctionTest.SEH
|
[ FAILED ] ExceptionInTestFunctionTest.SEH
|
||||||
|
[ FAILED ] ExceptionInTestFunctionTest.CppException
|
||||||
|
[ FAILED ] ExceptionInTearDownTest.ExceptionInTearDown
|
||||||
[ FAILED ] MixedUpTestCaseTest.ThisShouldFail
|
[ FAILED ] MixedUpTestCaseTest.ThisShouldFail
|
||||||
[ FAILED ] MixedUpTestCaseTest.ThisShouldFailToo
|
[ FAILED ] MixedUpTestCaseTest.ThisShouldFailToo
|
||||||
[ FAILED ] MixedUpTestCaseWithSameTestNameTest.TheSecondTestWithThisNameShouldFail
|
[ FAILED ] MixedUpTestCaseWithSameTestNameTest.TheSecondTestWithThisNameShouldFail
|
||||||
|
@ -488,10 +514,12 @@ Expected fatal failure.
|
||||||
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenThereAreTwoNonfatalFailures
|
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenThereAreTwoNonfatalFailures
|
||||||
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenThereIsOneFatalFailure
|
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenThereIsOneFatalFailure
|
||||||
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenStatementReturns
|
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenStatementReturns
|
||||||
|
[ FAILED ] ExpectNonfatalFailureTest.FailsWhenStatementThrows
|
||||||
[ FAILED ] ExpectFatalFailureTest.FailsWhenThereIsNoFatalFailure
|
[ FAILED ] ExpectFatalFailureTest.FailsWhenThereIsNoFatalFailure
|
||||||
[ FAILED ] ExpectFatalFailureTest.FailsWhenThereAreTwoFatalFailures
|
[ FAILED ] ExpectFatalFailureTest.FailsWhenThereAreTwoFatalFailures
|
||||||
[ FAILED ] ExpectFatalFailureTest.FailsWhenThereIsOneNonfatalFailure
|
[ FAILED ] ExpectFatalFailureTest.FailsWhenThereIsOneNonfatalFailure
|
||||||
[ FAILED ] ExpectFatalFailureTest.FailsWhenStatementReturns
|
[ FAILED ] ExpectFatalFailureTest.FailsWhenStatementReturns
|
||||||
|
[ FAILED ] ExpectFatalFailureTest.FailsWhenStatementThrows
|
||||||
[ FAILED ] TypedTest/0.Failure, where TypeParam = int
|
[ FAILED ] TypedTest/0.Failure, where TypeParam = int
|
||||||
[ FAILED ] Unsigned/TypedTestP/0.Failure, where TypeParam = unsigned char
|
[ FAILED ] Unsigned/TypedTestP/0.Failure, where TypeParam = unsigned char
|
||||||
[ FAILED ] Unsigned/TypedTestP/1.Failure, where TypeParam = unsigned int
|
[ FAILED ] Unsigned/TypedTestP/1.Failure, where TypeParam = unsigned int
|
||||||
|
@ -500,7 +528,7 @@ Expected fatal failure.
|
||||||
[ FAILED ] ExpectFailureTest.ExpectFatalFailureOnAllThreads
|
[ FAILED ] ExpectFailureTest.ExpectFatalFailureOnAllThreads
|
||||||
[ FAILED ] ExpectFailureTest.ExpectNonFatalFailureOnAllThreads
|
[ FAILED ] ExpectFailureTest.ExpectNonFatalFailureOnAllThreads
|
||||||
|
|
||||||
36 FAILED TESTS
|
40 FAILED TESTS
|
||||||
YOU HAVE 1 DISABLED TEST
|
YOU HAVE 1 DISABLED TEST
|
||||||
|
|
||||||
Note: Google Test filter = FatalFailureTest.*:LoggingTest.*
|
Note: Google Test filter = FatalFailureTest.*:LoggingTest.*
|
||||||
|
|
Loading…
Reference in New Issue
Block a user