// File: /workspace/github_cpp_makefile_star2_O3/ahupowerdns[P]mcounter/./ext/doctest.h
// Function: doctest::(anonymous namespace)::JUnitReporter::test_run_end(doctest::TestRunStats const&)
void test_run_end(const TestRunStats& p) override {
            // remove .exe extension - mainly to have the same output on UNIX and Windows
            std::string binary_name = skipPathFromFilename(opt.binary_name.c_str());
#ifdef DOCTEST_PLATFORM_WINDOWS
            if(binary_name.rfind(".exe") != std::string::npos)
                binary_name = binary_name.substr(0, binary_name.length() - 4);
#endif // DOCTEST_PLATFORM_WINDOWS
            xml.startElement("testsuites");
            xml.startElement("testsuite").writeAttribute("name", binary_name)
                    .writeAttribute("errors", testCaseData.totalErrors)
                    .writeAttribute("failures", testCaseData.totalFailures)
                    .writeAttribute("tests", p.numAsserts);
            if(opt.no_time_in_output == false) {
                xml.writeAttribute("time", testCaseData.totalSeconds);
                xml.writeAttribute("timestamp", JUnitTestCaseData::getCurrentTimestamp());
            }
            if(opt.no_version == false)
                xml.writeAttribute("doctest_version", DOCTEST_VERSION_STR);

            for(const auto& testCase : testCaseData.testcases) {
                xml.startElement("testcase")
                    .writeAttribute("classname", testCase.classname)
                    .writeAttribute("name", testCase.name);
                if(opt.no_time_in_output == false)
                    xml.writeAttribute("time", testCase.time);
                // This is not ideal, but it should be enough to mimic gtest's junit output.
                xml.writeAttribute("status", "run");

                for(const auto& failure : testCase.failures) {
                    xml.scopedElement("failure")
                        .writeAttribute("message", failure.message)
                        .writeAttribute("type", failure.type)
                        .writeText(failure.details, false);
                }

                for(const auto& error : testCase.errors) {
                    xml.scopedElement("error")
                        .writeAttribute("message", error.message)
                        .writeText(error.details);
                }

                xml.endElement();
            }
            xml.endElement();
            xml.endElement();
        }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xf8, %rsp
movq %rsi, %rbx
movq %rdi, 0x78(%rsp)
movq 0xc0(%rdi), %rdi
cmpb $0x0, 0x1f(%rdi)
jns 0x11ac0
movq 0x8(%rdi), %rdi
jmp 0x11ac4
addq $0x8, %rdi
callq 0x6d92
leaq 0xd8(%rsp), %rdi
movq %rsp, %rdx
movq %rax, %rsi
callq 0x16a26
leaq 0x10(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa5a7(%rip), %rsi      # 0x1c093
leaq 0xa5aa(%rip), %rdx      # 0x1c09d
movq %rsp, %rdi
callq 0x16a64
movq 0x78(%rsp), %rax
leaq 0x8(%rax), %r14
movq %rsp, %rsi
movq %r14, %rdi
callq 0x107d8
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x11b2a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa386(%rip), %rsi      # 0x1bec2
leaq 0xa388(%rip), %rdx      # 0x1becb
callq 0x16a64
movq %rsp, %rsi
movq %r14, %rdi
callq 0x107d8
leaq 0x48(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa36d(%rip), %rsi      # 0x1bed0
leaq 0xa36a(%rip), %rdx      # 0x1bed4
leaq 0x38(%rsp), %rdi
callq 0x16a64
leaq 0x38(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
movq %r14, %rdi
callq 0x109d2
leaq 0x68(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa505(%rip), %rsi      # 0x1c09e
leaq 0xa504(%rip), %rdx      # 0x1c0a4
leaq 0x58(%rsp), %rdi
callq 0x16a64
movq 0x78(%rsp), %rax
leaq 0xb8(%rax), %rdx
leaq 0x58(%rsp), %rsi
movq %r14, %rdi
callq 0x108f2
leaq 0x90(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xa448(%rip), %rsi      # 0x1c01e
leaq 0xa449(%rip), %rdx      # 0x1c026
leaq 0x80(%rsp), %rdi
callq 0x16a64
movq 0x78(%rsp), %rax
leaq 0xbc(%rax), %rdx
leaq 0x80(%rsp), %rsi
movq %r14, %rdi
callq 0x108f2
leaq 0xc8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xa48b(%rip), %rsi      # 0x1c0a5
leaq 0xa489(%rip), %rdx      # 0x1c0aa
leaq 0xb8(%rsp), %rdi
callq 0x16a64
addq $0x10, %rbx
leaq 0xb8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x108f2
movq 0xb8(%rsp), %rdi
cmpq %r12, %rdi
je 0x11c62
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x80(%rsp), %rdi
cmpq %r15, %rdi
je 0x11c7f
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x11c9b
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x11cb7
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x11cd2
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x78(%rsp), %rax
movq 0xc0(%rax), %rax
cmpb $0x0, 0x80(%rax)
jne 0x11e19
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa3ae(%rip), %rsi      # 0x1c0ab
leaq 0xa3ab(%rip), %rdx      # 0x1c0af
callq 0x16a64
movq 0x78(%rsp), %rax
leaq 0xb0(%rax), %rdx
movq %rsp, %rsi
movq %r14, %rdi
callq 0x11602
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x11d3b
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa361(%rip), %rsi      # 0x1c0b0
leaq 0xa363(%rip), %rdx      # 0x1c0b9
callq 0x16a64
leaq 0xb8(%rsp), %rbx
movq %rbx, %rdi
callq 0x5360
movq %rsp, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x56a0
leaq 0xa373(%rip), %rdx      # 0x1c0f3
leaq 0x80(%rsp), %rbx
movl $0x15, %esi
movq %rbx, %rdi
movq %r15, %rcx
callq 0x52f0
leaq 0x58(%rsp), %r15
leaq 0x68(%rsp), %rax
movq %rax, (%r15)
movq %rbx, %rdi
callq 0x5170
leaq (%rsp,%rax), %rdx
addq $0x80, %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x16a64
leaq 0x38(%rsp), %rsi
leaq 0x58(%rsp), %rdx
movq %r14, %rdi
callq 0x109d2
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x11df1
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x11e0d
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x78(%rsp), %rax
movq 0xc0(%rax), %rax
cmpb $0x0, 0x76(%rax)
jne 0x11e6a
movq %rsp, %rdi
leaq 0x10(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa289(%rip), %rsi      # 0x1c0ba
leaq 0xa291(%rip), %rdx      # 0x1c0c9
callq 0x16a64
leaq 0xa108(%rip), %rdx      # 0x1bf4c
movq %rsp, %rsi
movq %r14, %rdi
callq 0x10ed0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x11e6a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x78(%rsp), %rax
movq 0x98(%rax), %r15
movq 0xa0(%rax), %rax
movq %rax, 0xb0(%rsp)
cmpq %rax, %r15
je 0x1224b
movq %rsp, %rbp
leaq 0x38(%rsp), %r12
leaq 0x58(%rsp), %r13
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rbp, %rdi
leaq 0xa21c(%rip), %rsi      # 0x1c0ca
leaq 0xa21d(%rip), %rdx      # 0x1c0d2
callq 0x16a64
movq %r14, %rdi
movq %rbp, %rsi
callq 0x107d8
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
leaq 0xa1fa(%rip), %rsi      # 0x1c0d3
leaq 0xa1fc(%rip), %rdx      # 0x1c0dc
callq 0x16a64
movq %r14, %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x109d2
leaq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq %r13, %rdi
leaq 0x9fc9(%rip), %rsi      # 0x1bed0
leaq 0x9fc6(%rip), %rdx      # 0x1bed4
callq 0x16a64
leaq 0x20(%r15), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x109d2
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x11f3e
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x11f5a
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x11f75
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x78(%rsp), %rax
movq 0xc0(%rax), %rax
cmpb $0x0, 0x80(%rax)
jne 0x11fd3
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rbp, %rdi
leaq 0xa10e(%rip), %rsi      # 0x1c0ab
leaq 0xa10b(%rip), %rdx      # 0x1c0af
callq 0x16a64
leaq 0x40(%r15), %rdx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x11602
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x11fd3
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rbp, %rdi
leaq 0x9620(%rip), %rsi      # 0x1b606
leaq 0x961f(%rip), %rdx      # 0x1b60c
callq 0x16a64
movq %r14, %rdi
movq %rbp, %rsi
leaq 0x98e1(%rip), %rdx      # 0x1b8e0
callq 0x10ed0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x1201f
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x48(%r15), %rbx
movq %r15, 0xa8(%rsp)
movq 0x50(%r15), %r15
cmpq %r15, %rbx
je 0x12153
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rbp, %rdi
leaq 0xa092(%rip), %rsi      # 0x1c0dd
leaq 0xa092(%rip), %rdx      # 0x1c0e4
callq 0x16a64
movq %r14, 0x80(%rsp)
movq %r14, %rdi
movq %rbp, %rsi
callq 0x107d8
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
leaq 0xa067(%rip), %rsi      # 0x1c0e5
leaq 0xa067(%rip), %rdx      # 0x1c0ec
callq 0x16a64
movq 0x80(%rsp), %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x109d2
leaq 0x68(%rsp), %rax
movq %rax, 0x58(%rsp)
movq %r13, %rdi
leaq 0x9f8f(%rip), %rsi      # 0x1c040
leaq 0x9f8c(%rip), %rdx      # 0x1c044
callq 0x16a64
addq $0x20, %rbx
movq 0x80(%rsp), %rdi
movq %r13, %rsi
movq %rbx, %rdx
callq 0x109d2
addq $0x20, %rbx
leaq 0x80(%rsp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x116e4
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x12106
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x12122
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x80(%rsp), %rdi
callq 0x106a8
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x1214a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
addq $0x20, %rbx
jmp 0x1202f
movq 0xa8(%rsp), %rax
movq 0x60(%rax), %rbx
movq 0x68(%rax), %r15
cmpq %r15, %rbx
je 0x12229
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq %rbp, %rdi
leaq 0x9f6e(%rip), %rsi      # 0x1c0ed
leaq 0x9f6c(%rip), %rdx      # 0x1c0f2
callq 0x16a64
movq %r14, 0x58(%rsp)
movq %r14, %rdi
movq %rbp, %rsi
callq 0x107d8
leaq 0x48(%rsp), %rax
movq %rax, 0x38(%rsp)
movq %r12, %rdi
leaq 0x9f36(%rip), %rsi      # 0x1c0e5
leaq 0x9f36(%rip), %rdx      # 0x1c0ec
callq 0x16a64
movq 0x58(%rsp), %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x109d2
addq $0x40, %rbx
movq %r13, %rdi
movq %rbx, %rsi
movl $0x1, %edx
callq 0x116e4
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x121fb
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x58(%rsp), %rdi
callq 0x106a8
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x12220
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
addq $0x20, %rbx
jmp 0x12163
movq %r14, %rdi
callq 0x106be
movq 0xa8(%rsp), %r15
addq $0x78, %r15
cmpq 0xb0(%rsp), %r15
jne 0x11e9b
movq %r14, %rdi
callq 0x106be
movq %r14, %rdi
callq 0x106be
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1227c
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x53d0
addq $0xf8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x122b2
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x122b2
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x12486
movq 0x48(%rsp), %rsi
jmp 0x1247e
jmp 0x12365
jmp 0x123f5
jmp 0x123f5
jmp 0x12365
jmp 0x123f5
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
cmpq %r12, %rdi
je 0x1230f
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x1230f
jmp 0x1230c
movq %rax, %rbx
movq 0x80(%rsp), %rdi
cmpq %r15, %rdi
je 0x12377
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x12377
jmp 0x12374
jmp 0x12374
jmp 0x1236f
jmp 0x1236f
jmp 0x12365
jmp 0x12365
jmp 0x123f5
jmp 0x12365
jmp 0x123f5
jmp 0x123f5
jmp 0x123f5
jmp 0x12365
jmp 0x123f5
jmp 0x123f5
jmp 0x12365
jmp 0x123f5
jmp 0x12365
movq %rax, %rbx
jmp 0x1246b
jmp 0x1236f
movq %rax, %rbx
jmp 0x12393
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x12393
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x1246b
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x1246b
movq %rax, %rbx
jmp 0x1241c
movq %rax, %rbx
movq %r14, %rdi
callq 0x106be
jmp 0x1246b
jmp 0x123ed
jmp 0x123f5
movq %rax, %rbx
jmp 0x1245e
jmp 0x123db
movq %rax, %rbx
jmp 0x12442
movq %rax, %rbx
movq %r14, %rdi
callq 0x106be
jmp 0x1246b
movq %rax, %rdi
callq 0x16173
movq %rax, %rbx
jmp 0x12486
movq %rax, %rbx
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x1241c
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x58(%rsp), %rdi
jmp 0x12466
movq %rax, %rbx
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x12442
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x1245e
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x80(%rsp), %rdi
callq 0x106a8
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x12486
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x124a7
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x53d0
movq %rbx, %rdi
callq 0x5620
nop