summaryrefslogtreecommitdiffstats
path: root/googletest/test/gtest_unittest.cc
diff options
context:
space:
mode:
authorJae Heon Lee <jaeheonlee@google.com>2018-05-07 21:09:37 (GMT)
committerJae Heon Lee <jaeheonlee@google.com>2018-05-07 21:09:37 (GMT)
commitec5ad0f8698881ea99b2fcda8c244b876b334afe (patch)
treee3d74401191c8e202cd02c7ca74a53bdbec7654e /googletest/test/gtest_unittest.cc
parent045e7f9ee4f969ac1a3fe428f79c4b880f0aff43 (diff)
downloadgoogletest-ec5ad0f8698881ea99b2fcda8c244b876b334afe.zip
googletest-ec5ad0f8698881ea99b2fcda8c244b876b334afe.tar.gz
googletest-ec5ad0f8698881ea99b2fcda8c244b876b334afe.tar.bz2
Fix the bug where ad_hoc_test_result() functions of UnitTest and TestCase objects would return failures registered at TestCase and UnitTest scopes, respectively.
Diffstat (limited to 'googletest/test/gtest_unittest.cc')
-rw-r--r--googletest/test/gtest_unittest.cc22
1 files changed, 22 insertions, 0 deletions
diff --git a/googletest/test/gtest_unittest.cc b/googletest/test/gtest_unittest.cc
index 58995a4..8dc8932 100644
--- a/googletest/test/gtest_unittest.cc
+++ b/googletest/test/gtest_unittest.cc
@@ -7748,3 +7748,25 @@ TEST(SkipPrefixTest, DoesNotSkipWhenPrefixDoesNotMatch) {
EXPECT_FALSE(SkipPrefix("world!", &p));
EXPECT_EQ(str, p);
}
+
+// Tests ad_hoc_test_result().
+
+class AdHocTestResultTest : public testing::Test {
+ protected:
+ static void SetUpTestCase() {
+ FAIL() << "A failure happened inside SetUpTestCase().";
+ }
+};
+
+TEST_F(AdHocTestResultTest, AdHocTestResultForTestCaseShowsFailure) {
+ const testing::TestResult& test_result = testing::UnitTest::GetInstance()
+ ->current_test_case()
+ ->ad_hoc_test_result();
+ EXPECT_TRUE(test_result.Failed());
+}
+
+TEST_F(AdHocTestResultTest, AdHocTestResultTestForUnitTestDoesNotShowFailure) {
+ const testing::TestResult& test_result =
+ testing::UnitTest::GetInstance()->ad_hoc_test_result();
+ EXPECT_FALSE(test_result.Failed());
+}