aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2010-06-16 22:47:13 +0000
committerzhanyong.wan <zhanyong.wan@861a406c-534a-0410-8894-cb66d6ee9925>2010-06-16 22:47:13 +0000
commit682c89f7557eb53c7359b6cbf3670c05165f2419 (patch)
tree3a0d849ba9e72f411fbcc0b1b8f1acd880647736 /src
parent985a30360ce4824b65cb35ad55faa0d7c1ad1104 (diff)
downloadgoogletest-682c89f7557eb53c7359b6cbf3670c05165f2419.tar.gz
googletest-682c89f7557eb53c7359b6cbf3670c05165f2419.tar.bz2
googletest-682c89f7557eb53c7359b6cbf3670c05165f2419.zip
Makes gtest report failures in ad hoc test assertions executed before RUN_ALL_TESTS().
Diffstat (limited to 'src')
-rw-r--r--src/gtest-internal-inl.h8
-rw-r--r--src/gtest.cc4
2 files changed, 9 insertions, 3 deletions
diff --git a/src/gtest-internal-inl.h b/src/gtest-internal-inl.h
index 9e63aed7..c5608c99 100644
--- a/src/gtest-internal-inl.h
+++ b/src/gtest-internal-inl.h
@@ -754,9 +754,13 @@ class GTEST_API_ UnitTestImpl {
// doesn't apply there.)
int RunAllTests();
- // Clears the results of all tests, including the ad hoc test.
- void ClearResult() {
+ // Clears the results of all tests, except the ad hoc tests.
+ void ClearNonAdHocTestResult() {
ForEach(test_cases_, TestCase::ClearTestCaseResult);
+ }
+
+ // Clears the results of ad-hoc test assertions.
+ void ClearAdHocTestResult() {
ad_hoc_test_result_.Clear();
}
diff --git a/src/gtest.cc b/src/gtest.cc
index e136a18b..cb2c34c7 100644
--- a/src/gtest.cc
+++ b/src/gtest.cc
@@ -3999,7 +3999,9 @@ int UnitTestImpl::RunAllTests() {
// Repeats forever if the repeat count is negative.
const bool forever = repeat < 0;
for (int i = 0; forever || i != repeat; i++) {
- ClearResult();
+ // We want to preserve failures generated by ad-hoc test
+ // assertions executed before RUN_ALL_TESTS().
+ ClearNonAdHocTestResult();
const TimeInMillis start = GetTimeInMillis();