// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::JunitReporter::writeAssertion(Catch::AssertionStats const&)
void writeAssertion( AssertionStats const& stats ) {
            AssertionResult const& result = stats.assertionResult;
            if( !result.isOk() ) {
                std::string elementName;
                switch( result.getResultType() ) {
                    case ResultWas::ThrewException:
                    case ResultWas::FatalErrorCondition:
                        elementName = "error";
                        break;
                    case ResultWas::ExplicitFailure:
                        elementName = "failure";
                        break;
                    case ResultWas::ExpressionFailed:
                        elementName = "failure";
                        break;
                    case ResultWas::DidntThrowException:
                        elementName = "failure";
                        break;

                    // We should never see these here:
                    case ResultWas::Info:
                    case ResultWas::Warning:
                    case ResultWas::Ok:
                    case ResultWas::Unknown:
                    case ResultWas::FailureBit:
                    case ResultWas::Exception:
                        elementName = "internalError";
                        break;
                }

                XmlWriter::ScopedElement e = xml.scopedElement( elementName );

                xml.writeAttribute( "message", result.getExpandedExpression() );
                xml.writeAttribute( "type", result.getTestMacroName() );

                std::ostringstream oss;
                if( !result.getMessage().empty() )
                    oss << result.getMessage() << "\n";
                for( std::vector<MessageInfo>::const_iterator
                        it = stats.infoMessages.begin(),
                        itEnd = stats.infoMessages.end();
                            it != itEnd;
                            ++it )
                    if( it->type == ResultWas::Info )
                        oss << it->message << "\n";

                oss << "at " << result.getSourceInfo();
                xml.writeText( oss.str(), false );
            }
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x350, %rsp            # imm = 0x350
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x2f8(%rbp)
movq -0x10(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rdi
callq 0x12040
testb $0x1, %al
jne 0x54883
leaq -0x38(%rbp), %rdi
callq 0xe900
movq -0x18(%rbp), %rdi
callq 0x12090
movl %eax, %ecx
movl %ecx, %eax
incl %eax
movl %ecx, -0x2fc(%rbp)
subl $0x4, %eax
jb 0x54404
jmp 0x54334
movl -0x2fc(%rbp), %eax
subl $0x10, %eax
je 0x54404
jmp 0x54345
movl -0x2fc(%rbp), %eax
subl $0x11, %eax
je 0x543dc
jmp 0x54356
movl -0x2fc(%rbp), %eax
subl $0x12, %eax
je 0x543c8
jmp 0x54363
movl -0x2fc(%rbp), %eax
subl $0x110, %eax            # imm = 0x110
je 0x54404
jmp 0x54376
movl -0x2fc(%rbp), %eax
subl $0x111, %eax            # imm = 0x111
je 0x543a3
jmp 0x54385
movl -0x2fc(%rbp), %eax
subl $0x112, %eax            # imm = 0x112
je 0x543f0
jmp 0x54394
movl -0x2fc(%rbp), %eax
subl $0x210, %eax            # imm = 0x210
jne 0x54418
jmp 0x543a3
leaq 0x2b6d6(%rip), %rsi     # 0x7fa80
leaq -0x38(%rbp), %rdi
callq 0xe8e0
jmp 0x543b5
jmp 0x54418
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x54878
leaq 0x29acb(%rip), %rsi     # 0x7de9a
leaq -0x38(%rbp), %rdi
callq 0xe8e0
jmp 0x543da
jmp 0x54418
leaq 0x29ab7(%rip), %rsi     # 0x7de9a
leaq -0x38(%rbp), %rdi
callq 0xe8e0
jmp 0x543ee
jmp 0x54418
leaq 0x29aa3(%rip), %rsi     # 0x7de9a
leaq -0x38(%rbp), %rdi
callq 0xe8e0
jmp 0x54402
jmp 0x54418
leaq 0x2a5be(%rip), %rsi     # 0x7e9c9
leaq -0x38(%rbp), %rdi
callq 0xe8e0
jmp 0x54416
jmp 0x54418
movq -0x2f8(%rbp), %rsi
addq $0xc8, %rsi
leaq -0x50(%rbp), %rdi
leaq -0x38(%rbp), %rdx
callq 0x51f20
jmp 0x54435
movq -0x2f8(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x310(%rbp)
leaq -0x71(%rbp), %rdi
movq %rdi, -0x308(%rbp)
callq 0xeb70
movq -0x308(%rbp), %rdx
leaq 0x2a663(%rip), %rsi     # 0x7eaca
leaq -0x70(%rbp), %rdi
callq 0x18c80
jmp 0x54472
movq -0x18(%rbp), %rsi
leaq -0x98(%rbp), %rdi
callq 0x12330
jmp 0x54484
movq -0x310(%rbp), %rdi
leaq -0x70(%rbp), %rsi
leaq -0x98(%rbp), %rdx
callq 0x51b40
jmp 0x5449d
leaq -0x98(%rbp), %rdi
callq 0xecd8
leaq -0x70(%rbp), %rdi
callq 0xecd8
leaq -0x71(%rbp), %rdi
callq 0xe710
movq -0x2f8(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x320(%rbp)
leaq -0xb9(%rbp), %rdi
movq %rdi, -0x318(%rbp)
callq 0xeb70
movq -0x318(%rbp), %rdx
leaq 0x29d9f(%rip), %rsi     # 0x7e28f
leaq -0xb8(%rbp), %rdi
callq 0x18c80
jmp 0x544fe
movq -0x18(%rbp), %rsi
leaq -0xe0(%rbp), %rdi
callq 0x123d0
jmp 0x54510
movq -0x320(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
leaq -0xe0(%rbp), %rdx
callq 0x51b40
jmp 0x5452c
leaq -0xe0(%rbp), %rdi
callq 0xecd8
leaq -0xb8(%rbp), %rdi
callq 0xecd8
leaq -0xb9(%rbp), %rdi
callq 0xe710
leaq -0x258(%rbp), %rdi
callq 0xe8d0
jmp 0x5455e
movq -0x18(%rbp), %rsi
leaq -0x278(%rbp), %rdi
callq 0x12360
jmp 0x54570
leaq -0x278(%rbp), %rdi
callq 0xea90
xorb $-0x1, %al
movb %al, -0x321(%rbp)
leaq -0x278(%rbp), %rdi
callq 0xecd8
movb -0x321(%rbp), %al
testb $0x1, %al
jne 0x5459f
jmp 0x546ce
movq -0x18(%rbp), %rsi
leaq -0x298(%rbp), %rdi
callq 0x12360
jmp 0x545b1
leaq -0x258(%rbp), %rdi
leaq -0x298(%rbp), %rsi
callq 0xe5a0
movq %rax, -0x330(%rbp)
jmp 0x545cd
movq -0x330(%rbp), %rdi
leaq 0x2a44e(%rip), %rsi     # 0x7ea29
callq 0xe670
jmp 0x545e2
leaq -0x298(%rbp), %rdi
callq 0xecd8
jmp 0x546ce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x54630
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x54627
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x98(%rbp), %rdi
callq 0xecd8
leaq -0x70(%rbp), %rdi
callq 0xecd8
leaq -0x71(%rbp), %rdi
callq 0xe710
jmp 0x5486f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5467e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x54672
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xe0(%rbp), %rdi
callq 0xecd8
leaq -0xb8(%rbp), %rdi
callq 0xecd8
leaq -0xb9(%rbp), %rdi
callq 0xe710
jmp 0x5486f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x5486f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
jmp 0x54863
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x298(%rbp), %rdi
callq 0xecd8
jmp 0x54863
movq -0x10(%rbp), %rdi
addq $0xc0, %rdi
callq 0x1b7a0
movq %rax, -0x2a0(%rbp)
movq -0x10(%rbp), %rdi
addq $0xc0, %rdi
callq 0x1b7d0
movq %rax, -0x2a8(%rbp)
leaq -0x2a0(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x1b800
testb $0x1, %al
jne 0x54715
jmp 0x54776
leaq -0x2a0(%rbp), %rdi
callq 0x1b840
cmpl $0x1, 0x48(%rax)
jne 0x54766
leaq -0x2a0(%rbp), %rdi
callq 0x1b840
movq %rax, %rsi
addq $0x50, %rsi
leaq -0x258(%rbp), %rdi
callq 0xe5a0
movq %rax, -0x338(%rbp)
jmp 0x5474f
movq -0x338(%rbp), %rdi
leaq 0x2a2cc(%rip), %rsi     # 0x7ea29
callq 0xe670
jmp 0x54764
jmp 0x54766
jmp 0x54768
leaq -0x2a0(%rbp), %rdi
callq 0x1b8f0
jmp 0x546fc
leaq 0x29216(%rip), %rsi     # 0x7d993
leaq -0x258(%rbp), %rdi
callq 0xe670
movq %rax, -0x340(%rbp)
jmp 0x54792
movq -0x18(%rbp), %rsi
leaq -0x2d0(%rbp), %rdi
callq 0x123a0
jmp 0x547a4
movq -0x340(%rbp), %rdi
leaq -0x2d0(%rbp), %rsi
callq 0x10b20
jmp 0x547b9
leaq -0x2d0(%rbp), %rdi
callq 0x1a870
movq -0x2f8(%rbp), %rax
addq $0xc8, %rax
movq %rax, -0x348(%rbp)
leaq -0x2f0(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0xe6b0
jmp 0x547ee
movq -0x348(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
xorl %edx, %edx
callq 0x52250
jmp 0x54805
leaq -0x2f0(%rbp), %rdi
callq 0xecd8
leaq -0x258(%rbp), %rdi
callq 0xe130
leaq -0x50(%rbp), %rdi
callq 0x51fe0
leaq -0x38(%rbp), %rdi
callq 0xecd8
jmp 0x54883
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2d0(%rbp), %rdi
callq 0x1a870
jmp 0x54863
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x2f0(%rbp), %rdi
callq 0xecd8
leaq -0x258(%rbp), %rdi
callq 0xe130
leaq -0x50(%rbp), %rdi
callq 0x51fe0
leaq -0x38(%rbp), %rdi
callq 0xecd8
jmp 0x5488c
addq $0x350, %rsp            # imm = 0x350
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0xeb60
nopw %cs:(%rax,%rax)
nop