int TEST_ATTRIBUTE_()

in troubleshooting/resources/vscode/scripts/acutest.h [659:721]


int TEST_ATTRIBUTE_(format (printf, 4, 5))
test_check_(int cond, const char* file, int line, const char* fmt, ...)
{
    const char *result_str;
    int result_color;
    int verbose_level;

    if(cond) {
        result_str = "ok";
        result_color = TEST_COLOR_GREEN_;
        verbose_level = 3;
    } else {
        if(!test_current_already_logged_  &&  test_current_unit_ != NULL)
            test_finish_test_line_(-1);

        result_str = "failed";
        result_color = TEST_COLOR_RED_;
        verbose_level = 2;
        test_current_failures_++;
        test_current_already_logged_++;
    }

    if(test_verbose_level_ >= verbose_level) {
        va_list args;

        if(!test_case_current_already_logged_  &&  test_case_name_[0]) {
            test_line_indent_(1);
            test_print_in_color_(TEST_COLOR_DEFAULT_INTENSIVE_, "Case %s:\n", test_case_name_);
            test_current_already_logged_++;
            test_case_current_already_logged_++;
        }

        test_line_indent_(test_case_name_[0] ? 2 : 1);
        if(file != NULL) {
#ifdef ACUTEST_WIN_
            const char* lastsep1 = strrchr(file, '\\');
            const char* lastsep2 = strrchr(file, '/');
            if(lastsep1 == NULL)
                lastsep1 = file-1;
            if(lastsep2 == NULL)
                lastsep2 = file-1;
            file = (lastsep1 > lastsep2 ? lastsep1 : lastsep2) + 1;
#else
            const char* lastsep = strrchr(file, '/');
            if(lastsep != NULL)
                file = lastsep+1;
#endif
            printf("%s:%d: Check ", file, line);
        }

        va_start(args, fmt);
        vprintf(fmt, args);
        va_end(args);

        printf("... ");
        test_print_in_color_(result_color, "%s", result_str);
        printf("\n");
        test_current_already_logged_++;
    }

    test_cond_failed_ = (cond == 0);
    return !test_cond_failed_;
}