Signed-off-by: Nicolas Iooss <[email protected]>
---
 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 9302f7206d54..544c792d2ab5 100644
--- a/libsepol/tests/libsepol-tests.c
+++ b/libsepol/tests/libsepol-tests.c
@@ -28,6 +28,7 @@
 #include <CUnit/Console.h>
 #include <CUnit/TestDB.h>
 
+#include <stdbool.h>
 #include <stdio.h>
 #include <getopt.h>
 #include <stdlib.h>
@@ -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;
-- 
2.9.3

_______________________________________________
Selinux mailing list
[email protected]
To unsubscribe, send email to [email protected].
To get help, send an email containing "help" to [email protected].

Reply via email to