// File: /workspace/github_cpp_makefile_star2_O1/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 %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdx, %r15
movq %rsi, %r12
movq %rdi, %rbx
leaq 0x60(%rsp), %r13
movq %r13, -0x10(%r13)
leaq 0x1b966(%rip), %rsi     # 0x74471
leaq 0x1b967(%rip), %rdx     # 0x74479
leaq 0x50(%rsp), %rdi
callq 0x15892
cmpb $0x0, 0x83(%r15)
jne 0x590e0
leaq 0x1b93b(%rip), %rsi     # 0x7446c
movl $0xd, %edx
movq %rbx, %rdi
callq 0xd600
leaq 0x38(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x1b949(%rip), %rsi     # 0x74497
leaq 0x1b946(%rip), %rdx     # 0x7449b
leaq 0x28(%rsp), %rdi
callq 0x15892
movq 0x20(%r15), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x4c(%rsp), %rdx
callq 0x208e8
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x58ba4
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58bbb
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x48(%r15), %rax
testq %rax, %rax
je 0x58c56
cmpq $0x0, (%rax)
je 0x58c56
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b8cb(%rip), %rsi     # 0x744ac
leaq 0x1b8cf(%rip), %rdx     # 0x744b7
callq 0x15892
movq 0x48(%r15), %rax
testq %rax, %rax
je 0x58bfb
movq (%rax), %rsi
jmp 0x58bfd
xorl %esi, %esi
leaq 0x8(%rsp), %rdi
leaq 0x4c(%rsp), %rdx
callq 0x208e8
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58c3f
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58c56
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x40(%r15), %rax
testq %rax, %rax
je 0x58cf1
cmpq $0x0, (%rax)
je 0x58cf1
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b83c(%rip), %rsi     # 0x744b8
leaq 0x1b83f(%rip), %rdx     # 0x744c2
callq 0x15892
movq 0x40(%r15), %rax
testq %rax, %rax
je 0x58c96
movq (%rax), %rsi
jmp 0x58c98
xorl %esi, %esi
leaq 0x8(%rsp), %rdi
leaq 0x4c(%rsp), %rdx
callq 0x208e8
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58cda
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58cf1
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1a9a6(%rip), %rsi     # 0x736a6
leaq 0x1a9a3(%rip), %rdx     # 0x736aa
callq 0x15892
movq 0x50(%r15), %rsi
leaq 0x8(%rsp), %rdi
leaq 0x4c(%rsp), %rdx
callq 0x208e8
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58d52
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58d69
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b74b(%rip), %rsi     # 0x744c3
leaq 0x1b748(%rip), %rdx     # 0x744c7
callq 0x15892
movl 0x70(%r15), %eax
leaq 0x4c(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x8(%rsp), %rdi
callq 0x63483
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58dcc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58de3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
cmpb $0x1, 0x3db0f(%rip)     # 0x968f9
jne 0x58e05
leaq 0x1b6d5(%rip), %rsi     # 0x744c8
movl $0x4, %edx
movq %rbx, %rdi
callq 0xd600
jmp 0x590e0
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b666(%rip), %rsi     # 0x7447a
leaq 0x1b665(%rip), %rdx     # 0x74480
callq 0x15892
movzbl 0x80(%r15), %eax
leaq 0x1b6a1(%rip), %rcx     # 0x744d0
leaq 0x1b697(%rip), %rsi     # 0x744cd
testq %rax, %rax
cmovneq %rcx, %rsi
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rcx
movq %rcx, (%rdi)
xorq $0x1, %rax
leaq (%rax,%rax,2), %rax
leaq (%rsi,%rax), %rdx
addq $0x3, %rdx
callq 0x15892
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58e92
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58ea9
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b5c9(%rip), %rsi     # 0x74481
leaq 0x1b5c8(%rip), %rdx     # 0x74487
callq 0x15892
leaq 0x90(%r15), %rdi
cmpb $0x1, 0x80(%r15)
movq %rdi, 0x70(%rsp)
jne 0x58ef5
callq 0x51814
leaq 0x1b56d(%rip), %rcx     # 0x74453
leaq 0x1b59b(%rip), %r13     # 0x74488
testb %al, %al
cmovneq %rcx, %r13
jmp 0x58efc
leaq 0x1b5d8(%rip), %r13     # 0x744d4
leaq 0x8(%rsp), %rbp
leaq 0x18(%rsp), %rax
movq %rax, (%rbp)
movq %r13, %rdi
callq 0xd210
leaq (%rax,%r13), %rdx
movq %rbp, %rdi
movq %r13, %rsi
callq 0x15892
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
leaq 0x60(%rsp), %r13
je 0x58f59
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58f70
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1a69f(%rip), %rsi     # 0x7361e
leaq 0x1a69c(%rip), %rdx     # 0x73622
callq 0x15892
movq 0x108(%r15), %rsi
leaq 0x8(%rsp), %rdi
callq 0x56733
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x58fcf
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x58fe6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b46d(%rip), %rsi     # 0x74462
leaq 0x1b46f(%rip), %rdx     # 0x7446b
callq 0x15892
movq 0x100(%r15), %rsi
leaq 0x8(%rsp), %rdi
callq 0x56887
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x59045
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x5905c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
leaq 0x28(%rsp), %rdi
movq %r14, (%rdi)
leaq 0x1b427(%rip), %rsi     # 0x74492
leaq 0x1b429(%rip), %rdx     # 0x7449b
callq 0x15892
leaq 0x8(%rsp), %rdi
leaq 0x4c(%rsp), %rdx
movq %r12, %rsi
callq 0x208e8
leaq 0x50(%rsp), %rsi
leaq 0x28(%rsp), %rdx
leaq 0x8(%rsp), %rcx
movq %rbx, %rdi
callq 0x5763a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x590bc
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x590d3
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
movq 0x70(%rsp), %rsi
callq 0x583b4
movq 0x50(%rsp), %rdi
cmpq %r13, %rdi
je 0x590f7
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x5916b
jmp 0x59138
jmp 0x5916b
jmp 0x59138
jmp 0x59189
jmp 0x5916b
jmp 0x59189
jmp 0x59138
jmp 0x5916b
jmp 0x59189
jmp 0x59138
jmp 0x5916b
jmp 0x59189
jmp 0x59138
jmp 0x5916b
jmp 0x59189
jmp 0x59138
jmp 0x5916b
jmp 0x59189
jmp 0x59138
jmp 0x5916b
jmp 0x59189
jmp 0x59138
jmp 0x5916b
jmp 0x59189
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x5916e
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x5916e
jmp 0x5916b
jmp 0x59189
movq %rax, %rbx
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
jmp 0x59145
movq %rax, %rbx
movq 0x28(%rsp), %rdi
cmpq %r14, %rdi
je 0x5918c
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xd530
jmp 0x5918c
jmp 0x59189
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x591a8
movq 0x60(%rsp), %rsi
incq %rsi
callq 0xd530
movq %rbx, %rdi
callq 0xda70