// File: /workspace/github_cpp_makefile_star2_O2/dadocolussi[P]gdc-nanomap/unit_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 );
            if( testInfo.expectedToFail() && deltaTotals.testCases.passed > 0 ) {
                deltaTotals.assertions.failed++;
                deltaTotals.testCases.passed--;
                deltaTotals.testCases.failed++;
            }
            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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x328, %rsp            # imm = 0x328
movq %rdx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movups 0x110(%rsi), %xmm0
movups 0x120(%rsi), %xmm1
movups 0x130(%rsi), %xmm2
movaps %xmm2, 0x70(%rsp)
movaps %xmm1, 0x60(%rsp)
movaps %xmm0, 0x50(%rsp)
leaq 0x40(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
xorl %ecx, %ecx
movb %cl, (%rax)
leaq 0x20(%rsp), %rax
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb %cl, (%rax)
leaq 0x88(%rsp), %rdi
movq %rdx, %rsi
callq 0xc6c8
movq 0x140(%r14), %rdi
movq (%rdi), %rax
leaq 0x88(%rsp), %rsi
callq *0x40(%rax)
leaq 0x110(%r14), %rax
movq %rax, 0x8(%rsp)
leaq 0x38(%r14), %rax
movq %rax, (%rsp)
movq %r15, 0x38(%r14)
leaq 0x200(%r14), %r12
leaq 0x88(%rsp), %r13
leaq 0x30(%rsp), %rbp
leaq 0x10(%rsp), %r15
movq %r12, %rdi
callq 0x1fe0a
movq 0x200(%r14), %rax
movq %rax, 0x208(%r14)
movl $0x1, 0x210(%r14)
movq %r12, %rdi
movq %r13, %rsi
callq 0x1e588
movq %rax, 0x40(%r14)
movq %r14, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq 0x1fea6
movq 0x40(%r14), %rdi
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
jne 0x199a1
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
testb %al, %al
je 0x19950
callq 0xc095
movq (%rax), %rcx
movq %rax, %rdi
callq *0x28(%rcx)
testb %al, %al
je 0x199c0
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
testb %al, %al
je 0x19948
leaq 0x50(%rsp), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
callq 0x20224
movb 0x190(%rsp), %cl
shrb $0x2, %cl
leaq 0x18(%rbx), %rsi
movq 0x18(%rbx), %rax
testq %rax, %rax
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x19a00
incq 0x8(%rbx)
decq %rax
movq %rax, 0x18(%rbx)
incq 0x20(%rbx)
leaq 0x128(%r14), %rdi
callq 0x20254
movq 0x140(%r14), %r15
movq (%r14), %rax
movq %r14, %rdi
callq *0x58(%rax)
movzbl %al, %r9d
leaq 0x198(%rsp), %rdi
leaq 0x88(%rsp), %rsi
leaq 0x30(%rsp), %rcx
leaq 0x10(%rsp), %r8
movq %rbx, %rdx
callq 0x1ee44
movq (%r15), %rax
leaq 0x198(%rsp), %rsi
movq %r15, %rdi
callq *0x68(%rax)
leaq 0x198(%rsp), %rdi
callq 0xf06e
xorps %xmm0, %xmm0
movq (%rsp), %rax
movups %xmm0, (%rax)
leaq 0x88(%rsp), %rdi
callq 0x1a292
leaq 0x10(%rsp), %rdi
callq 0xa778
leaq 0x30(%rsp), %rdi
callq 0xa778
movq %rbx, %rax
addq $0x328, %rsp            # imm = 0x328
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
callq 0xf06e
jmp 0x19ac0
movq %rax, %rbx
jmp 0x19acd
jmp 0x19abd
jmp 0x19abd
jmp 0x19abd
movq %rax, %rbx
leaq 0x88(%rsp), %rdi
callq 0x1a292
leaq 0x10(%rsp), %rdi
callq 0xa778
leaq 0x30(%rsp), %rdi
callq 0xa778
movq %rbx, %rdi
callq 0xa690
nop