httppeer: handle error response from client reactor
With this in place, we're now seeing useful errors when running
tests with the new wire protocol enabled!
Differential Revision: https://phab.mercurial-scm.org/D3332
--- a/mercurial/httppeer.py Fri Apr 13 12:31:56 2018 -0700
+++ b/mercurial/httppeer.py Thu Apr 12 13:08:33 2018 -0700
@@ -763,6 +763,14 @@
f.set_result(result)
del results[request.requestid]
+ elif action == 'error':
+ e = error.RepoError(meta['message'])
+
+ if f:
+ f.set_exception(e)
+ else:
+ raise e
+
else:
e = error.ProgrammingError('unhandled action: %s' % action)