// File: Barath-Kannan[P]SignalsAndSlots/3rdparty/googletest/src/CustomTestPrinter.cpp
// Function: CustomTestPrinter::OnTestIterationEnd(testing::UnitTest const&, int)
void OnTestIterationEnd(const UnitTest& unit_test, int /*iteration*/) {
        PRINT_EXTENDER;
        printf("%d %s from %d %s ran", 
                unit_test.test_to_run_count(), unit_test.test_to_run_count() == 1 ? "test" : "tests",
                unit_test.test_case_to_run_count(), unit_test.test_case_to_run_count() == 1 ? "test case" : "test cases");
        
        if (GTEST_FLAG(print_time)) {
            printf(" (%s ms total)",
                    internal::StreamableToString(unit_test.elapsed_time()).c_str());
        }
        printf("\n");
        PRINT_EXTENDER;
        printf("%d %s PASSED.\n", unit_test.successful_test_count(), unit_test.successful_test_count() == 1 ? "test" : "tests");

        int num_failures = unit_test.failed_test_count();
        if (!unit_test.Passed()) {
            const int failed_test_count = unit_test.failed_test_count();
            PRINT_EXTENDER;
            printf("%d %s FAILED.\n", failed_test_count, failed_test_count == 1 ? "test" : "tests");
            PrintFailedTests(unit_test);
        }

        int num_disabled = unit_test.reportable_disabled_test_count();
        if (num_disabled && !GTEST_FLAG(also_run_disabled_tests)) {
            if (!num_failures) {
                printf("\n"); // Add a spacer if no FAILURE banner is displayed.
            }
            printf(
                    "  YOU HAVE %d DISABLED %s\n\n",
                    num_disabled,
                    num_disabled == 1 ? "TEST" : "TESTS");
        }
        // Ensure that Google Test output is printed before, e.g., heapchecker output.
        fflush(stdout);
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x78(%rbp)
leaq 0x76d0(%rip), %rdi      # 0xabfb5
movb $0x0, %al
callq 0xd090
movq -0x10(%rbp), %rdi
callq 0x77570
movl %eax, -0x6c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x77570
movl %eax, %edx
leaq 0x4ee8(%rip), %rax      # 0xa97f2
leaq 0x6b57(%rip), %rcx      # 0xab468
cmpl $0x1, %edx
cmoveq %rcx, %rax
movq %rax, -0x68(%rbp)
movq -0x10(%rbp), %rdi
callq 0x775e0
movl %eax, -0x5c(%rbp)
movq -0x10(%rbp), %rdi
callq 0x775e0
movl -0x6c(%rbp), %esi
movq -0x68(%rbp), %rdx
movl -0x5c(%rbp), %ecx
movl %eax, %edi
leaq 0x5efe(%rip), %r8       # 0xaa842
leaq 0x5eed(%rip), %rax      # 0xaa838
cmpl $0x1, %edi
cmoveq %rax, %r8
leaq 0x7799(%rip), %rdi      # 0xac0f2
movb $0x0, %al
callq 0xd090
leaq 0xa92b1(%rip), %rax     # 0x14dc18
testb $0x1, (%rax)
je 0xa49cb
movq -0x10(%rbp), %rdi
callq 0x78190
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
movq %rdi, -0x80(%rbp)
leaq -0x40(%rbp), %rsi
callq 0x83a00
movq -0x80(%rbp), %rdi
callq 0xd260
movq %rax, %rsi
leaq 0x57d3(%rip), %rdi      # 0xaa170
xorl %eax, %eax
callq 0xd090
jmp 0xa49a6
leaq -0x38(%rbp), %rdi
callq 0xde48
jmp 0xa49cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xde48
jmp 0xa4b06
leaq 0x5763(%rip), %rdi      # 0xaa135
movb $0x0, %al
callq 0xd090
leaq 0x75d5(%rip), %rdi      # 0xabfb5
movb $0x0, %al
callq 0xd090
movq -0x10(%rbp), %rdi
callq 0x781c0
movl %eax, -0x84(%rbp)
movq -0x10(%rbp), %rdi
callq 0x781c0
movl -0x84(%rbp), %esi
movl %eax, %ecx
leaq 0x4de4(%rip), %rdx      # 0xa97f2
leaq 0x6a53(%rip), %rax      # 0xab468
cmpl $0x1, %ecx
cmoveq %rax, %rdx
leaq 0x76e4(%rip), %rdi      # 0xac107
movb $0x0, %al
callq 0xd090
movq -0x10(%rbp), %rdi
callq 0x77d90
movl %eax, -0x50(%rbp)
movq -0x10(%rbp), %rdi
callq 0x781f0
testb $0x1, %al
jne 0xa4a93
movq -0x10(%rbp), %rdi
callq 0x77d90
movl %eax, -0x54(%rbp)
leaq 0x755f(%rip), %rdi      # 0xabfb5
movb $0x0, %al
callq 0xd090
movl -0x54(%rbp), %esi
movl -0x54(%rbp), %ecx
leaq 0x4d88(%rip), %rdx      # 0xa97f2
leaq 0x69f7(%rip), %rax      # 0xab468
cmpl $0x1, %ecx
cmoveq %rax, %rdx
leaq 0x7697(%rip), %rdi      # 0xac116
movb $0x0, %al
callq 0xd090
movq -0x78(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0xa4bc0
movq -0x10(%rbp), %rdi
callq 0x78220
movl %eax, -0x58(%rbp)
cmpl $0x0, -0x58(%rbp)
je 0xa4aee
leaq 0xa90fe(%rip), %rax     # 0x14dbaa
testb $0x1, (%rax)
jne 0xa4aee
cmpl $0x0, -0x50(%rbp)
jne 0xa4ac5
leaq 0x5677(%rip), %rdi      # 0xaa135
movb $0x0, %al
callq 0xd090
movl -0x58(%rbp), %esi
movl -0x58(%rbp), %ecx
leaq 0x56e3(%rip), %rdx      # 0xaa1b5
leaq 0x56d7(%rip), %rax      # 0xaa1b0
cmpl $0x1, %ecx
cmoveq %rax, %rdx
leaq 0x56d4(%rip), %rdi      # 0xaa1bb
movb $0x0, %al
callq 0xd090
movq 0x5648b(%rip), %rax     # 0xfaf80
movq (%rax), %rdi
callq 0xd830
addq $0x90, %rsp
popq %rbp
retq
movq -0x48(%rbp), %rdi
callq 0xdcb0
nop