// File: dustin[P]kvtest/suite.cc
// Function: kvtest::TestSuite::run()
bool TestSuite::run() {
    std::list<Test*>::iterator it;
    bool success = true;
    for (it=tests.begin() ; it != tests.end(); it++ ) {
        success = false;
        Test *t = *it;
        std::cout << "Running test ``" << *t << "'' ";
        try {
            tut->reset();
            t->run(tut);
            std::cout << "PASS" << std::endl;
            success = true;
        } catch(AssertionError &e) {
            std::cout << "FAIL: " << e.what() << std::endl;
        } catch(std::runtime_error &e) {
            std::cout << "EXCEPTION: " << e.what() << std::endl;
        } catch(...) {
            std::cout << "EXCEPTION (unknown)" << std::endl;
        }
    }
    return success;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x8690
movq -0x60(%rbp), %rdi
movb $0x1, -0x11(%rbp)
addq $0x8, %rdi
callq 0x8570
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x10(%rbp)
movq -0x60(%rbp), %rdi
addq $0x8, %rdi
callq 0x85a0
movq %rax, -0x28(%rbp)
leaq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x86b0
testb $0x1, %al
jne 0x8284
jmp 0x84a8
movb $0x0, -0x11(%rbp)
leaq -0x10(%rbp), %rdi
callq 0x86e0
movq (%rax), %rax
movq %rax, -0x30(%rbp)
movq 0xcd21(%rip), %rdi      # 0x14fc0
leaq 0x61c9(%rip), %rsi      # 0xe46f
callq 0x3280
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x8700
movq %rax, %rdi
leaq 0x61be(%rip), %rsi      # 0xe47f
callq 0x3280
movq -0x60(%rbp), %rax
movq (%rax), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
jmp 0x82d8
movq -0x60(%rbp), %rax
movq -0x30(%rbp), %rdi
movq (%rax), %rsi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
jmp 0x82ee
movq 0xcccb(%rip), %rdi      # 0x14fc0
leaq 0x6187(%rip), %rsi      # 0xe483
callq 0x3280
movq %rax, -0x68(%rbp)
jmp 0x8307
movq -0x68(%rbp), %rdi
movq 0xcc96(%rip), %rsi      # 0x14fa8
callq 0x32c0
jmp 0x8319
movb $0x1, -0x11(%rbp)
jmp 0x8396
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x6c(%rbp)
movl $0x3, %ecx
cmpl %ecx, %eax
jne 0x83ac
movq -0x38(%rbp), %rdi
callq 0x30d0
movq %rax, -0x50(%rbp)
movq 0xcc72(%rip), %rdi      # 0x14fc0
leaq 0x6153(%rip), %rsi      # 0xe4a8
callq 0x3280
movq %rax, -0x78(%rbp)
jmp 0x8360
movq -0x50(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq -0x78(%rbp), %rdi
movq %rax, %rsi
callq 0x3280
movq %rax, -0x80(%rbp)
jmp 0x837f
movq -0x80(%rbp), %rdi
movq 0xcc1e(%rip), %rsi      # 0x14fa8
callq 0x32c0
jmp 0x8391
callq 0x3420
jmp 0x8398
leaq -0x10(%rbp), %rdi
xorl %esi, %esi
callq 0x8780
movq %rax, -0x58(%rbp)
jmp 0x825d
movl -0x6c(%rbp), %eax
movl $0x2, %ecx
cmpl %ecx, %eax
jne 0x8425
movq -0x38(%rbp), %rdi
callq 0x30d0
movq %rax, -0x48(%rbp)
movq 0xcbf4(%rip), %rdi      # 0x14fc0
leaq 0x60c9(%rip), %rsi      # 0xe49c
callq 0x3280
movq %rax, -0x88(%rbp)
jmp 0x83e1
movq -0x48(%rbp), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq -0x88(%rbp), %rdi
movq %rax, %rsi
callq 0x3280
movq %rax, -0x90(%rbp)
jmp 0x8406
movq -0x90(%rbp), %rdi
movq 0xcb94(%rip), %rsi      # 0x14fa8
callq 0x32c0
jmp 0x841b
callq 0x3420
jmp 0x8396
movq -0x38(%rbp), %rdi
callq 0x30d0
movq 0xcb8b(%rip), %rdi      # 0x14fc0
leaq 0x604c(%rip), %rsi      # 0xe488
callq 0x3280
movq %rax, -0x98(%rbp)
jmp 0x844a
movq -0x98(%rbp), %rdi
movq 0xcb50(%rip), %rsi      # 0x14fa8
callq 0x32c0
jmp 0x845f
callq 0x3420
jmp 0x8396
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
callq 0x3420
jmp 0x847c
jmp 0x84b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
callq 0x3420
jmp 0x8491
jmp 0x84b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
callq 0x3420
jmp 0x84a6
jmp 0x84b6
movb -0x11(%rbp), %al
andb $0x1, %al
addq $0xa0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x3450
movq %rax, %rdi
callq 0x3df0
nopw (%rax,%rax)