// File: /workspace/github_cpp_makefile_star2_O2/halfflat[P]tinyopt/test/googletest/googletest/src/gtest.cc
// Function: testing::internal::XmlUnitTestResultPrinter::OutputXmlTestInfo(std::ostream*, char const*, testing::TestInfo const&)
void XmlUnitTestResultPrinter::OutputXmlTestInfo(::std::ostream* stream,
                                                 const char* test_suite_name,
                                                 const TestInfo& test_info) {
  const TestResult& result = *test_info.result();
  const std::string kTestsuite = "testcase";

  if (test_info.is_in_another_shard()) {
    return;
  }

  *stream << "    <testcase";
  OutputXmlAttribute(stream, kTestsuite, "name", test_info.name());

  if (test_info.value_param() != nullptr) {
    OutputXmlAttribute(stream, kTestsuite, "value_param",
                       test_info.value_param());
  }
  if (test_info.type_param() != nullptr) {
    OutputXmlAttribute(stream, kTestsuite, "type_param",
                       test_info.type_param());
  }

  OutputXmlAttribute(stream, kTestsuite, "file", test_info.file());
  OutputXmlAttribute(stream, kTestsuite, "line",
                     StreamableToString(test_info.line()));
  if (GTEST_FLAG_GET(list_tests)) {
    *stream << " />\n";
    return;
  }

  OutputXmlAttribute(stream, kTestsuite, "status",
                     test_info.should_run() ? "run" : "notrun");
  OutputXmlAttribute(stream, kTestsuite, "result",
                     test_info.should_run()
                         ? (result.Skipped() ? "skipped" : "completed")
                         : "suppressed");
  OutputXmlAttribute(stream, kTestsuite, "time",
                     FormatTimeInMillisAsSeconds(result.elapsed_time()));
  OutputXmlAttribute(
      stream, kTestsuite, "timestamp",
      FormatEpochTimeInMillisAsIso8601(result.start_timestamp()));
  OutputXmlAttribute(stream, kTestsuite, "classname", test_suite_name);

  OutputXmlTestResult(stream, result);
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
leaq 0x17822(%rip), %rsi     # 0x5c4c1
leaq 0x48(%rsp), %rdi
leaq 0x8(%rsp), %rdx
callq 0x1337a
cmpb $0x0, 0x83(%r15)
jne 0x450b6
leaq 0x177f9(%rip), %rsi     # 0x5c4bc
movq %rbx, %rdi
callq 0xd550
leaq 0x17815(%rip), %rsi     # 0x5c4e7
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
movq 0x20(%r15), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1337a
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
movq 0x48(%r15), %rax
testq %rax, %rax
je 0x44d8e
cmpq $0x0, (%rax)
je 0x44d8e
leaq 0x177c7(%rip), %rsi     # 0x5c4fc
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
movq 0x48(%r15), %rax
testq %rax, %rax
je 0x44d52
movq (%rax), %rsi
jmp 0x44d54
xorl %esi, %esi
leaq 0x28(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1337a
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
movq 0x40(%r15), %rax
testq %rax, %rax
je 0x44dfd
cmpq $0x0, (%rax)
je 0x44dfd
leaq 0x17764(%rip), %rsi     # 0x5c508
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
movq 0x40(%r15), %rax
testq %rax, %rax
je 0x44dc1
movq (%rax), %rsi
jmp 0x44dc3
xorl %esi, %esi
leaq 0x28(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1337a
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
leaq 0x168f2(%rip), %rsi     # 0x5b6f6
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
movq 0x50(%r15), %rsi
leaq 0x28(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1337a
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
leaq 0x176bb(%rip), %rsi     # 0x5c513
leaq 0x8(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1337a
movl 0x70(%r15), %eax
leaq 0x4(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x28(%rsp), %rdi
callq 0x4c0e2
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
cmpb $0x1, 0x3fa7b(%rip)     # 0x84929
jne 0x44ec4
leaq 0x17661(%rip), %rsi     # 0x5c518
movq %rbx, %rdi
callq 0xd550
jmp 0x450b6
leaq 0x175ff(%rip), %rsi     # 0x5c4ca
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
leaq 0x1763f(%rip), %rax     # 0x5c520
leaq 0x17635(%rip), %rsi     # 0x5c51d
cmpb $0x0, 0x80(%r15)
cmovneq %rax, %rsi
leaq 0x28(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1337a
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
leaq 0x1759c(%rip), %rsi     # 0x5c4d1
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
leaq 0x90(%r15), %r12
cmpb $0x1, 0x80(%r15)
jne 0x44f73
movq %r12, %rdi
callq 0x4000c
leaq 0x1753f(%rip), %rcx     # 0x5c4a3
leaq 0x1756d(%rip), %rsi     # 0x5c4d8
testb %al, %al
cmovneq %rcx, %rsi
jmp 0x44f7a
leaq 0x175aa(%rip), %rsi     # 0x5c524
leaq 0x28(%rsp), %rdi
leaq 0x3(%rsp), %rdx
callq 0x1337a
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
leaq 0x166b3(%rip), %rsi     # 0x5b66e
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
movq 0x108(%r15), %rsi
leaq 0x28(%rsp), %rdi
callq 0x43920
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
leaq 0x174a5(%rip), %rsi     # 0x5c4b2
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
movq 0x100(%r15), %rsi
leaq 0x28(%rsp), %rdi
callq 0x439f2
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
leaq 0x17483(%rip), %rsi     # 0x5c4e2
leaq 0x8(%rsp), %rdi
leaq 0x4(%rsp), %rdx
callq 0x1337a
leaq 0x28(%rsp), %rdi
leaq 0x3(%rsp), %rdx
movq %r14, %rsi
callq 0x1337a
leaq 0x48(%rsp), %rsi
leaq 0x8(%rsp), %rdx
leaq 0x28(%rsp), %rcx
movq %rbx, %rdi
callq 0x43ef8
leaq 0x28(%rsp), %rdi
callq 0xdbe8
leaq 0x8(%rsp), %rdi
callq 0xdbe8
movq %rbx, %rdi
movq %r12, %rsi
callq 0x448ae
leaq 0x48(%rsp), %rdi
callq 0xdbe8
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x45113
jmp 0x45104
jmp 0x45113
jmp 0x45104
jmp 0x45124
jmp 0x45113
jmp 0x45124
jmp 0x45104
jmp 0x45113
jmp 0x45124
jmp 0x45104
jmp 0x45113
jmp 0x45124
jmp 0x45104
jmp 0x45113
jmp 0x45124
jmp 0x45104
jmp 0x45113
jmp 0x45124
jmp 0x45104
jmp 0x45113
jmp 0x45124
jmp 0x45104
jmp 0x45113
jmp 0x45124
jmp 0x45104
jmp 0x45113
jmp 0x45124
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0xdbe8
jmp 0x45116
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0xdbe8
jmp 0x45127
jmp 0x45124
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0xdbe8
movq %rbx, %rdi
callq 0xdaa0
nop