# HG changeset patch # User Ludovic Chabant # Date 1410159869 25200 # Node ID 5959a117a943296d47bee325b955d9d6f7a6f24f # Parent 00a9b24ca94492746f38837d80280838e2987260 Exit with the proper code. diff -r 00a9b24ca944 -r 5959a117a943 piecrust/main.py --- a/piecrust/main.py Sun Sep 07 23:49:09 2014 -0700 +++ b/piecrust/main.py Mon Sep 08 00:04:29 2014 -0700 @@ -54,13 +54,14 @@ argv = sys.argv pre_args = _pre_parse_chef_args(argv) try: - return _run_chef(pre_args) + exit_code = _run_chef(pre_args) except Exception as ex: if pre_args.debug: logger.exception(ex) else: log_friendly_exception(logger, ex) - return 1 + exit_code = 1 + sys.exit(exit_code) class PreParsedChefArgs(object): @@ -201,5 +202,10 @@ # Run the command! ctx = CommandContext(app, parser, result) exit_code = result.func(ctx) + if exit_code is None: + return 0 + if not isinstance(exit_code, int): + logger.error("Got non-integer exit code: %s" % exit_code) + return -1 return exit_code