// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::runTests(Catch::Ptr<Catch::Config> const&)
Totals runTests( Ptr<Config> const& config ) {

        Ptr<IConfig const> iconfig = config.get();

        Ptr<IStreamingReporter> reporter = makeReporter( config );
        reporter = addListeners( iconfig, reporter );

        RunContext context( iconfig, reporter );

        Totals totals;

        context.testGroupStarting( config->name(), 1, 1 );

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

        std::vector<TestCase> const& allTestCases = getAllTestCasesSorted( *iconfig );
        for( std::vector<TestCase>::const_iterator it = allTestCases.begin(), itEnd = allTestCases.end();
                it != itEnd;
                ++it ) {
            if( !context.aborting() && matchTest( *it, testSpec, *iconfig ) )
                totals += context.runTest( *it );
            else
                reporter->skipTest( *it );
        }

        context.testGroupEnded( iconfig->name(), totals, 1, 1 );
        return totals;
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x430, %rsp            # imm = 0x430
movq %rdi, -0x3b0(%rbp)
movq %rdi, -0x3a8(%rbp)
movq %rsi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x18a70
movq %rax, %rsi
leaq -0x10(%rbp), %rdi
callq 0x18a90
movq -0x8(%rbp), %rsi
leaq -0x18(%rbp), %rdi
callq 0xf830
jmp 0xfe51
leaq -0x38(%rbp), %rdi
leaq -0x18(%rbp), %rsi
callq 0x191e0
jmp 0xfe60
leaq -0x30(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x38(%rbp), %rdx
callq 0xfc30
jmp 0xfe73
leaq -0x18(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x18e50
jmp 0xfe82
leaq -0x30(%rbp), %rdi
callq 0x18b70
leaq -0x38(%rbp), %rdi
callq 0x18b70
leaq -0x250(%rbp), %rdi
leaq -0x10(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0x19280
jmp 0xfeaa
movq -0x3b0(%rbp), %rdi
callq 0x19590
jmp 0xfeb8
movq -0x8(%rbp), %rdi
callq 0x18bb0
movq %rax, -0x3b8(%rbp)
jmp 0xfeca
movq -0x3b8(%rbp), %rsi
movq (%rsi), %rax
movq 0x30(%rax), %rax
leaq -0x270(%rbp), %rdi
callq *%rax
jmp 0xfee3
leaq -0x250(%rbp), %rdi
leaq -0x270(%rbp), %rsi
movl $0x1, %ecx
movq %rcx, %rdx
callq 0x195c0
jmp 0xff00
leaq -0x270(%rbp), %rdi
callq 0xecd8
movq -0x8(%rbp), %rdi
callq 0x18bb0
movq %rax, -0x3c0(%rbp)
jmp 0xff1e
movq -0x3c0(%rbp), %rdi
movq (%rdi), %rax
movq 0x68(%rax), %rax
callq *%rax
movq %rax, -0x3c8(%rbp)
jmp 0xff37
movq -0x3c8(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x19650
jmp 0xff4c
leaq -0x288(%rbp), %rdi
callq 0x19680
movb %al, -0x3c9(%rbp)
jmp 0xff60
movb -0x3c9(%rbp), %al
testb $0x1, %al
jne 0x10110
jmp 0xff70
callq 0x10370
movq %rax, -0x3d8(%rbp)
jmp 0xff7e
movq -0x3d8(%rbp), %rsi
leaq -0x310(%rbp), %rdi
callq 0x196a0
jmp 0xff93
leaq -0x331(%rbp), %rdi
movq %rdi, -0x3e0(%rbp)
callq 0xeb70
movq -0x3e0(%rbp), %rdx
leaq 0x6d992(%rip), %rsi     # 0x7d946
leaq -0x330(%rbp), %rdi
callq 0x18c80
jmp 0xffc2
leaq -0x310(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0x196f0
movq %rax, -0x3e8(%rbp)
jmp 0xffde
movq -0x3e8(%rbp), %rsi
leaq -0x2a0(%rbp), %rdi
callq 0x197d0
jmp 0xfff3
leaq -0x288(%rbp), %rdi
leaq -0x2a0(%rbp), %rsi
callq 0x19820
leaq -0x2a0(%rbp), %rdi
callq 0x19850
leaq -0x330(%rbp), %rdi
callq 0xecd8
leaq -0x331(%rbp), %rdi
callq 0xe710
leaq -0x310(%rbp), %rdi
callq 0x19870
jmp 0x10110
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x10353
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1034a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x10080
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x30(%rbp), %rdi
callq 0x18b70
leaq -0x38(%rbp), %rdi
callq 0x18b70
jmp 0x1034a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x1033e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x270(%rbp), %rdi
callq 0xecd8
jmp 0x1033e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x10332
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
jmp 0x100f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x330(%rbp), %rdi
callq 0xecd8
leaq -0x331(%rbp), %rdi
callq 0xe710
leaq -0x310(%rbp), %rdi
callq 0x19870
jmp 0x10332
leaq -0x10(%rbp), %rdi
callq 0x198b0
movq %rax, -0x3f0(%rbp)
jmp 0x10122
movq -0x3f0(%rbp), %rdi
callq 0x10380
movq %rax, -0x3f8(%rbp)
jmp 0x10137
movq -0x3f8(%rbp), %rax
movq %rax, -0x340(%rbp)
movq -0x340(%rbp), %rdi
callq 0x198d0
movq %rax, -0x348(%rbp)
movq -0x340(%rbp), %rdi
callq 0x19900
movq %rax, -0x350(%rbp)
leaq -0x348(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x19930
testb $0x1, %al
jne 0x10187
jmp 0x10284
leaq -0x250(%rbp), %rdi
callq 0x19970
movb %al, -0x3f9(%rbp)
jmp 0x1019b
movb -0x3f9(%rbp), %al
testb $0x1, %al
jne 0x10239
jmp 0x101ab
leaq -0x348(%rbp), %rdi
callq 0x199c0
movq %rax, -0x410(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x198b0
movq %rax, -0x408(%rbp)
jmp 0x101d0
movq -0x408(%rbp), %rdx
movq -0x410(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x103b0
movb %al, -0x411(%rbp)
jmp 0x101f2
movb -0x411(%rbp), %al
testb $0x1, %al
jne 0x101fe
jmp 0x10239
leaq -0x348(%rbp), %rdi
callq 0x199c0
movq %rax, %rdx
leaq -0x380(%rbp), %rdi
leaq -0x250(%rbp), %rsi
callq 0x199e0
jmp 0x10222
movq -0x3b0(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x19d70
jmp 0x10237
jmp 0x10271
leaq -0x18(%rbp), %rdi
callq 0x19db0
movq %rax, -0x420(%rbp)
jmp 0x1024b
leaq -0x348(%rbp), %rdi
callq 0x199c0
movq -0x420(%rbp), %rdi
movq %rax, %rsi
movq (%rdi), %rax
movq 0x80(%rax), %rax
callq *%rax
jmp 0x1026f
jmp 0x10271
jmp 0x10273
leaq -0x348(%rbp), %rdi
callq 0x19dd0
jmp 0x1016b
leaq -0x10(%rbp), %rdi
callq 0x19f20
movq %rax, -0x428(%rbp)
jmp 0x10296
movq -0x428(%rbp), %rsi
movq (%rsi), %rax
movq 0x30(%rax), %rax
leaq -0x3a0(%rbp), %rdi
callq *%rax
jmp 0x102af
movq -0x3b0(%rbp), %rdx
leaq -0x250(%rbp), %rdi
leaq -0x3a0(%rbp), %rsi
movl $0x1, %r8d
movq %r8, %rcx
callq 0x19df0
jmp 0x102d4
leaq -0x3a0(%rbp), %rdi
callq 0xecd8
leaq -0x288(%rbp), %rdi
callq 0x19850
leaq -0x250(%rbp), %rdi
callq 0x19f40
leaq -0x18(%rbp), %rdi
callq 0x18b70
leaq -0x10(%rbp), %rdi
callq 0x18b10
movq -0x3a8(%rbp), %rax
addq $0x430, %rsp            # imm = 0x430
popq %rbp
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x20(%rbp)
movl %eax, -0x24(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0xecd8
leaq -0x288(%rbp), %rdi
callq 0x19850
leaq -0x250(%rbp), %rdi
callq 0x19f40
leaq -0x18(%rbp), %rdi
callq 0x18b70
leaq -0x10(%rbp), %rdi
callq 0x18b10
movq -0x20(%rbp), %rdi
callq 0xeb60
nopw %cs:(%rax,%rax)