141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// Copyright 2008 Google Inc.
241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// All Rights Reserved.
341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//
441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// Redistribution and use in source and binary forms, with or without
541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// modification, are permitted provided that the following conditions are
641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// met:
741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//
841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//     * Redistributions of source code must retain the above copyright
941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// notice, this list of conditions and the following disclaimer.
1041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//     * Redistributions in binary form must reproduce the above
1141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// copyright notice, this list of conditions and the following disclaimer
1241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// in the documentation and/or other materials provided with the
1341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// distribution.
1441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//     * Neither the name of Google Inc. nor the names of its
1541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// contributors may be used to endorse or promote products derived from
1641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// this software without specific prior written permission.
1741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//
1841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//
301be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Author: mheule@google.com (Markus Heule)
3141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot//
321be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
3341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot#include "gtest/gtest-test-part.h"
341be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
3541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot#include "gtest/gtest.h"
361be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
3741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabotusing testing::Message;
381be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniausing testing::Test;
391be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniausing testing::TestPartResult;
401be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniausing testing::TestPartResultArray;
411be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
421be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catanianamespace {
431be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
441be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests the TestPartResult class.
451be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
461be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// The test fixture for testing TestPartResult.
471be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniaclass TestPartResultTest : public Test {
481be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania protected:
491be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  TestPartResultTest()
5041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot      : r1_(TestPartResult::kSuccess, "foo/bar.cc", 10, "Success!"),
5141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        r2_(TestPartResult::kNonFatalFailure, "foo/bar.cc", -1, "Failure!"),
5241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        r3_(TestPartResult::kFatalFailure, NULL, -1, "Failure!") {}
531be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
541be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  TestPartResult r1_, r2_, r3_;
551be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania};
561be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
5741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
5841d0579e8de9ef4ff178fc4991043c61a19943f7Brett ChabotTEST_F(TestPartResultTest, ConstructorWorks) {
5941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  Message message;
6041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  message << "something is terribly wrong";
6141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  message << static_cast<const char*>(testing::internal::kStackTraceMarker);
6241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  message << "some unimportant stack trace";
6341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
6441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  const TestPartResult result(TestPartResult::kNonFatalFailure,
6541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                              "some_file.cc",
6641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                              42,
6741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                              message.GetString().c_str());
6841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
6941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_EQ(TestPartResult::kNonFatalFailure, result.type());
7041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_STREQ("some_file.cc", result.file_name());
7141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_EQ(42, result.line_number());
7241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_STREQ(message.GetString().c_str(), result.message());
7341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_STREQ("something is terribly wrong", result.summary());
7441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot}
7541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
7641d0579e8de9ef4ff178fc4991043c61a19943f7Brett ChabotTEST_F(TestPartResultTest, ResultAccessorsWork) {
7741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  const TestPartResult success(TestPartResult::kSuccess,
7841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                               "file.cc",
7941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                               42,
8041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                               "message");
8141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_TRUE(success.passed());
8241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_FALSE(success.failed());
8341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_FALSE(success.nonfatally_failed());
8441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_FALSE(success.fatally_failed());
8541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
8641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  const TestPartResult nonfatal_failure(TestPartResult::kNonFatalFailure,
8741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                                        "file.cc",
8841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                                        42,
8941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                                        "message");
9041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_FALSE(nonfatal_failure.passed());
9141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_TRUE(nonfatal_failure.failed());
9241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_TRUE(nonfatal_failure.nonfatally_failed());
9341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_FALSE(nonfatal_failure.fatally_failed());
9441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
9541d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  const TestPartResult fatal_failure(TestPartResult::kFatalFailure,
9641d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                                     "file.cc",
9741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                                     42,
9841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot                                     "message");
9941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_FALSE(fatal_failure.passed());
10041d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_TRUE(fatal_failure.failed());
10141d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_FALSE(fatal_failure.nonfatally_failed());
10241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_TRUE(fatal_failure.fatally_failed());
10341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot}
10441d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot
1051be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::type().
1061be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, type) {
10741d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_EQ(TestPartResult::kSuccess, r1_.type());
10841d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_EQ(TestPartResult::kNonFatalFailure, r2_.type());
10941d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_EQ(TestPartResult::kFatalFailure, r3_.type());
1101be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1111be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1121be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::file_name().
1131be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, file_name) {
1141be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_STREQ("foo/bar.cc", r1_.file_name());
1151be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_STREQ(NULL, r3_.file_name());
1161be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1171be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1181be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::line_number().
1191be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, line_number) {
1201be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_EQ(10, r1_.line_number());
1211be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_EQ(-1, r2_.line_number());
1221be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1231be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1241be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::message().
1251be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, message) {
1261be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_STREQ("Success!", r1_.message());
1271be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1281be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1291be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::passed().
1301be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, Passed) {
1311be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_TRUE(r1_.passed());
1321be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_FALSE(r2_.passed());
1331be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_FALSE(r3_.passed());
1341be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1351be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1361be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::failed().
1371be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, Failed) {
1381be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_FALSE(r1_.failed());
1391be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_TRUE(r2_.failed());
1401be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_TRUE(r3_.failed());
1411be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1421be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1431be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::fatally_failed().
1441be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, FatallyFailed) {
1451be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_FALSE(r1_.fatally_failed());
1461be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_FALSE(r2_.fatally_failed());
1471be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_TRUE(r3_.fatally_failed());
1481be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1491be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1501be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests TestPartResult::nonfatally_failed().
1511be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultTest, NonfatallyFailed) {
1521be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_FALSE(r1_.nonfatally_failed());
1531be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_TRUE(r2_.nonfatally_failed());
1541be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_FALSE(r3_.nonfatally_failed());
1551be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1561be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1571be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests the TestPartResultArray class.
1581be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1591be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniaclass TestPartResultArrayTest : public Test {
1601be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania protected:
1611be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  TestPartResultArrayTest()
16241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot      : r1_(TestPartResult::kNonFatalFailure, "foo/bar.cc", -1, "Failure 1"),
16341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot        r2_(TestPartResult::kFatalFailure, "foo/bar.cc", -1, "Failure 2") {}
1641be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1651be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  const TestPartResult r1_, r2_;
1661be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania};
1671be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1681be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests that TestPartResultArray initially has size 0.
1691be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultArrayTest, InitialSizeIsZero) {
1701be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  TestPartResultArray results;
1711be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_EQ(0, results.size());
1721be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1731be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1741be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests that TestPartResultArray contains the given TestPartResult
1751be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// after one Append() operation.
1761be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultArrayTest, ContainsGivenResultAfterAppend) {
1771be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  TestPartResultArray results;
1781be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  results.Append(r1_);
1791be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_EQ(1, results.size());
1801be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_STREQ("Failure 1", results.GetTestPartResult(0).message());
1811be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1821be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1831be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests that TestPartResultArray contains the given TestPartResults
1841be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// after two Append() operations.
1851be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultArrayTest, ContainsGivenResultsAfterTwoAppends) {
1861be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  TestPartResultArray results;
1871be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  results.Append(r1_);
1881be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  results.Append(r2_);
1891be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_EQ(2, results.size());
1901be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_STREQ("Failure 1", results.GetTestPartResult(0).message());
1911be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  EXPECT_STREQ("Failure 2", results.GetTestPartResult(1).message());
1921be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
1931be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1941be2c9def7187e4e643c00a31dd9986395795d7dNicolas Cataniatypedef TestPartResultArrayTest TestPartResultArrayDeathTest;
1951be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
1961be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// Tests that the program dies when GetTestPartResult() is called with
1971be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// an invalid index.
1981be2c9def7187e4e643c00a31dd9986395795d7dNicolas CataniaTEST_F(TestPartResultArrayDeathTest, DiesWhenIndexIsOutOfBound) {
1991be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  TestPartResultArray results;
2001be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania  results.Append(r1_);
2011be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
20241d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_DEATH_IF_SUPPORTED(results.GetTestPartResult(-1), "");
20341d0579e8de9ef4ff178fc4991043c61a19943f7Brett Chabot  EXPECT_DEATH_IF_SUPPORTED(results.GetTestPartResult(1), "");
2041be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}
2051be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
2061be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania// TODO(mheule@google.com): Add a test for the class HasNewFatalFailureHelper.
2071be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania
2081be2c9def7187e4e643c00a31dd9986395795d7dNicolas Catania}  // namespace
209