// File: minimind[P]simple-graph/unittest/catch.hpp
// Function: Catch::Runner::runTests()
Totals runTests() {

            RunContext context( m_config.get(), m_reporter );

            Totals totals;

            context.testGroupStarting( "", 1, 1 ); // deprecated?

            TestSpec testSpec = m_config->testSpec();
            if( !testSpec.hasFilters() )
                testSpec = TestSpecParser( ITagAliasRegistry::get() ).parse( "~[.]" ).testSpec(); // All not hidden tests

            std::vector<TestCase> testCases;
            getRegistryHub().getTestCaseRegistry().getFilteredTests( testSpec, *m_config, testCases );

            int testsRunForGroup = 0;
            for( std::vector<TestCase>::const_iterator it = testCases.begin(), itEnd = testCases.end();
                    it != itEnd;
                    ++it ) {
                testsRunForGroup++;
                if( m_testsAlreadyRun.find( *it ) == m_testsAlreadyRun.end() ) {

                    if( context.aborting() )
                        break;

                    totals += context.runTest( *it );
                    m_testsAlreadyRun.insert( *it );
                }
            }
            context.testGroupEnded( "", totals, 1, 1 );
            return totals;
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x4c0, %rsp            # imm = 0x4C0
movq %rdi, -0x450(%rbp)
movq %rdi, -0x448(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0x440(%rbp)
callq 0x33e50
movq %rax, %rsi
leaq -0x278(%rbp), %rdi
movq %rdi, -0x438(%rbp)
callq 0x1cbb0
movq -0x440(%rbp), %rdx
movq -0x438(%rbp), %rsi
addq $0x208, %rdx            # imm = 0x208
leaq -0x270(%rbp), %rdi
callq 0x36f20
jmp 0x2f3e6
leaq -0x278(%rbp), %rdi
callq 0x14930
movq -0x450(%rbp), %rdi
callq 0x372d0
jmp 0x2f400
leaq -0x2a9(%rbp), %rdi
movq %rdi, -0x458(%rbp)
callq 0xb930
movq -0x458(%rbp), %rdx
leaq 0x4a107(%rip), %rsi     # 0x79528
leaq -0x2a8(%rbp), %rdi
callq 0x134e0
jmp 0x2f42f
leaq -0x270(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
movl $0x1, %ecx
movq %rcx, %rdx
callq 0x37300
jmp 0x2f44c
leaq -0x2a8(%rbp), %rdi
callq 0xb330
leaq -0x2a9(%rbp), %rdi
callq 0xb5c0
movq -0x440(%rbp), %rdi
callq 0x33d60
movq %rax, %rdi
movq (%rdi), %rax
movq 0x68(%rax), %rax
callq *%rax
movq %rax, -0x460(%rbp)
jmp 0x2f485
movq -0x460(%rbp), %rsi
leaq -0x2c8(%rbp), %rdi
callq 0x32e60
jmp 0x2f49a
leaq -0x2c8(%rbp), %rdi
callq 0x357b0
testb $0x1, %al
jne 0x2f64f
callq 0x11e50
movq %rax, %rsi
leaq -0x350(%rbp), %rdi
callq 0x2fe60
jmp 0x2f4c4
leaq -0x371(%rbp), %rdi
movq %rdi, -0x468(%rbp)
callq 0xb930
movq -0x468(%rbp), %rdx
leaq 0x49bc1(%rip), %rsi     # 0x790a6
leaq -0x370(%rbp), %rdi
callq 0x134e0
jmp 0x2f4f3
leaq -0x350(%rbp), %rdi
leaq -0x370(%rbp), %rsi
callq 0x2feb0
movq %rax, -0x470(%rbp)
jmp 0x2f50f
movq -0x470(%rbp), %rsi
leaq -0x2e0(%rbp), %rdi
callq 0x2ff90
jmp 0x2f524
leaq -0x2c8(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x2ffe0
leaq -0x2e0(%rbp), %rdi
callq 0x30010
leaq -0x370(%rbp), %rdi
callq 0xb330
leaq -0x371(%rbp), %rdi
callq 0xb5c0
leaq -0x350(%rbp), %rdi
callq 0x30030
jmp 0x2f64f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
leaq -0x278(%rbp), %rdi
callq 0x14930
jmp 0x2f98f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x2f983
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x2f5d8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
leaq -0x2a8(%rbp), %rdi
callq 0xb330
leaq -0x2a9(%rbp), %rdi
callq 0xb5c0
jmp 0x2f983
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x2f977
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x2f632
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
leaq -0x370(%rbp), %rdi
callq 0xb330
leaq -0x371(%rbp), %rdi
callq 0xb5c0
leaq -0x350(%rbp), %rdi
callq 0x30030
jmp 0x2f977
leaq -0x390(%rbp), %rdi
callq 0x1a400
callq 0xcc50
movq %rax, -0x478(%rbp)
jmp 0x2f669
movq -0x478(%rbp), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
callq *%rax
movq %rax, -0x480(%rbp)
jmp 0x2f682
movq -0x440(%rbp), %rdi
callq 0x2fcc0
movq -0x480(%rbp), %rdi
movq %rax, %rdx
movq (%rdi), %rax
movq 0x18(%rax), %rax
leaq -0x2c8(%rbp), %rsi
leaq -0x390(%rbp), %rcx
callq *%rax
jmp 0x2f6b1
movl $0x0, -0x394(%rbp)
leaq -0x390(%rbp), %rdi
callq 0x357f0
movq %rax, -0x3a8(%rbp)
leaq -0x3a0(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0x35820
leaq -0x390(%rbp), %rdi
callq 0x35860
movq %rax, -0x3b8(%rbp)
leaq -0x3b0(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
callq 0x35820
leaq -0x3a0(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x35890
testb $0x1, %al
jne 0x2f723
jmp 0x2f88d
movq -0x440(%rbp), %rax
movl -0x394(%rbp), %ecx
incl %ecx
movl %ecx, -0x394(%rbp)
addq $0x210, %rax            # imm = 0x210
movq %rax, -0x490(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x37400
movq -0x490(%rbp), %rdi
movq %rax, %rsi
callq 0x373c0
movq %rax, -0x488(%rbp)
jmp 0x2f769
movq -0x440(%rbp), %rdi
movq -0x488(%rbp), %rax
movq %rax, -0x3c0(%rbp)
addq $0x210, %rdi            # imm = 0x210
callq 0x37420
movq %rax, -0x3c8(%rbp)
leaq -0x3c0(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x37390
testb $0x1, %al
jne 0x2f7ad
jmp 0x2f87a
leaq -0x270(%rbp), %rdi
callq 0x37450
movb %al, -0x491(%rbp)
jmp 0x2f7c1
movb -0x491(%rbp), %al
testb $0x1, %al
jne 0x2f7cd
jmp 0x2f7e9
jmp 0x2f88d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x2f96b
leaq -0x3a0(%rbp), %rdi
callq 0x37400
movq %rax, %rdx
leaq -0x3f8(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x374a0
jmp 0x2f80d
movq -0x450(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x37820
jmp 0x2f822
movq -0x440(%rbp), %rax
addq $0x210, %rax            # imm = 0x210
movq %rax, -0x4b0(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x37400
movq -0x4b0(%rbp), %rdi
movq %rax, %rsi
callq 0x37860
movb %dl, -0x4a1(%rbp)
movq %rax, -0x4a0(%rbp)
jmp 0x2f860
movb -0x4a1(%rbp), %al
movq -0x4a0(%rbp), %rcx
movq %rcx, -0x408(%rbp)
movb %al, -0x400(%rbp)
jmp 0x2f87c
leaq -0x3a0(%rbp), %rdi
callq 0x35910
jmp 0x2f707
leaq -0x429(%rbp), %rdi
movq %rdi, -0x4b8(%rbp)
callq 0xb930
movq -0x4b8(%rbp), %rdx
leaq 0x49c7a(%rip), %rsi     # 0x79528
leaq -0x428(%rbp), %rdi
callq 0x134e0
jmp 0x2f8bc
movq -0x450(%rbp), %rdx
leaq -0x270(%rbp), %rdi
leaq -0x428(%rbp), %rsi
movl $0x1, %r8d
movq %r8, %rcx
callq 0x378b0
jmp 0x2f8e1
leaq -0x428(%rbp), %rdi
callq 0xb330
leaq -0x429(%rbp), %rdi
callq 0xb5c0
leaq -0x390(%rbp), %rdi
callq 0x159c0
leaq -0x2c8(%rbp), %rdi
callq 0x30010
leaq -0x270(%rbp), %rdi
callq 0x379e0
movq -0x448(%rbp), %rax
addq $0x4c0, %rsp            # imm = 0x4C0
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
jmp 0x2f95f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x280(%rbp)
movl %eax, -0x284(%rbp)
leaq -0x428(%rbp), %rdi
callq 0xb330
leaq -0x429(%rbp), %rdi
callq 0xb5c0
leaq -0x390(%rbp), %rdi
callq 0x159c0
leaq -0x2c8(%rbp), %rdi
callq 0x30010
leaq -0x270(%rbp), %rdi
callq 0x379e0
movq -0x280(%rbp), %rdi
callq 0xb920
nopl (%rax,%rax)