From 2489b50a916215e6c993b9ae0a4a6134321c5317 Mon Sep 17 00:00:00 2001 From: Nicolas Iooss Date: Sat, 27 Aug 2016 11:21:49 +0200 Subject: [PATCH] libsepol: make "make test" fails when a CUnit test fails Signed-off-by: Nicolas Iooss --- libsepol/tests/libsepol-tests.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libsepol/tests/libsepol-tests.c b/libsepol/tests/libsepol-tests.c index 9302f720..544c792d 100644 --- a/libsepol/tests/libsepol-tests.c +++ b/libsepol/tests/libsepol-tests.c @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -51,9 +52,10 @@ static void usage(char *progname) printf("\t-i, --interactive\t\tinteractive console\n"); } -static int do_tests(int interactive, int verbose) +static bool do_tests(int interactive, int verbose) { CU_pSuite suite = NULL; + unsigned int num_failures; if (CUE_SUCCESS != CU_initialize_registry()) return CU_get_error(); @@ -73,8 +75,9 @@ static int do_tests(int interactive, int verbose) CU_console_run_tests(); else CU_basic_run_tests(); + num_failures = CU_get_number_of_tests_failed(); CU_cleanup_registry(); - return CU_get_error(); + return CU_get_error() == CUE_SUCCESS && num_failures == 0; } @@ -106,12 +109,12 @@ int main(int argc, char **argv) /* first do the non-mls tests */ mls = 0; - if (do_tests(interactive, verbose)) + if (!do_tests(interactive, verbose)) return -1; /* then with mls */ mls = 1; - if (do_tests(interactive, verbose)) + if (!do_tests(interactive, verbose)) return -1; return 0;