Skip to content

Commit

Permalink
semanage/test-semanage.py: Return non-zero value when some of unittes…
Browse files Browse the repository at this point in the history
…t tests fail

Previously python/semanage/test-semanage.py returned 0 even when there was a
fail in some test and `make test` didn't indicate any problem.

Fixes:
    $ make test
    ...
    Ran 10 tests in 110.854s
    FAILED (failures=4)
    $ echo $?
    0

Signed-off-by: Petr Lautrbach <plautrba@redhat.com>
Acked-by: Nicolas Iooss <nicolas.iooss@m4x.org>
  • Loading branch information
bachradsusi committed May 13, 2020
1 parent 8c1282b commit 6c6f4f7
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions python/semanage/test-semanage.py
Expand Up @@ -233,7 +233,7 @@ def semanage_custom_suite(test_list):


def semanage_run_test(suite):
unittest.TextTestRunner(verbosity=2).run(suite)
return unittest.TextTestRunner(verbosity=2).run(suite).wasSuccessful()


class CheckTest(argparse.Action):
Expand All @@ -255,9 +255,9 @@ def semanage_args(args):
for i in semanage_test_list:
print(i)
if args.all:
semanage_run_test(semanage_suite())
return semanage_run_test(semanage_suite())
if args.test:
semanage_run_test(semanage_custom_suite(args.test))
return semanage_run_test(semanage_custom_suite(args.test))


def gen_semanage_test_args(parser):
Expand All @@ -281,8 +281,10 @@ def gen_semanage_test_args(parser):
gen_semanage_test_args(parser)
try:
args = parser.parse_args()
args.func(args)
sys.exit(0)
if args.func(args):
sys.exit(0)
else:
sys.exit(1)
except ValueError as e:
sys.stderr.write("%s: %s\n" % (e.__class__.__name__, str(e)))
sys.exit(1)
Expand Down

0 comments on commit 6c6f4f7

Please sign in to comment.