mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 17:40:11 +01:00
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 <maraeo@gmail.com>
This commit is contained in:
parent
5355fc1e87
commit
bcf2e157ca
5 changed files with 22 additions and 6 deletions
|
|
@ -27,7 +27,17 @@
|
||||||
|
|
||||||
#include "r300_compiler_tests.h"
|
#include "r300_compiler_tests.h"
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
int main(int argc, char ** argv)
|
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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
|
|
@ -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_;");
|
"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[] = {
|
struct test tests[] = {
|
||||||
{"rc_inst_can_use_presub()", test_runner_rc_inst_can_use_presub},
|
{"rc_inst_can_use_presub()", test_runner_rc_inst_can_use_presub},
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
run_tests(tests);
|
return run_tests(tests);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,16 +31,21 @@
|
||||||
|
|
||||||
#include "unit_test.h"
|
#include "unit_test.h"
|
||||||
|
|
||||||
void run_tests(struct test tests[])
|
unsigned run_tests(struct test tests[])
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
unsigned pass = 1;
|
||||||
for (i = 0; tests[i].name; i++) {
|
for (i = 0; tests[i].name; i++) {
|
||||||
printf("Test %s\n", tests[i].name);
|
printf("Test %s\n", tests[i].name);
|
||||||
memset(&tests[i].result, 0, sizeof(tests[i].result));
|
memset(&tests[i].result, 0, sizeof(tests[i].result));
|
||||||
tests[i].test_func(&tests[i].result);
|
tests[i].test_func(&tests[i].result);
|
||||||
printf("Test %s (%d/%d) pass\n", tests[i].name,
|
printf("Test %s (%d/%d) pass\n", tests[i].name,
|
||||||
tests[i].result.pass, tests[i].result.test_count);
|
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)
|
void test_begin(struct test_result * result)
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ struct test {
|
||||||
struct test_result result;
|
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_begin(struct test_result * result);
|
||||||
void test_check(struct test_result * result, int cond);
|
void test_check(struct test_result * result, int cond);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue