proxygen
testing::internal::XmlUnitTestResultPrinter Class Reference
Inheritance diagram for testing::internal::XmlUnitTestResultPrinter:
testing::EmptyTestEventListener testing::EmptyTestEventListener testing::EmptyTestEventListener testing::TestEventListener testing::TestEventListener testing::TestEventListener testing::TestEventListener testing::TestEventListener testing::TestEventListener testing::TestEventListener testing::TestEventListener testing::TestEventListener

Public Member Functions

 XmlUnitTestResultPrinter (const char *output_file)
 
virtual void OnTestIterationEnd (const UnitTest &unit_test, int iteration)
 
 XmlUnitTestResultPrinter (const char *output_file)
 
virtual void OnTestIterationEnd (const UnitTest &unit_test, int iteration)
 
 XmlUnitTestResultPrinter (const char *output_file)
 
virtual void OnTestIterationEnd (const UnitTest &unit_test, int iteration)
 
- Public Member Functions inherited from testing::EmptyTestEventListener
virtual void OnTestProgramStart (const UnitTest &)
 
virtual void OnTestIterationStart (const UnitTest &, int)
 
virtual void OnEnvironmentsSetUpStart (const UnitTest &)
 
virtual void OnEnvironmentsSetUpEnd (const UnitTest &)
 
virtual void OnTestCaseStart (const TestCase &)
 
virtual void OnTestStart (const TestInfo &)
 
virtual void OnTestPartResult (const TestPartResult &)
 
virtual void OnTestEnd (const TestInfo &)
 
virtual void OnTestCaseEnd (const TestCase &)
 
virtual void OnEnvironmentsTearDownStart (const UnitTest &)
 
virtual void OnEnvironmentsTearDownEnd (const UnitTest &)
 
virtual void OnTestProgramEnd (const UnitTest &)
 
virtual void OnTestProgramStart (const UnitTest &)
 
virtual void OnTestIterationStart (const UnitTest &, int)
 
virtual void OnEnvironmentsSetUpStart (const UnitTest &)
 
virtual void OnEnvironmentsSetUpEnd (const UnitTest &)
 
virtual void OnTestCaseStart (const TestCase &)
 
virtual void OnTestStart (const TestInfo &)
 
virtual void OnTestPartResult (const TestPartResult &)
 
virtual void OnTestEnd (const TestInfo &)
 
virtual void OnTestCaseEnd (const TestCase &)
 
virtual void OnEnvironmentsTearDownStart (const UnitTest &)
 
virtual void OnEnvironmentsTearDownEnd (const UnitTest &)
 
virtual void OnTestProgramEnd (const UnitTest &)
 
virtual void OnTestProgramStart (const UnitTest &)
 
virtual void OnTestIterationStart (const UnitTest &, int)
 
virtual void OnEnvironmentsSetUpStart (const UnitTest &)
 
virtual void OnEnvironmentsSetUpEnd (const UnitTest &)
 
virtual void OnTestCaseStart (const TestCase &)
 
virtual void OnTestStart (const TestInfo &)
 
virtual void OnTestPartResult (const TestPartResult &)
 
virtual void OnTestEnd (const TestInfo &)
 
virtual void OnTestCaseEnd (const TestCase &)
 
virtual void OnEnvironmentsTearDownStart (const UnitTest &)
 
virtual void OnEnvironmentsTearDownEnd (const UnitTest &)
 
virtual void OnTestProgramEnd (const UnitTest &)
 
- Public Member Functions inherited from testing::TestEventListener
virtual ~TestEventListener ()
 
virtual ~TestEventListener ()
 
virtual ~TestEventListener ()
 

Private Member Functions

 GTEST_DISALLOW_COPY_AND_ASSIGN_ (XmlUnitTestResultPrinter)
 
 GTEST_DISALLOW_COPY_AND_ASSIGN_ (XmlUnitTestResultPrinter)
 
 GTEST_DISALLOW_COPY_AND_ASSIGN_ (XmlUnitTestResultPrinter)
 

Static Private Member Functions

static bool IsNormalizableWhitespace (char c)
 
static bool IsValidXmlCharacter (char c)
 
static std::string EscapeXml (const std::string &str, bool is_attribute)
 
static std::string RemoveInvalidXmlCharacters (const std::string &str)
 
static std::string EscapeXmlAttribute (const std::string &str)
 
static std::string EscapeXmlText (const char *str)
 
static void OutputXmlAttribute (std::ostream *stream, const std::string &element_name, const std::string &name, const std::string &value)
 
static void OutputXmlCDataSection (::std::ostream *stream, const char *data)
 
static void OutputXmlTestInfo (::std::ostream *stream, const char *test_case_name, const TestInfo &test_info)
 
static void PrintXmlTestCase (::std::ostream *stream, const TestCase &test_case)
 
static void PrintXmlUnitTest (::std::ostream *stream, const UnitTest &unit_test)
 
static std::string TestPropertiesAsXmlAttributes (const TestResult &result)
 
static bool IsNormalizableWhitespace (char c)
 
static bool IsValidXmlCharacter (char c)
 
static std::string EscapeXml (const std::string &str, bool is_attribute)
 
static std::string RemoveInvalidXmlCharacters (const std::string &str)
 
static std::string EscapeXmlAttribute (const std::string &str)
 
static std::string EscapeXmlText (const char *str)
 
static void OutputXmlAttribute (std::ostream *stream, const std::string &element_name, const std::string &name, const std::string &value)
 
static void OutputXmlCDataSection (::std::ostream *stream, const char *data)
 
static void OutputXmlTestInfo (::std::ostream *stream, const char *test_case_name, const TestInfo &test_info)
 
static void PrintXmlTestCase (::std::ostream *stream, const TestCase &test_case)
 
static void PrintXmlUnitTest (::std::ostream *stream, const UnitTest &unit_test)
 
static std::string TestPropertiesAsXmlAttributes (const TestResult &result)
 
static bool IsNormalizableWhitespace (char c)
 
static bool IsValidXmlCharacter (char c)
 
static std::string EscapeXml (const std::string &str, bool is_attribute)
 
static std::string RemoveInvalidXmlCharacters (const std::string &str)
 
static std::string EscapeXmlAttribute (const std::string &str)
 
static std::string EscapeXmlText (const char *str)
 
static void OutputXmlAttribute (std::ostream *stream, const std::string &element_name, const std::string &name, const std::string &value)
 
static void OutputXmlCDataSection (::std::ostream *stream, const char *data)
 
static void OutputXmlTestInfo (::std::ostream *stream, const char *test_case_name, const TestInfo &test_info)
 
static void PrintXmlTestCase (::std::ostream *stream, const TestCase &test_case)
 
static void PrintXmlUnitTest (::std::ostream *stream, const UnitTest &unit_test)
 
static std::string TestPropertiesAsXmlAttributes (const TestResult &result)
 

Private Attributes

const std::string output_file_
 

Detailed Description

Definition at line 3349 of file gtest.cc.

Constructor & Destructor Documentation

testing::internal::XmlUnitTestResultPrinter::XmlUnitTestResultPrinter ( const char *  output_file)
explicit

Definition at line 3422 of file gtest.cc.

References output_file_.

Referenced by EscapeXmlText().

3423  : output_file_(output_file) {
3424  if (output_file_.c_str() == NULL || output_file_.empty()) {
3425  fprintf(stderr, "XML output file may not be null\n");
3426  fflush(stderr);
3427  exit(EXIT_FAILURE);
3428  }
3429 }
testing::internal::XmlUnitTestResultPrinter::XmlUnitTestResultPrinter ( const char *  output_file)
explicit
testing::internal::XmlUnitTestResultPrinter::XmlUnitTestResultPrinter ( const char *  output_file)
explicit

Member Function Documentation

std::string testing::internal::XmlUnitTestResultPrinter::EscapeXml ( const std::string str,
bool  is_attribute 
)
staticprivate

Definition at line 3476 of file gtest.cc.

References ch, testing::internal::String::FormatByte(), testing::Message::GetString(), i, IsNormalizableWhitespace(), IsValidXmlCharacter(), and m.

Referenced by EscapeXmlText().

3477  {
3478  Message m;
3479 
3480  for (size_t i = 0; i < str.size(); ++i) {
3481  const char ch = str[i];
3482  switch (ch) {
3483  case '<':
3484  m << "&lt;";
3485  break;
3486  case '>':
3487  m << "&gt;";
3488  break;
3489  case '&':
3490  m << "&amp;";
3491  break;
3492  case '\'':
3493  if (is_attribute)
3494  m << "&apos;";
3495  else
3496  m << '\'';
3497  break;
3498  case '"':
3499  if (is_attribute)
3500  m << "&quot;";
3501  else
3502  m << '"';
3503  break;
3504  default:
3505  if (IsValidXmlCharacter(ch)) {
3506  if (is_attribute && IsNormalizableWhitespace(ch))
3507  m << "&#x" << String::FormatByte(static_cast<unsigned char>(ch))
3508  << ";";
3509  else
3510  m << ch;
3511  }
3512  break;
3513  }
3514  }
3515 
3516  return m.GetString();
3517 }
static bool IsNormalizableWhitespace(char c)
Definition: gtest.cc:3358
static std::string FormatByte(unsigned char value)
Definition: gtest.cc:1973
auto ch
static map< string, int > m
static std::string testing::internal::XmlUnitTestResultPrinter::EscapeXml ( const std::string str,
bool  is_attribute 
)
staticprivate
static std::string testing::internal::XmlUnitTestResultPrinter::EscapeXml ( const std::string str,
bool  is_attribute 
)
staticprivate
static std::string testing::internal::XmlUnitTestResultPrinter::EscapeXmlAttribute ( const std::string str)
inlinestaticprivate

Definition at line 3377 of file gtest.cc.

3377  {
3378  return EscapeXml(str, true);
3379  }
static std::string EscapeXml(const std::string &str, bool is_attribute)
Definition: gtest.cc:3476
static std::string testing::internal::XmlUnitTestResultPrinter::EscapeXmlAttribute ( const std::string str)
inlinestaticprivate

Definition at line 3377 of file gtest.cc.

3377  {
3378  return EscapeXml(str, true);
3379  }
static std::string EscapeXml(const std::string &str, bool is_attribute)
Definition: gtest.cc:3476
static std::string testing::internal::XmlUnitTestResultPrinter::EscapeXmlAttribute ( const std::string str)
inlinestaticprivate

Definition at line 3377 of file gtest.cc.

Referenced by OutputXmlAttribute(), OutputXmlTestInfo(), and TestPropertiesAsXmlAttributes().

3377  {
3378  return EscapeXml(str, true);
3379  }
static std::string EscapeXml(const std::string &str, bool is_attribute)
Definition: gtest.cc:3476
static std::string testing::internal::XmlUnitTestResultPrinter::EscapeXmlText ( const char *  str)
inlinestaticprivate

Definition at line 3382 of file gtest.cc.

References data, testing::TestCase::name(), string, and value.

3382  {
3383  return EscapeXml(str, false);
3384  }
static std::string EscapeXml(const std::string &str, bool is_attribute)
Definition: gtest.cc:3476
testing::internal::XmlUnitTestResultPrinter::GTEST_DISALLOW_COPY_AND_ASSIGN_ ( XmlUnitTestResultPrinter  )
private
testing::internal::XmlUnitTestResultPrinter::GTEST_DISALLOW_COPY_AND_ASSIGN_ ( XmlUnitTestResultPrinter  )
private
testing::internal::XmlUnitTestResultPrinter::GTEST_DISALLOW_COPY_AND_ASSIGN_ ( XmlUnitTestResultPrinter  )
private
static bool testing::internal::XmlUnitTestResultPrinter::IsNormalizableWhitespace ( char  c)
inlinestaticprivate

Definition at line 3358 of file gtest.cc.

Referenced by EscapeXml().

3358  {
3359  return c == 0x9 || c == 0xA || c == 0xD;
3360  }
char c
static bool testing::internal::XmlUnitTestResultPrinter::IsNormalizableWhitespace ( char  c)
inlinestaticprivate

Definition at line 3358 of file gtest.cc.

3358  {
3359  return c == 0x9 || c == 0xA || c == 0xD;
3360  }
char c
static bool testing::internal::XmlUnitTestResultPrinter::IsNormalizableWhitespace ( char  c)
inlinestaticprivate

Definition at line 3358 of file gtest.cc.

3358  {
3359  return c == 0x9 || c == 0xA || c == 0xD;
3360  }
char c
static bool testing::internal::XmlUnitTestResultPrinter::IsValidXmlCharacter ( char  c)
inlinestaticprivate

Definition at line 3363 of file gtest.cc.

References string.

3363  {
3364  return IsNormalizableWhitespace(c) || c >= 0x20;
3365  }
static bool IsNormalizableWhitespace(char c)
Definition: gtest.cc:3358
char c
static bool testing::internal::XmlUnitTestResultPrinter::IsValidXmlCharacter ( char  c)
inlinestaticprivate

Definition at line 3363 of file gtest.cc.

References string.

Referenced by EscapeXml(), and RemoveInvalidXmlCharacters().

3363  {
3364  return IsNormalizableWhitespace(c) || c >= 0x20;
3365  }
static bool IsNormalizableWhitespace(char c)
Definition: gtest.cc:3358
char c
static bool testing::internal::XmlUnitTestResultPrinter::IsValidXmlCharacter ( char  c)
inlinestaticprivate

Definition at line 3363 of file gtest.cc.

References string.

3363  {
3364  return IsNormalizableWhitespace(c) || c >= 0x20;
3365  }
static bool IsNormalizableWhitespace(char c)
Definition: gtest.cc:3358
char c
void testing::internal::XmlUnitTestResultPrinter::OnTestIterationEnd ( const UnitTest unit_test,
int  iteration 
)
virtual

Reimplemented from testing::EmptyTestEventListener.

Definition at line 3432 of file gtest.cc.

References FILE, testing::internal::posix::FOpen(), versiongenerate::output_dir, output_file_, PrintXmlUnitTest(), testing::internal::FilePath::RemoveFileName(), stream, and testing::internal::StringStreamToString().

Referenced by EscapeXmlText().

3433  {
3434  FILE* xmlout = NULL;
3435  FilePath output_file(output_file_);
3436  FilePath output_dir(output_file.RemoveFileName());
3437 
3438  if (output_dir.CreateDirectoriesRecursively()) {
3439  xmlout = posix::FOpen(output_file_.c_str(), "w");
3440  }
3441  if (xmlout == NULL) {
3442  // TODO(wan): report the reason of the failure.
3443  //
3444  // We don't do it for now as:
3445  //
3446  // 1. There is no urgent need for it.
3447  // 2. It's a bit involved to make the errno variable thread-safe on
3448  // all three operating systems (Linux, Windows, and Mac OS).
3449  // 3. To interpret the meaning of errno in a thread-safe way,
3450  // we need the strerror_r() function, which is not available on
3451  // Windows.
3452  fprintf(stderr,
3453  "Unable to open file \"%s\"\n",
3454  output_file_.c_str());
3455  fflush(stderr);
3456  exit(EXIT_FAILURE);
3457  }
3458  std::stringstream stream;
3459  PrintXmlUnitTest(&stream, unit_test);
3460  fprintf(xmlout, "%s", StringStreamToString(&stream).c_str());
3461  fclose(xmlout);
3462 }
FILE * FOpen(const char *path, const char *mode)
Definition: gtest-port.h:2367
StreamCodecFactory stream
static void PrintXmlUnitTest(::std::ostream *stream, const UnitTest &unit_test)
GTEST_API_ std::string StringStreamToString(::std::stringstream *stream)
Definition: gtest.cc:1982
GMockOutputTest ExpectedCall FILE
virtual void testing::internal::XmlUnitTestResultPrinter::OnTestIterationEnd ( const UnitTest unit_test,
int  iteration 
)
virtual

Reimplemented from testing::EmptyTestEventListener.

virtual void testing::internal::XmlUnitTestResultPrinter::OnTestIterationEnd ( const UnitTest unit_test,
int  iteration 
)
virtual

Reimplemented from testing::EmptyTestEventListener.

void testing::internal::XmlUnitTestResultPrinter::OutputXmlAttribute ( std::ostream *  stream,
const std::string element_name,
const std::string name,
const std::string value 
)
staticprivate

Definition at line 3607 of file gtest.cc.

References EscapeXmlAttribute(), testing::GetReservedAttributesForElement(), GTEST_CHECK_, and name.

Referenced by OutputXmlTestInfo(), and testing::internal::PortableLocaltime().

3611  {
3612  const std::vector<std::string>& allowed_names =
3613  GetReservedAttributesForElement(element_name);
3614 
3615  GTEST_CHECK_(std::find(allowed_names.begin(), allowed_names.end(), name) !=
3616  allowed_names.end())
3617  << "Attribute " << name << " is not allowed for element <" << element_name
3618  << ">.";
3619 
3620  *stream << " " << name << "=\"" << EscapeXmlAttribute(value) << "\"";
3621 }
static std::string EscapeXmlAttribute(const std::string &str)
Definition: gtest.cc:3377
static std::vector< std::string > GetReservedAttributesForElement(const std::string &xml_element)
Definition: gtest.cc:2112
const char * name
Definition: http_parser.c:437
#define GTEST_CHECK_(condition)
Definition: gtest-port.h:1295
static const char *const value
Definition: Conv.cpp:50
static void testing::internal::XmlUnitTestResultPrinter::OutputXmlAttribute ( std::ostream *  stream,
const std::string element_name,
const std::string name,
const std::string value 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::OutputXmlAttribute ( std::ostream *  stream,
const std::string element_name,
const std::string name,
const std::string value 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::OutputXmlCDataSection ( ::std::ostream *  stream,
const char *  data 
)
staticprivate
void testing::internal::XmlUnitTestResultPrinter::OutputXmlCDataSection ( ::std::ostream *  stream,
const char *  data 
)
staticprivate

Definition at line 3588 of file gtest.cc.

References data.

Referenced by OutputXmlTestInfo(), and testing::internal::PortableLocaltime().

3589  {
3590  const char* segment = data;
3591  *stream << "<![CDATA[";
3592  for (;;) {
3593  const char* const next_segment = strstr(segment, "]]>");
3594  if (next_segment != NULL) {
3595  stream->write(
3596  segment, static_cast<std::streamsize>(next_segment - segment));
3597  *stream << "]]>]]&gt;<![CDATA[";
3598  segment = next_segment + strlen("]]>");
3599  } else {
3600  *stream << segment;
3601  break;
3602  }
3603  }
3604  *stream << "]]>";
3605 }
static constexpr uint64_t data[1]
Definition: Fingerprint.cpp:43
static void testing::internal::XmlUnitTestResultPrinter::OutputXmlCDataSection ( ::std::ostream *  stream,
const char *  data 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::OutputXmlTestInfo ( ::std::ostream *  stream,
const char *  test_case_name,
const TestInfo test_info 
)
staticprivate
void testing::internal::XmlUnitTestResultPrinter::OutputXmlTestInfo ( ::std::ostream *  stream,
const char *  test_case_name,
const TestInfo test_info 
)
staticprivate

Definition at line 3625 of file gtest.cc.

References testing::TestCase::ad_hoc_test_result(), testing::UnitTest::ad_hoc_test_result(), testing::TestResult::elapsed_time(), testing::TestCase::elapsed_time(), testing::UnitTest::elapsed_time(), EscapeXmlAttribute(), testing::TestPartResult::failed(), testing::TestCase::failed_test_count(), testing::UnitTest::failed_test_count(), testing::TestPartResult::file_name(), testing::internal::FormatCompilerIndependentFileLocation(), testing::internal::FormatEpochTimeInMillisAsIso8601(), testing::internal::FormatTimeInMillisAsSeconds(), testing::UnitTest::GetTestCase(), testing::TestCase::GetTestInfo(), testing::TestResult::GetTestPartResult(), GTEST_FLAG, i, testing::TestInfo::is_reportable(), testing::TestPartResult::line_number(), testing::TestPartResult::message(), testing::TestInfo::name(), testing::TestCase::name(), OutputXmlAttribute(), OutputXmlCDataSection(), PrintXmlTestCase(), PrintXmlUnitTest(), testing::UnitTest::random_seed(), RemoveInvalidXmlCharacters(), testing::TestCase::reportable_disabled_test_count(), testing::UnitTest::reportable_disabled_test_count(), testing::TestCase::reportable_test_count(), testing::UnitTest::reportable_test_count(), testing::TestInfo::result(), testing::TestInfo::should_run(), testing::UnitTest::start_timestamp(), testing::internal::StreamableToString(), string, testing::TestPartResult::summary(), TestPropertiesAsXmlAttributes(), testing::TestResult::total_part_count(), testing::UnitTest::total_test_case_count(), testing::TestCase::total_test_count(), testing::TestInfo::type_param(), and testing::TestInfo::value_param().

Referenced by testing::internal::PortableLocaltime().

3627  {
3628  const TestResult& result = *test_info.result();
3629  const std::string kTestcase = "testcase";
3630 
3631  *stream << " <testcase";
3632  OutputXmlAttribute(stream, kTestcase, "name", test_info.name());
3633 
3634  if (test_info.value_param() != NULL) {
3635  OutputXmlAttribute(stream, kTestcase, "value_param",
3636  test_info.value_param());
3637  }
3638  if (test_info.type_param() != NULL) {
3639  OutputXmlAttribute(stream, kTestcase, "type_param", test_info.type_param());
3640  }
3641 
3642  OutputXmlAttribute(stream, kTestcase, "status",
3643  test_info.should_run() ? "run" : "notrun");
3644  OutputXmlAttribute(stream, kTestcase, "time",
3645  FormatTimeInMillisAsSeconds(result.elapsed_time()));
3646  OutputXmlAttribute(stream, kTestcase, "classname", test_case_name);
3648 
3649  int failures = 0;
3650  for (int i = 0; i < result.total_part_count(); ++i) {
3651  const TestPartResult& part = result.GetTestPartResult(i);
3652  if (part.failed()) {
3653  if (++failures == 1) {
3654  *stream << ">\n";
3655  }
3656  const string location = internal::FormatCompilerIndependentFileLocation(
3657  part.file_name(), part.line_number());
3658  const string summary = location + "\n" + part.summary();
3659  *stream << " <failure message=\""
3660  << EscapeXmlAttribute(summary.c_str())
3661  << "\" type=\"\">";
3662  const string detail = location + "\n" + part.message();
3664  *stream << "</failure>\n";
3665  }
3666  }
3667 
3668  if (failures == 0)
3669  *stream << " />\n";
3670  else
3671  *stream << " </testcase>\n";
3672 }
static std::string EscapeXmlAttribute(const std::string &str)
Definition: gtest.cc:3377
GTEST_API_ std::string FormatTimeInMillisAsSeconds(TimeInMillis ms)
Definition: gtest.cc:3550
static std::string TestPropertiesAsXmlAttributes(const TestResult &result)
Definition: gtest.cc:3741
static void OutputXmlAttribute(std::ostream *stream, const std::string &element_name, const std::string &name, const std::string &value)
Definition: gtest.cc:3607
static std::string RemoveInvalidXmlCharacters(const std::string &str)
Definition: gtest.cc:3522
::std::string FormatCompilerIndependentFileLocation(const char *file, int line)
Definition: gtest-port.cc:898
const char * string
Definition: Conv.cpp:212
static void OutputXmlCDataSection(::std::ostream *stream, const char *data)
Definition: gtest.cc:3588
static void testing::internal::XmlUnitTestResultPrinter::OutputXmlTestInfo ( ::std::ostream *  stream,
const char *  test_case_name,
const TestInfo test_info 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::PrintXmlTestCase ( ::std::ostream *  stream,
const TestCase test_case 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::PrintXmlTestCase ( ::std::ostream *  stream,
const TestCase test_case 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::PrintXmlTestCase ( ::std::ostream *  stream,
const TestCase test_case 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::PrintXmlUnitTest ( ::std::ostream *  stream,
const UnitTest unit_test 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::PrintXmlUnitTest ( ::std::ostream *  stream,
const UnitTest unit_test 
)
staticprivate
static void testing::internal::XmlUnitTestResultPrinter::PrintXmlUnitTest ( ::std::ostream *  stream,
const UnitTest unit_test 
)
staticprivate
static std::string testing::internal::XmlUnitTestResultPrinter::RemoveInvalidXmlCharacters ( const std::string str)
staticprivate
std::string testing::internal::XmlUnitTestResultPrinter::RemoveInvalidXmlCharacters ( const std::string str)
staticprivate

Definition at line 3522 of file gtest.cc.

References IsValidXmlCharacter(), gmock_output_test::output, and string.

Referenced by EscapeXmlText(), and OutputXmlTestInfo().

3523  {
3525  output.reserve(str.size());
3526  for (std::string::const_iterator it = str.begin(); it != str.end(); ++it)
3527  if (IsValidXmlCharacter(*it))
3528  output.push_back(*it);
3529 
3530  return output;
3531 }
const char * string
Definition: Conv.cpp:212
static std::string testing::internal::XmlUnitTestResultPrinter::RemoveInvalidXmlCharacters ( const std::string str)
staticprivate
static std::string testing::internal::XmlUnitTestResultPrinter::TestPropertiesAsXmlAttributes ( const TestResult result)
staticprivate
static std::string testing::internal::XmlUnitTestResultPrinter::TestPropertiesAsXmlAttributes ( const TestResult result)
staticprivate
std::string testing::internal::XmlUnitTestResultPrinter::TestPropertiesAsXmlAttributes ( const TestResult result)
staticprivate

Definition at line 3741 of file gtest.cc.

References ch, folly::netops::close(), folly::netops::connect(), EscapeXmlAttribute(), testing::internal::String::FormatByte(), testing::Message::GetString(), testing::TestResult::GetTestProperty(), GTEST_CHECK_, GTEST_LOG_, i, folly::netops::socket(), and testing::TestResult::test_property_count().

Referenced by OutputXmlTestInfo(), and testing::internal::PortableLocaltime().

3742  {
3743  Message attributes;
3744  for (int i = 0; i < result.test_property_count(); ++i) {
3745  const TestProperty& property = result.GetTestProperty(i);
3746  attributes << " " << property.key() << "="
3747  << "\"" << EscapeXmlAttribute(property.value()) << "\"";
3748  }
3749  return attributes.GetString();
3750 }
static std::string EscapeXmlAttribute(const std::string &str)
Definition: gtest.cc:3377

Member Data Documentation

const std::string testing::internal::XmlUnitTestResultPrinter::output_file_
private

Definition at line 3416 of file gtest.cc.

Referenced by OnTestIterationEnd(), and XmlUnitTestResultPrinter().


The documentation for this class was generated from the following file: