# HG changeset patch # User Yuya Nishihara # Date 2018-05-16 11:17:50 # Node ID 48853a92775710622e9b6ec4ec1b3128e87919e6 # Parent 538e850ae73745c55bbb7da1ee3659c21a315688 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. diff --git a/mercurial/dispatch.py b/mercurial/dispatch.py --- a/mercurial/dispatch.py +++ b/mercurial/dispatch.py @@ -208,7 +208,7 @@ def dispatch(req): 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 @@ def dispatch(req): 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 diff --git a/tests/test-blackbox.t b/tests/test-blackbox.t --- a/tests/test-blackbox.t +++ b/tests/test-blackbox.t @@ -49,7 +49,7 @@ unhandled exception $ 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