// File: /workspace/github_c_makefile_star2_O0/chatziko-k08[P]lecture-code/tests/../include/acutest.h
// Function: acutest_do_run_
static int
acutest_do_run_(const struct acutest_test_* test, int index)
{
    int status = -1;

    acutest_was_aborted_ = 0;
    acutest_current_test_ = test;
    acutest_current_index_ = index;
    acutest_test_failures_ = 0;
    acutest_test_already_logged_ = 0;
    acutest_cond_failed_ = 0;

#ifdef __cplusplus
    try {
#endif
        acutest_init_(test->name);
        acutest_begin_test_line_(test);

        /* This is good to do in case the test unit crashes. */
        fflush(stdout);
        fflush(stderr);

        if(!acutest_worker_) {
            acutest_abort_has_jmp_buf_ = 1;
            if(setjmp(acutest_abort_jmp_buf_) != 0) {
                acutest_was_aborted_ = 1;
                goto aborted;
            }
        }

        acutest_timer_get_time_(&acutest_timer_start_);
        test->func();
aborted:
        acutest_abort_has_jmp_buf_ = 0;
        acutest_timer_get_time_(&acutest_timer_end_);

        if(acutest_verbose_level_ >= 3) {
            acutest_line_indent_(1);
            if(acutest_test_failures_ == 0) {
                acutest_colored_printf_(ACUTEST_COLOR_GREEN_INTENSIVE_, "SUCCESS: ");
                printf("All conditions have passed.\n");

                if(acutest_timer_) {
                    acutest_line_indent_(1);
                    printf("Duration: ");
                    acutest_timer_print_diff_();
                    printf("\n");
                }
            } else {
                acutest_colored_printf_(ACUTEST_COLOR_RED_INTENSIVE_, "FAILED: ");
                if(!acutest_was_aborted_) {
                    printf("%d condition%s %s failed.\n",
                            acutest_test_failures_,
                            (acutest_test_failures_ == 1) ? "" : "s",
                            (acutest_test_failures_ == 1) ? "has" : "have");
                } else {
                    printf("Aborted.\n");
                }
            }
            printf("\n");
        } else if(acutest_verbose_level_ >= 1 && acutest_test_failures_ == 0) {
            acutest_finish_test_line_(0);
        }

        status = (acutest_test_failures_ == 0) ? 0 : -1;

#ifdef __cplusplus
    } catch(std::exception& e) {
        const char* what = e.what();
        acutest_check_(0, NULL, 0, "Threw std::exception");
        if(what != NULL)
            acutest_message_("std::exception::what(): %s", what);

        if(acutest_verbose_level_ >= 3) {
            acutest_line_indent_(1);
            acutest_colored_printf_(ACUTEST_COLOR_RED_INTENSIVE_, "FAILED: ");
            printf("C++ exception.\n\n");
        }
    } catch(...) {
        acutest_check_(0, NULL, 0, "Threw an exception");

        if(acutest_verbose_level_ >= 3) {
            acutest_line_indent_(1);
            acutest_colored_printf_(ACUTEST_COLOR_RED_INTENSIVE_, "FAILED: ");
            printf("C++ exception.\n\n");
        }
    }
#endif

    acutest_fini_(test->name);
    acutest_case_(NULL);
    acutest_current_test_ = NULL;

    return status;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movl $0xffffffff, -0x10(%rbp) # imm = 0xFFFFFFFF
movl $0x0, 0x68f4(%rip)      # 0xc314
movq -0x8(%rbp), %rax
movq %rax, 0x673d(%rip)      # 0xc168
movl -0xc(%rbp), %eax
movl %eax, 0x68b4(%rip)      # 0xc2e8
movl $0x0, 0x6732(%rip)      # 0xc170
movl $0x0, 0x6718(%rip)      # 0xc160
movl $0x0, 0x676e(%rip)      # 0xc1c0
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x5cb0
movq -0x8(%rbp), %rdi
callq 0x5cc0
movq 0x656a(%rip), %rax      # 0xbfd8
movq (%rax), %rdi
callq 0x2190
movq 0x657b(%rip), %rax      # 0xbff8
movq (%rax), %rdi
callq 0x2190
cmpl $0x0, 0x683c(%rip)      # 0xc2c8
jne 0x5ab7
movl $0x1, 0x672c(%rip)      # 0xc1c4
leaq 0x6731(%rip), %rdi      # 0xc1d0
callq 0x2130
cmpl $0x0, %eax
je 0x5ab5
movl $0x1, 0x6861(%rip)      # 0xc314
jmp 0x5aca
jmp 0x5ab7
leaq 0x6832(%rip), %rdi      # 0xc2f0
callq 0x58d0
movq -0x8(%rbp), %rax
callq *0x8(%rax)
movl $0x0, 0x66f0(%rip)      # 0xc1c4
leaq 0x6825(%rip), %rdi      # 0xc300
callq 0x58d0
cmpl $0x3, 0x6661(%rip)      # 0xc148
jl 0x5bdf
movl $0x1, %edi
callq 0x26e0
cmpl $0x0, 0x6672(%rip)      # 0xc170
jne 0x5b57
movl $0x4, %edi
leaq 0x3483(%rip), %rsi      # 0x8f8f
movb $0x0, %al
callq 0x2760
leaq 0x347f(%rip), %rdi      # 0x8f99
movb $0x0, %al
callq 0x20d0
cmpl $0x0, 0x67c4(%rip)      # 0xc2ec
je 0x5b55
movl $0x1, %edi
callq 0x26e0
leaq 0x2ac2(%rip), %rdi      # 0x85fd
movb $0x0, %al
callq 0x20d0
callq 0x5280
leaq 0x2c7b(%rip), %rdi      # 0x87c9
movb $0x0, %al
callq 0x20d0
jmp 0x5bcf
movl $0x5, %edi
leaq 0x3453(%rip), %rsi      # 0x8fb6
movb $0x0, %al
callq 0x2760
cmpl $0x0, 0x67a3(%rip)      # 0xc314
jne 0x5bbf
movl 0x65f7(%rip), %esi      # 0xc170
movl 0x65f1(%rip), %ecx      # 0xc170
leaq 0x2ad1(%rip), %rdx      # 0x8657
leaq 0x2c3d(%rip), %rax      # 0x87ca
cmpl $0x1, %ecx
cmoveq %rax, %rdx
movl 0x65d6(%rip), %edi      # 0xc170
leaq 0x266a(%rip), %rcx      # 0x820b
leaq 0x265f(%rip), %rax      # 0x8207
cmpl $0x1, %edi
cmoveq %rax, %rcx
leaq 0x3409(%rip), %rdi      # 0x8fbf
movb $0x0, %al
callq 0x20d0
jmp 0x5bcd
leaq 0x3414(%rip), %rdi      # 0x8fda
movb $0x0, %al
callq 0x20d0
jmp 0x5bcf
leaq 0x2bf3(%rip), %rdi      # 0x87c9
movb $0x0, %al
callq 0x20d0
jmp 0x5bfa
cmpl $0x1, 0x6562(%rip)      # 0xc148
jl 0x5bf8
cmpl $0x0, 0x6581(%rip)      # 0xc170
jne 0x5bf8
xorl %edi, %edi
callq 0x25b0
jmp 0x5bfa
movl 0x6570(%rip), %edx      # 0xc170
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
cmpl $0x0, %edx
cmovel %ecx, %eax
movl %eax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x2e90
xorl %eax, %eax
movl %eax, %edi
movb $0x0, %al
callq 0x2910
movq $0x0, 0x6536(%rip) # 0xc168
movl -0x10(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)