From: Tom Stellard Date: Sun, 10 Feb 2013 05:15:10 +0000 (-0500) Subject: r300g/tests: Exit test runner with a valid status code X-Git-Tag: mesa-9.2.1~2621 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bcf2e157caeb2ee607a1398de9fd68f315dd4d6e;p=platform%2Fupstream%2Fmesa.git r300g/tests: Exit test runner with a valid status code This way make check can report whether or not the tests pass. NOTE: This is a candidate for the stable branches. Reviewed-by: Marek Olšák --- diff --git a/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.c b/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.c index 4b98e38..cc4725a 100644 --- a/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.c +++ b/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.c @@ -27,7 +27,17 @@ #include "r300_compiler_tests.h" +#include + int main(int argc, char ** argv) { - radeon_compiler_util_run_tests(); + unsigned pass = 1; + pass &= radeon_compiler_optimize_run_tests(); + pass &= radeon_compiler_util_run_tests(); + + if (pass) { + return EXIT_SUCCESS; + } else { + return EXIT_FAILURE; + } } diff --git a/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.h b/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.h index b671955..266addf 100644 --- a/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.h +++ b/src/gallium/drivers/r300/compiler/tests/r300_compiler_tests.h @@ -25,4 +25,5 @@ * */ -void radeon_compiler_util_run_tests(void); +unsigned radeon_compiler_optimize_run_tests(void); +unsigned radeon_compiler_util_run_tests(void); diff --git a/src/gallium/drivers/r300/compiler/tests/radeon_compiler_util_tests.c b/src/gallium/drivers/r300/compiler/tests/radeon_compiler_util_tests.c index 25220ec..33b27fc 100644 --- a/src/gallium/drivers/r300/compiler/tests/radeon_compiler_util_tests.c +++ b/src/gallium/drivers/r300/compiler/tests/radeon_compiler_util_tests.c @@ -94,11 +94,11 @@ static void test_runner_rc_inst_can_use_presub(struct test_result * result) "MAD temp[0].xyz, temp[2].xyz_, -temp[3].xxx_, input[5].xyz_;"); } -void radeon_compiler_util_run_tests() +unsigned radeon_compiler_util_run_tests() { struct test tests[] = { {"rc_inst_can_use_presub()", test_runner_rc_inst_can_use_presub}, {NULL, NULL} }; - run_tests(tests); + return run_tests(tests); } diff --git a/src/gallium/drivers/r300/compiler/tests/unit_test.c b/src/gallium/drivers/r300/compiler/tests/unit_test.c index ac6bded..a014d78 100644 --- a/src/gallium/drivers/r300/compiler/tests/unit_test.c +++ b/src/gallium/drivers/r300/compiler/tests/unit_test.c @@ -31,16 +31,21 @@ #include "unit_test.h" -void run_tests(struct test tests[]) +unsigned run_tests(struct test tests[]) { int i; + unsigned pass = 1; for (i = 0; tests[i].name; i++) { printf("Test %s\n", tests[i].name); memset(&tests[i].result, 0, sizeof(tests[i].result)); tests[i].test_func(&tests[i].result); printf("Test %s (%d/%d) pass\n", tests[i].name, tests[i].result.pass, tests[i].result.test_count); + if (tests[i].result.pass != tests[i].result.test_count) { + pass = 0; + } } + return pass; } void test_begin(struct test_result * result) diff --git a/src/gallium/drivers/r300/compiler/tests/unit_test.h b/src/gallium/drivers/r300/compiler/tests/unit_test.h index 9a69fd7..4a95843 100644 --- a/src/gallium/drivers/r300/compiler/tests/unit_test.h +++ b/src/gallium/drivers/r300/compiler/tests/unit_test.h @@ -37,7 +37,7 @@ struct test { struct test_result result; }; -void run_tests(struct test tests[]); +unsigned run_tests(struct test tests[]); void test_begin(struct test_result * result); void test_check(struct test_result * result, int cond);