// File: /workspace/github_cpp_makefile_star2_O1/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, %r13
movq 0xc0(%rdi), %rdi
cmpb $0x0, 0x1f(%rdi)
jns 0x11b96
movq 0x8(%rdi), %rdi
jmp 0x11b9a
addq $0x8, %rdi
callq 0x6ec0
leaq 0xd8(%rsp), %rdi
leaq 0x8(%rsp), %rdx
movq %rax, %rsi
callq 0x16a84
leaq 0x18(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa579(%rip), %rsi      # 0x1c13d
leaq 0xa57c(%rip), %rdx      # 0x1c147
leaq 0x8(%rsp), %rdi
callq 0x16ac2
leaq 0x8(%r13), %r14
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x1088a
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x11c02
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa29c(%rip), %rsi      # 0x1beb2
leaq 0xa29e(%rip), %rdx      # 0x1bebb
callq 0x16ac2
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x1088a
leaq 0x50(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa281(%rip), %rsi      # 0x1bec0
leaq 0xa27e(%rip), %rdx      # 0x1bec4
leaq 0x40(%rsp), %rdi
callq 0x16ac2
leaq 0x40(%rsp), %rsi
leaq 0xd8(%rsp), %rdx
movq %r14, %rdi
callq 0x10a84
leaq 0x70(%rsp), %rax
movq %rax, -0x10(%rax)
leaq 0xa4d3(%rip), %rsi      # 0x1c148
leaq 0xa4d2(%rip), %rdx      # 0x1c14e
leaq 0x60(%rsp), %rdi
callq 0x16ac2
leaq 0xb8(%r13), %rdx
leaq 0x60(%rsp), %rsi
movq %r14, %rdi
callq 0x109a4
leaq 0x90(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xa41b(%rip), %rsi      # 0x1c0c8
leaq 0xa41c(%rip), %rdx      # 0x1c0d0
leaq 0x80(%rsp), %rdi
callq 0x16ac2
leaq 0xbc(%r13), %rdx
leaq 0x80(%rsp), %rsi
movq %r14, %rdi
callq 0x109a4
leaq 0xc8(%rsp), %r12
movq %r12, -0x10(%r12)
leaq 0xa463(%rip), %rsi      # 0x1c14f
leaq 0xa461(%rip), %rdx      # 0x1c154
leaq 0xb8(%rsp), %rdi
callq 0x16ac2
addq $0x10, %rbx
leaq 0xb8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x109a4
movq 0xb8(%rsp), %rdi
cmpq %r12, %rdi
je 0x11d34
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x80(%rsp), %rdi
cmpq %r15, %rdi
je 0x11d51
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x11d6d
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x11d89
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x11da5
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0xc0(%r13), %rax
cmpb $0x0, 0x80(%rax)
jne 0x11edd
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa388(%rip), %rsi      # 0x1c155
leaq 0xa385(%rip), %rdx      # 0x1c159
callq 0x16ac2
leaq 0xb0(%r13), %rdx
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x116f8
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x11e09
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa33d(%rip), %rsi      # 0x1c15a
leaq 0xa33f(%rip), %rdx      # 0x1c163
callq 0x16ac2
leaq 0xb8(%rsp), %rbx
movq %rbx, %rdi
callq 0x5360
leaq 0x8(%rsp), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0x56a0
leaq 0xa34d(%rip), %rdx      # 0x1c19d
leaq 0x80(%rsp), %rbx
movl $0x15, %esi
movq %rbx, %rdi
movq %r15, %rcx
callq 0x52f0
leaq 0x60(%rsp), %r15
leaq 0x70(%rsp), %rax
movq %rax, (%r15)
movq %rbx, %rdi
callq 0x5170
leaq (%rsp,%rax), %rdx
addq $0x80, %rdx
movq %r15, %rdi
movq %rbx, %rsi
callq 0x16ac2
leaq 0x40(%rsp), %rsi
leaq 0x60(%rsp), %rdx
movq %r14, %rdi
callq 0x10a84
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x11ec1
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x11edd
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0xc0(%r13), %rax
cmpb $0x0, 0x76(%rax)
jne 0x11f3a
leaq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
movq %rax, (%rdi)
leaq 0xa266(%rip), %rsi      # 0x1c164
leaq 0xa26e(%rip), %rdx      # 0x1c173
callq 0x16ac2
leaq 0xa0e5(%rip), %rdx      # 0x1bff6
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
callq 0x10fc6
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x11f3a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x98(%r13), %rbx
movq %r13, 0xb0(%rsp)
movq 0xa0(%r13), %rax
movq %rax, 0xa8(%rsp)
cmpq %rax, %rbx
je 0x1232b
leaq 0x8(%rsp), %rbp
leaq 0x40(%rsp), %r12
leaq 0x60(%rsp), %r13
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
leaq 0xa1f0(%rip), %rsi      # 0x1c174
leaq 0xa1f1(%rip), %rdx      # 0x1c17c
callq 0x16ac2
movq %r14, %rdi
movq %rbp, %rsi
callq 0x1088a
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
movq %r12, %rdi
leaq 0xa1ce(%rip), %rsi      # 0x1c17d
leaq 0xa1d0(%rip), %rdx      # 0x1c186
callq 0x16ac2
movq %r14, %rdi
movq %r12, %rsi
movq %rbx, %rdx
callq 0x10a84
leaq 0x70(%rsp), %rax
movq %rax, 0x60(%rsp)
movq %r13, %rdi
leaq 0x9ee3(%rip), %rsi      # 0x1bec0
leaq 0x9ee0(%rip), %rdx      # 0x1bec4
callq 0x16ac2
leaq 0x20(%rbx), %rdx
movq %r14, %rdi
movq %r13, %rsi
callq 0x10a84
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x12014
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x12030
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1204c
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0xb0(%rsp), %rax
movq 0xc0(%rax), %rax
cmpb $0x0, 0x80(%rax)
jne 0x120af
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
leaq 0xa0dd(%rip), %rsi      # 0x1c155
leaq 0xa0da(%rip), %rdx      # 0x1c159
callq 0x16ac2
leaq 0x40(%rbx), %rdx
movq %r14, %rdi
movq %rbp, %rsi
callq 0x116f8
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x120af
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
leaq 0x9533(%rip), %rsi      # 0x1b5f6
leaq 0x9532(%rip), %rdx      # 0x1b5fc
callq 0x16ac2
movq %r14, %rdi
movq %rbp, %rsi
leaq 0x97f4(%rip), %rdx      # 0x1b8d0
callq 0x10fc6
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x120fd
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x48(%rbx), %r15
movq %rbx, 0xa0(%rsp)
movq 0x50(%rbx), %rbx
cmpq %rbx, %r15
je 0x12233
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
leaq 0xa05d(%rip), %rsi      # 0x1c187
leaq 0xa05d(%rip), %rdx      # 0x1c18e
callq 0x16ac2
movq %r14, 0x80(%rsp)
movq %r14, %rdi
movq %rbp, %rsi
callq 0x1088a
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
movq %r12, %rdi
leaq 0xa032(%rip), %rsi      # 0x1c18f
leaq 0xa032(%rip), %rdx      # 0x1c196
callq 0x16ac2
movq 0x80(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x10a84
leaq 0x70(%rsp), %rax
movq %rax, 0x60(%rsp)
movq %r13, %rdi
leaq 0x9f5a(%rip), %rsi      # 0x1c0ea
leaq 0x9f57(%rip), %rdx      # 0x1c0ee
callq 0x16ac2
addq $0x20, %r15
movq 0x80(%rsp), %rdi
movq %r13, %rsi
movq %r15, %rdx
callq 0x10a84
addq $0x20, %r15
leaq 0x80(%rsp), %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x117da
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x121e5
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x12201
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x80(%rsp), %rdi
callq 0x10758
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x1222a
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
addq $0x20, %r15
jmp 0x1210d
movq 0xa0(%rsp), %rax
movq 0x60(%rax), %r15
movq 0x68(%rax), %rbx
cmpq %rbx, %r15
je 0x12309
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %rbp, %rdi
leaq 0x9f37(%rip), %rsi      # 0x1c197
leaq 0x9f35(%rip), %rdx      # 0x1c19c
callq 0x16ac2
movq %r14, 0x60(%rsp)
movq %r14, %rdi
movq %rbp, %rsi
callq 0x1088a
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
movq %r12, %rdi
leaq 0x9eff(%rip), %rsi      # 0x1c18f
leaq 0x9eff(%rip), %rdx      # 0x1c196
callq 0x16ac2
movq 0x60(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
callq 0x10a84
addq $0x40, %r15
movq %r13, %rdi
movq %r15, %rsi
movl $0x1, %edx
callq 0x117da
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x122dc
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
movq %r13, %rdi
callq 0x10758
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x12300
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
addq $0x20, %r15
jmp 0x12243
movq %r14, %rdi
callq 0x10770
movq 0xa0(%rsp), %rbx
addq $0x78, %rbx
cmpq 0xa8(%rsp), %rbx
jne 0x11f70
movq %r14, %rdi
callq 0x10770
movq %r14, %rdi
callq 0x10770
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1235c
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 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x12392
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x12392
movq %rax, %rbx
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x12526
movq 0x50(%rsp), %rsi
jmp 0x1251e
jmp 0x1242a
jmp 0x12494
jmp 0x12494
jmp 0x1242a
jmp 0x12494
movq %rax, %rbx
movq 0xb8(%rsp), %rdi
cmpq %r12, %rdi
je 0x123e9
movq 0xc8(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x123e9
jmp 0x123e6
movq %rax, %rbx
movq 0x80(%rsp), %rdi
cmpq %r15, %rdi
je 0x1243c
movq 0x90(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x1243c
jmp 0x12439
jmp 0x12439
jmp 0x12434
jmp 0x12434
jmp 0x1242a
jmp 0x1242a
jmp 0x12494
jmp 0x1242a
jmp 0x12494
jmp 0x12494
jmp 0x12494
jmp 0x1242a
jmp 0x12494
jmp 0x12494
jmp 0x1242a
jmp 0x12494
jmp 0x1242a
movq %rax, %rbx
jmp 0x1250a
jmp 0x12434
movq %rax, %rbx
jmp 0x12458
movq %rax, %rbx
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x12458
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x1250a
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
jmp 0x1250a
jmp 0x1247f
movq %rax, %rbx
jmp 0x124bb
jmp 0x12494
jmp 0x1248f
jmp 0x1248a
movq %rax, %rbx
jmp 0x124e1
movq %rax, %rbx
jmp 0x124fd
movq %rax, %rbx
jmp 0x12526
movq %rax, %rbx
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x124bb
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x60(%rsp), %rdi
jmp 0x12505
movq %rax, %rbx
movq 0x60(%rsp), %rdi
leaq 0x70(%rsp), %rax
cmpq %rax, %rdi
je 0x124e1
movq 0x70(%rsp), %rsi
incq %rsi
callq 0x53d0
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x124fd
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0x80(%rsp), %rdi
callq 0x10758
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x12526
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x53d0
leaq 0xe8(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x12547
movq 0xe8(%rsp), %rsi
incq %rsi
callq 0x53d0
movq %rbx, %rdi
callq 0x5620
nop