// File: /workspace/github_c_makefile_star2_O2/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 %rbx
subq $0x30, %rsp
andl $0x0, 0x58b6(%rip)      # 0xa190
movq %rdi, %rbx
andl $0x0, 0x589c(%rip)      # 0xa180
movb $0x0, 0x5a49(%rip)      # 0xa334
andl $0x0, 0x58ee(%rip)      # 0xa1e0
movq %rdi, 0x588f(%rip)      # 0xa188
movl %esi, 0x5a09(%rip)      # 0xa308
cmpb $0x0, 0x59da(%rip)      # 0xa2e0
jne 0x4983
movl 0x5852(%rip), %eax      # 0xa160
cmpl $0x3, %eax
jl 0x492f
movq (%rbx), %rdx
leaq 0x20b0(%rip), %rsi      # 0x69cd
xorl %eax, %eax
pushq $0x3
popq %rdi
callq 0x26ab
incl 0x5853(%rip)            # 0xa180
jmp 0x4983
testl %eax, %eax
jle 0x4979
movq (%rbx), %rdx
leaq 0x209a(%rip), %rsi      # 0x69d7
xorl %eax, %eax
pushq $0x3
popq %rdi
callq 0x26ab
movaps 0x17a2(%rip), %xmm0     # 0x60f0
movaps %xmm0, (%rsp)
movaps %xmm0, 0x10(%rsp)
movaps %xmm0, 0x20(%rsp)
cmpl $0x2f, %eax
jg 0x4983
pushq $0x30
popq %rsi
subl %eax, %esi
leaq 0x1ced(%rip), %rdi      # 0x665a
xorl %eax, %eax
movq %rsp, %rdx
callq 0x20f0
jmp 0x4983
movl $0x1, 0x57fd(%rip)      # 0xa180
movq 0x564e(%rip), %rax      # 0x9fd8
movq (%rax), %rdi
callq 0x21b0
movq 0x565f(%rip), %rax      # 0x9ff8
movq (%rax), %rdi
callq 0x21b0
cmpb $0x0, 0x5940(%rip)      # 0xa2e8
jne 0x49ca
movb $0x1, 0x5833(%rip)      # 0xa1e4
leaq 0x5838(%rip), %rdi      # 0xa1f0
callq 0x2150
testl %eax, %eax
je 0x49ca
movb $0x1, 0x596c(%rip)      # 0xa334
jmp 0x49d9
leaq 0x593f(%rip), %rdi      # 0xa310
callq 0x47e7
callq *0x8(%rbx)
movb $0x0, 0x5804(%rip)      # 0xa1e4
leaq 0x5939(%rip), %rdi      # 0xa320
callq 0x47e7
movl 0x576e(%rip), %eax      # 0xa160
cmpl $0x3, %eax
jl 0x4a33
pushq $0x1
popq %rdi
callq 0x264e
cmpl $0x0, 0x578a(%rip)      # 0xa190
je 0x4a54
leaq 0x1f9a(%rip), %rsi      # 0x69a9
xorl %eax, %eax
pushq $0x5
popq %rdi
callq 0x26ab
cmpb $0x0, 0x5914(%rip)      # 0xa334
je 0x4a9f
leaq 0x25cd(%rip), %rdi      # 0x6ff6
callq 0x2080
jmp 0x4ada
testl %eax, %eax
jle 0x4ae2
cmpl $0x0, 0x574e(%rip)      # 0xa190
jne 0x4ae2
xorl %edi, %edi
callq 0x2570
jmp 0x4ae2
leaq 0x1f44(%rip), %rsi      # 0x699f
xorl %eax, %eax
pushq $0x4
popq %rdi
callq 0x26ab
leaq 0x2593(%rip), %rdi      # 0x6fff
callq 0x2080
cmpl $0x0, 0x5894(%rip)      # 0xa30c
je 0x4ada
pushq $0x1
popq %rdi
callq 0x264e
leaq 0x1bab(%rip), %rdi      # 0x6634
xorl %eax, %eax
callq 0x20f0
callq 0x45d1
pushq $0xa
popq %rdi
callq 0x2030
jmp 0x4ada
movl 0x56eb(%rip), %esi      # 0xa190
cmpl $0x1, %esi
leaq 0x1d3c(%rip), %rax      # 0x67eb
leaq 0x1bd6(%rip), %rdx      # 0x668c
cmoveq %rax, %rdx
leaq 0x177d(%rip), %rax      # 0x623e
leaq 0x177a(%rip), %rcx      # 0x6242
cmoveq %rax, %rcx
leaq 0x1edf(%rip), %rdi      # 0x69b2
xorl %eax, %eax
callq 0x20f0
pushq $0xa
popq %rdi
callq 0x2030
xorl %eax, %eax
cmpl 0x56a6(%rip), %eax      # 0xa190
movl %eax, %ebx
sbbl %eax, %ebx
movl %eax, %edi
callq 0x27c2
andq $0x0, 0x568b(%rip)      # 0xa188
movl %ebx, %eax
addq $0x30, %rsp
popq %rbx
retq
nopl (%rax)