Commit b1cfc195 authored by Jose Fonseca's avatar Jose Fonseca
Browse files

util: Reorder format tests -- group by format.

parent d3808b1b
......@@ -349,31 +349,20 @@ typedef boolean
static boolean
test_one(test_func_t func, const char *suffix)
test_one_func(const struct util_format_description *format_desc,
test_func_t func,
const char *suffix)
{
enum pipe_format last_format = PIPE_FORMAT_NONE;
unsigned i;
bool success = TRUE;
printf("Testing util_format_%s_%s ...\n",
format_desc->short_name, suffix);
for (i = 0; i < util_format_nr_test_cases; ++i) {
const struct util_format_test_case *test = &util_format_test_cases[i];
const struct util_format_description *format_desc;
bool skip = FALSE;
format_desc = util_format_description(test->format);
if (format_desc->layout == UTIL_FORMAT_LAYOUT_S3TC &&
!util_format_s3tc_enabled) {
skip = TRUE;
}
if (test->format != last_format) {
printf("%s util_format_%s_%s ...\n",
skip ? "Skipping" : "Testing", format_desc->short_name, suffix);
last_format = test->format;
}
if (!skip) {
if (test->format == format_desc->format) {
if (!func(format_desc, &util_format_test_cases[i])) {
success = FALSE;
}
......@@ -387,22 +376,37 @@ test_one(test_func_t func, const char *suffix)
static boolean
test_all(void)
{
enum pipe_format format;
bool success = TRUE;
if (!test_one(&test_format_fetch_rgba_float, "fetch_rgba_float"))
success = FALSE;
for (format = 1; format < PIPE_FORMAT_COUNT; ++format) {
const struct util_format_description *format_desc;
format_desc = util_format_description(format);
if (!format_desc) {
continue;
}
if (!test_one(&test_format_pack_rgba_float, "pack_rgba_float"))
success = FALSE;
if (format_desc->layout == UTIL_FORMAT_LAYOUT_S3TC &&
!util_format_s3tc_enabled) {
continue;
}
if (!test_one(&test_format_unpack_rgba_float, "unpack_rgba_float"))
success = FALSE;
# define TEST_ONE_FUNC(name) \
if (format_desc->name) { \
if (!test_one_func(format_desc, &test_format_##name, #name)) { \
success = FALSE; \
} \
}
if (!test_one(&test_format_pack_rgba_8unorm, "pack_rgba_8unorm"))
success = FALSE;
TEST_ONE_FUNC(fetch_rgba_float);
TEST_ONE_FUNC(pack_rgba_float);
TEST_ONE_FUNC(unpack_rgba_float);
TEST_ONE_FUNC(pack_rgba_8unorm);
TEST_ONE_FUNC(unpack_rgba_8unorm);
if (!test_one(&test_format_unpack_rgba_8unorm, "unpack_rgba_8unorm"))
success = FALSE;
# undef TEST_ONE_FUNC
}
return success;
}
......
......@@ -172,7 +172,6 @@ def write_format_table(formats):
print " case %s:" % format.name
print " return &util_format_%s_description;" % (format.short_name(),)
print " default:"
print " assert(0);"
print " return NULL;"
print " }"
print "}"
......
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