Merge commit '65c14801527068fcaf729eeffc142ffd4682a21a'
* commit '65c14801527068fcaf729eeffc142ffd4682a21a': checkasm: Modify report format Merged-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
commit
b940145c67
@ -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 {
|
|||||||
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)
|
|||||||
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[])
|
|||||||
{
|
{
|
||||||
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, ...)
|
|||||||
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) {
|
||||||
|
int pad_length = max_length + 4;
|
||||||
|
va_list arg;
|
||||||
|
|
||||||
print_cpu_name();
|
print_cpu_name();
|
||||||
|
pad_length -= fprintf(stderr, " - %s.", state.current_test_name);
|
||||||
if (*name) {
|
va_start(arg, name);
|
||||||
int pad_length = max_length;
|
pad_length -= vfprintf(stderr, name, arg);
|
||||||
va_list arg;
|
va_end(arg);
|
||||||
|
fprintf(stderr, "%*c", FFMAX(pad_length, 0) + 2, '[');
|
||||||
fprintf(stderr, " - ");
|
|
||||||
va_start(arg, name);
|
|
||||||
pad_length -= vfprintf(stderr, name, arg);
|
|
||||||
va_end(arg);
|
|
||||||
fprintf(stderr, "%*c", FFMAX(pad_length, 0) + 2, '[');
|
|
||||||
} else
|
|
||||||
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, ...)
|
|||||||
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)();
|
|||||||
#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)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
report("%s_h264_qpel", op_name);
|
report("%s", op_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user