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.
--- 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