dispatch: fix exit code of unhandled exception recorded in blackbox log
authorYuya Nishihara <yuya@tcha.org>
Wed, 16 May 2018 20:17:50 +0900
changeset 38022 48853a927757
parent 38021 538e850ae737
child 38023 c3fd9a0f8277
dispatch: fix exit code of unhandled exception recorded in blackbox log Spotted by Martin von Zweigbergk. We might want to change the exit code to -1 (i.e. 255) because 1 means non-abort error in hg, but that's another issue.
mercurial/dispatch.py
tests/test-blackbox.t
--- a/mercurial/dispatch.py	Tue May 15 11:52:43 2018 -0700
+++ b/mercurial/dispatch.py	Wed May 16 20:17:50 2018 +0900
@@ -208,7 +208,7 @@
 
     msg = _formatargs(req.args)
     starttime = util.timer()
-    ret = -1
+    ret = 1  # default of Python exit code on unhandled exception
     try:
         ret = _runcatch(req) or 0
     except error.ProgrammingError as inst:
@@ -239,7 +239,7 @@
             req.ui.log('uiblocked', 'ui blocked ms',
                        **pycompat.strkwargs(req.ui._blockedtimes))
         req.ui.log("commandfinish", "%s exited %d after %0.2f seconds\n",
-                   msg, ret or 0, duration)
+                   msg, ret, duration)
         try:
             req._runexithandlers()
         except: # exiting, so no re-raises
--- a/tests/test-blackbox.t	Tue May 15 11:52:43 2018 -0700
+++ b/tests/test-blackbox.t	Wed May 16 20:17:50 2018 +0900
@@ -49,7 +49,7 @@
   $ hg crash 2> /dev/null
   [1]
   $ hg blackbox -l 2
-  1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> crash exited -1 after * seconds (glob)
+  1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> crash exited 1 after * seconds (glob)
   1970/01/01 00:00:00 bob @0000000000000000000000000000000000000000 (5000)> blackbox -l 2
 
 alias expansion is logged