Commit 65c14801 authored by Henrik Gramner's avatar Henrik Gramner Committed by Anton Khirnov

checkasm: Modify report format

Makes it a bit more clear where each test belongs.

Suggested by Anton Khirnov.
Signed-off-by: 's avatarAnton Khirnov <anton@khirnov.net>
parent f3bd3810
...@@ -53,17 +53,20 @@ ...@@ -53,17 +53,20 @@
#endif #endif
/* List of tests to invoke */ /* List of tests to invoke */
static void (* const tests[])(void) = { static const struct {
const char *name;
void (*func)(void);
} tests[] = {
#if CONFIG_BSWAPDSP #if CONFIG_BSWAPDSP
checkasm_check_bswapdsp, { "bswapdsp", checkasm_check_bswapdsp },
#endif #endif
#if CONFIG_H264PRED #if CONFIG_H264PRED
checkasm_check_h264pred, { "h264pred", checkasm_check_h264pred },
#endif #endif
#if CONFIG_H264QPEL #if CONFIG_H264QPEL
checkasm_check_h264qpel, { "h264qpel", checkasm_check_h264qpel },
#endif #endif
NULL { NULL }
}; };
/* List of cpu flags to check */ /* List of cpu flags to check */
...@@ -127,6 +130,7 @@ static struct { ...@@ -127,6 +130,7 @@ static struct {
CheckasmFunc *funcs; CheckasmFunc *funcs;
CheckasmFunc *current_func; CheckasmFunc *current_func;
CheckasmFuncVersion *current_func_ver; CheckasmFuncVersion *current_func_ver;
const char *current_test_name;
const char *bench_pattern; const char *bench_pattern;
int bench_pattern_len; int bench_pattern_len;
int num_checked; int num_checked;
...@@ -314,8 +318,10 @@ static void check_cpu_flag(const char *name, int flag) ...@@ -314,8 +318,10 @@ static void check_cpu_flag(const char *name, int flag)
int i; int i;
state.cpu_flag_name = name; state.cpu_flag_name = name;
for (i = 0; tests[i]; i++) for (i = 0; tests[i].func; i++) {
tests[i](); state.current_test_name = tests[i].name;
tests[i].func();
}
} }
} }
...@@ -332,7 +338,7 @@ int main(int argc, char *argv[]) ...@@ -332,7 +338,7 @@ int main(int argc, char *argv[])
{ {
int i, seed, ret = 0; int i, seed, ret = 0;
if (!tests[0] || !cpus[0].flag) { if (!tests[0].func || !cpus[0].flag) {
fprintf(stderr, "checkasm: no tests to perform\n"); fprintf(stderr, "checkasm: no tests to perform\n");
return 0; return 0;
} }
...@@ -464,19 +470,15 @@ void checkasm_report(const char *name, ...) ...@@ -464,19 +470,15 @@ void checkasm_report(const char *name, ...)
static int prev_checked, prev_failed, max_length; static int prev_checked, prev_failed, max_length;
if (state.num_checked > prev_checked) { if (state.num_checked > prev_checked) {
print_cpu_name(); int pad_length = max_length + 4;
va_list arg;
if (*name) {
int pad_length = max_length;
va_list arg;
fprintf(stderr, " - "); print_cpu_name();
va_start(arg, name); pad_length -= fprintf(stderr, " - %s.", state.current_test_name);
pad_length -= vfprintf(stderr, name, arg); va_start(arg, name);
va_end(arg); pad_length -= vfprintf(stderr, name, arg);
fprintf(stderr, "%*c", FFMAX(pad_length, 0) + 2, '['); va_end(arg);
} else fprintf(stderr, "%*c", FFMAX(pad_length, 0) + 2, '[');
fprintf(stderr, " - %-*s [", max_length, state.current_func->name);
if (state.num_failed == prev_failed) if (state.num_failed == prev_failed)
color_printf(COLOR_GREEN, "OK"); color_printf(COLOR_GREEN, "OK");
...@@ -487,16 +489,13 @@ void checkasm_report(const char *name, ...) ...@@ -487,16 +489,13 @@ void checkasm_report(const char *name, ...)
prev_checked = state.num_checked; prev_checked = state.num_checked;
prev_failed = state.num_failed; prev_failed = state.num_failed;
} else if (!state.cpu_flag) { } else if (!state.cpu_flag) {
int length;
/* Calculate the amount of padding required to make the output vertically aligned */ /* Calculate the amount of padding required to make the output vertically aligned */
if (*name) { int length = strlen(state.current_test_name);
va_list arg; va_list arg;
va_start(arg, name);
length = vsnprintf(NULL, 0, name, arg); va_start(arg, name);
va_end(arg); length += vsnprintf(NULL, 0, name, arg);
} else va_end(arg);
length = strlen(state.current_func->name);
if (length > max_length) if (length > max_length)
max_length = length; max_length = length;
......
...@@ -55,7 +55,7 @@ static av_unused intptr_t (*func_new)(); ...@@ -55,7 +55,7 @@ static av_unused intptr_t (*func_new)();
#define fail() checkasm_fail_func("%s:%d", av_basename(__FILE__), __LINE__) #define fail() checkasm_fail_func("%s:%d", av_basename(__FILE__), __LINE__)
/* Print the test outcome */ /* Print the test outcome */
#define report(...) checkasm_report("" __VA_ARGS__) #define report checkasm_report
/* Call the reference function */ /* Call the reference function */
#define call_ref(...) func_ref(__VA_ARGS__) #define call_ref(...) func_ref(__VA_ARGS__)
......
...@@ -75,6 +75,6 @@ void checkasm_check_h264qpel(void) ...@@ -75,6 +75,6 @@ void checkasm_check_h264qpel(void)
} }
} }
} }
report("%s_h264_qpel", op_name); report("%s", op_name);
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment