// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::RunContext::runTest(Catch::TestCase const&)
Totals runTest( TestCase const& testCase ) {
            Totals prevTotals = m_totals;

            std::string redirectedCout;
            std::string redirectedCerr;

            TestCaseInfo testInfo = testCase.getTestCaseInfo();

            m_reporter->testCaseStarting( testInfo );

            m_activeTestCase = &testCase;

            do {
                m_trackerContext.startRun();
                do {
                    m_trackerContext.startCycle();
                    m_testCaseTracker = &SectionTracker::acquire( m_trackerContext, testInfo.name );
                    runCurrentTest( redirectedCout, redirectedCerr );
                }
                while( !m_testCaseTracker->isSuccessfullyCompleted() && !aborting() );
            }
            // !TBD: deprecated - this will be replaced by indexed trackers
            while( getCurrentContext().advanceGeneratorsForCurrentTest() && !aborting() );

            Totals deltaTotals = m_totals.delta( prevTotals );
            m_totals.testCases += deltaTotals.testCases;
            m_reporter->testCaseEnded( TestCaseStats(   testInfo,
                                                        deltaTotals,
                                                        redirectedCout,
                                                        redirectedCerr,
                                                        aborting() ) );

            m_activeTestCase = CATCH_NULL;
            m_testCaseTracker = CATCH_NULL;

            return deltaTotals;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x380, %rsp            # imm = 0x380
movq %rdi, -0x348(%rbp)
movq %rdi, -0x340(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x338(%rbp)
movups 0x110(%rax), %xmm0
movups 0x120(%rax), %xmm1
movups 0x130(%rax), %xmm2
movaps %xmm2, -0x20(%rbp)
movaps %xmm1, -0x30(%rbp)
movaps %xmm0, -0x40(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xe900
leaq -0x80(%rbp), %rdi
callq 0xe900
movq -0x10(%rbp), %rdi
callq 0x10b80
movq %rax, %rsi
leaq -0x190(%rbp), %rdi
callq 0x12680
jmp 0x19a59
movq -0x338(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0x19db0
movq %rax, -0x350(%rbp)
jmp 0x19a75
movq -0x350(%rbp), %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
leaq -0x190(%rbp), %rsi
callq *%rax
jmp 0x19a8e
movq -0x338(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x38(%rax)
movq -0x338(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0x2bab0
jmp 0x19ab2
jmp 0x19ab4
movq -0x338(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0x2bba0
jmp 0x19ac9
movq -0x338(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
leaq -0x190(%rbp), %rsi
callq 0x25780
movq %rax, -0x358(%rbp)
jmp 0x19aec
movq -0x338(%rbp), %rdi
movq -0x358(%rbp), %rax
movq %rax, 0x40(%rdi)
leaq -0x60(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0x2bbe0
jmp 0x19b0d
jmp 0x19b0f
movq -0x338(%rbp), %rax
movq 0x40(%rax), %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movb %al, -0x359(%rbp)
jmp 0x19b2b
movb -0x359(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x35a(%rbp)
jne 0x19b66
jmp 0x19b40
movq -0x338(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movb %al, -0x35b(%rbp)
jmp 0x19b58
movb -0x35b(%rbp), %al
xorb $-0x1, %al
movb %al, -0x35a(%rbp)
movb -0x35a(%rbp), %al
testb $0x1, %al
jne 0x19ab4
jmp 0x19b76
callq 0xf5b0
movq %rax, -0x368(%rbp)
jmp 0x19b84
movq -0x368(%rbp), %rdi
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
movb %al, -0x369(%rbp)
jmp 0x19b9c
movb -0x369(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x36a(%rbp)
jne 0x19bb1
jmp 0x19bd7
movq -0x338(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movb %al, -0x36b(%rbp)
jmp 0x19bc9
movb -0x36b(%rbp), %al
xorb $-0x1, %al
movb %al, -0x36a(%rbp)
movb -0x36a(%rbp), %al
testb $0x1, %al
jne 0x19a9d
movq -0x348(%rbp), %rdi
movq -0x338(%rbp), %rsi
addq $0x110, %rsi            # imm = 0x110
leaq -0x40(%rbp), %rdx
callq 0x2c1f0
jmp 0x19c05
movq -0x338(%rbp), %rdi
movq -0x348(%rbp), %rsi
addq $0x18, %rsi
addq $0x128, %rdi            # imm = 0x128
callq 0x2c270
jmp 0x19c25
movq -0x338(%rbp), %rdi
addq $0x140, %rdi            # imm = 0x140
callq 0x19db0
movq %rax, -0x378(%rbp)
jmp 0x19c41
movq -0x338(%rbp), %rdi
movq (%rdi), %rax
movq 0x58(%rax), %rax
callq *%rax
movb %al, -0x379(%rbp)
jmp 0x19c59
movq -0x348(%rbp), %rdx
movb -0x379(%rbp), %al
movzbl %al, %r9d
andl $0x1, %r9d
leaq -0x330(%rbp), %rdi
leaq -0x190(%rbp), %rsi
leaq -0x60(%rbp), %rcx
leaq -0x80(%rbp), %r8
callq 0x27f40
jmp 0x19c8b
movq -0x378(%rbp), %rdi
movq (%rdi), %rax
movq 0x68(%rax), %rax
leaq -0x330(%rbp), %rsi
callq *%rax
jmp 0x19ca4
leaq -0x330(%rbp), %rdi
callq 0x17830
movq -0x338(%rbp), %rax
movq $0x0, 0x38(%rax)
movq $0x0, 0x40(%rax)
leaq -0x190(%rbp), %rdi
callq 0x1b170
leaq -0x80(%rbp), %rdi
callq 0xecd8
leaq -0x60(%rbp), %rdi
callq 0xecd8
movq -0x340(%rbp), %rax
addq $0x380, %rsp            # imm = 0x380
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
jmp 0x19d47
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
jmp 0x19d3b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
leaq -0x330(%rbp), %rdi
callq 0x17830
leaq -0x190(%rbp), %rdi
callq 0x1b170
leaq -0x80(%rbp), %rdi
callq 0xecd8
leaq -0x60(%rbp), %rdi
callq 0xecd8
movq -0x198(%rbp), %rdi
callq 0xeb60
nopw %cs:(%rax,%rax)
nop