// File: minimind[P]simple-graph/unittest/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;
            m_testCaseTracker = TestCaseTracker( testInfo.name );

            do {
                do {
                    runCurrentTest( redirectedCout, redirectedCerr );
                }
                while( !m_testCaseTracker->isCompleted() && !aborting() );
            }
            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 = NULL;
            m_testCaseTracker.reset();

            return deltaTotals;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3e0, %rsp            # imm = 0x3E0
movq %rdi, -0x3b8(%rbp)
movq %rdi, -0x3b0(%rbp)
movq %rsi, -0x8(%rbp)
movq %rdx, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movups 0x178(%rax), %xmm0
movups 0x188(%rax), %xmm1
movups 0x198(%rax), %xmm2
movaps %xmm2, -0x20(%rbp)
movaps %xmm1, -0x30(%rbp)
movaps %xmm0, -0x40(%rbp)
leaq -0x60(%rbp), %rdi
callq 0xb720
leaq -0x80(%rbp), %rdi
callq 0xb720
movq -0x10(%rbp), %rdi
callq 0xe410
movq %rax, %rsi
leaq -0x190(%rbp), %rdi
callq 0xde40
jmp 0x37519
movq -0x3a8(%rbp), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
callq 0x37d10
movq %rax, %rdi
movq (%rdi), %rax
movq 0x40(%rax), %rax
leaq -0x190(%rbp), %rsi
callq *%rax
jmp 0x37541
movq -0x3a8(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, 0x38(%rax)
leaq -0x210(%rbp), %rdi
leaq -0x190(%rbp), %rsi
callq 0x3d020
jmp 0x37565
movq -0x3a8(%rbp), %rdi
addq $0x40, %rdi
leaq -0x210(%rbp), %rsi
callq 0x3d060
jmp 0x3757e
leaq -0x210(%rbp), %rdi
callq 0x38a50
jmp 0x3758c
movq -0x3a8(%rbp), %rdi
leaq -0x60(%rbp), %rsi
leaq -0x80(%rbp), %rdx
callq 0x3d0b0
jmp 0x375a2
jmp 0x375a4
movq -0x3a8(%rbp), %rdi
addq $0x40, %rdi
callq 0x3a3d0
movq %rax, %rdi
callq 0x3d850
movb %al, -0x3b9(%rbp)
jmp 0x375c4
movb -0x3b9(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x3ba(%rbp)
jne 0x375ff
jmp 0x375d9
movq -0x3a8(%rbp), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movb %al, -0x3bb(%rbp)
jmp 0x375f1
movb -0x3bb(%rbp), %al
xorb $-0x1, %al
movb %al, -0x3ba(%rbp)
movb -0x3ba(%rbp), %al
testb $0x1, %al
jne 0x3758c
jmp 0x3760b
callq 0xc410
movq %rax, -0x3c8(%rbp)
jmp 0x37619
movq -0x3c8(%rbp), %rdi
movq (%rdi), %rax
movq 0x28(%rax), %rax
callq *%rax
movb %al, -0x3c9(%rbp)
jmp 0x37631
movb -0x3c9(%rbp), %cl
xorl %eax, %eax
testb $0x1, %cl
movb %al, -0x3ca(%rbp)
jne 0x37646
jmp 0x3766c
movq -0x3a8(%rbp), %rdi
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movb %al, -0x3cb(%rbp)
jmp 0x3765e
movb -0x3cb(%rbp), %al
xorb $-0x1, %al
movb %al, -0x3ca(%rbp)
movb -0x3ca(%rbp), %al
testb $0x1, %al
jne 0x3758a
movq -0x3b8(%rbp), %rdi
movq -0x3a8(%rbp), %rsi
addq $0x178, %rsi            # imm = 0x178
leaq -0x40(%rbp), %rdx
callq 0x3d880
jmp 0x3769a
movq -0x3a8(%rbp), %rdi
movq -0x3b8(%rbp), %rsi
addq $0x18, %rsi
addq $0x190, %rdi            # imm = 0x190
callq 0x3d900
jmp 0x376ba
movq -0x3a8(%rbp), %rdi
addq $0x1a8, %rdi            # imm = 0x1A8
callq 0x37d10
movq -0x3a8(%rbp), %rdi
movq %rax, -0x3d8(%rbp)
movq (%rdi), %rax
movq 0x48(%rax), %rax
callq *%rax
movb %al, -0x3cc(%rbp)
jmp 0x376ec
movq -0x3b8(%rbp), %rdx
movb -0x3cc(%rbp), %al
movzbl %al, %r9d
andl $0x1, %r9d
leaq -0x3a0(%rbp), %rdi
leaq -0x190(%rbp), %rsi
leaq -0x60(%rbp), %rcx
leaq -0x80(%rbp), %r8
callq 0x3d940
jmp 0x3771e
movq -0x3d8(%rbp), %rdi
movq (%rdi), %rax
movq 0x68(%rax), %rax
leaq -0x3a0(%rbp), %rsi
callq *%rax
jmp 0x37737
leaq -0x3a0(%rbp), %rdi
callq 0x122b0
movq -0x3a8(%rbp), %rdi
movq $0x0, 0x38(%rdi)
addq $0x40, %rdi
callq 0x38a10
leaq -0x190(%rbp), %rdi
callq 0x13e60
leaq -0x80(%rbp), %rdi
callq 0xb330
leaq -0x60(%rbp), %rdi
callq 0xb330
movq -0x3b0(%rbp), %rax
addq $0x3e0, %rsp            # imm = 0x3E0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
jmp 0x377fb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
jmp 0x377ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
leaq -0x210(%rbp), %rdi
callq 0x38a50
jmp 0x377ef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x198(%rbp)
movl %eax, -0x19c(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x122b0
leaq -0x190(%rbp), %rdi
callq 0x13e60
leaq -0x80(%rbp), %rdi
callq 0xb330
leaq -0x60(%rbp), %rdi
callq 0xb330
movq -0x198(%rbp), %rdi
callq 0xb920
nopl (%rax)