]> www.infradead.org Git - users/dhowells/kafs-utils.git/commitdiff
Handle exit codes better
authorDavid Howells <dhowells@redhat.com>
Tue, 13 May 2014 16:28:11 +0000 (17:28 +0100)
committerDavid Howells <dhowells@redhat.com>
Tue, 13 May 2014 16:37:01 +0000 (17:37 +0100)
Returning the intended exit code from the main try block that invokes the
subcommand handler rather than trying to exit within the exception handling
seems to work better and actually return the error code.

Signed-off-by: David Howells <dhowells@redhat.com>
suite/main.py

index b4ecc357c123c1757e9422f0883b702032197809..c6fe79fed68535064770f4ca35f8c0cccac15532 100644 (file)
@@ -160,23 +160,22 @@ def _main():
     try:
         command.main(params)
         ret = get_exitcode()
-        sys.exit(ret)
     except (AFSException, IOError) as err:
         print(prog + ":", str(err), file=sys.stderr)
         if debugging_level > 0:
             traceback.print_exc()
-        sys.exit(1)
+        ret = 1
     except AFSArgumentError as e:
         print(prog + ":", e, file=sys.stderr)
-        sys.exit(2)
+        ret = 2
     except KeyboardInterrupt:
-        sys.exit(1)
+        ret = 1
     except SystemExit:
-        sys.exit(0)
+        ret = 0
     except:
         print('Unhandled exception:', file=sys.stderr)
         traceback.print_exc()
-        sys.exit(3)
+        ret = 3
 
     sys.exit(ret or 0)