Mercurial > hg
changeset 45903:64faa55716f4
tests: make test-worker.t pass on py2
I broke the py2 version in https://phab.mercurial-scm.org/D9287
because the `WorkerError.__bytes__()` (or `.__str__()`?) output was
different in py2 compared to py3. Part of the problem was that I
didn't propagate the status code that was passed in to the superclass
so it could get printed. This patch fixes that. I don't know how it
worked on py3 before this patch...
I also added the usual `__bytes__ = _tobytes` override for good
measure. It doesn't seem to be needed for tests to pass, though.
Differential Revision: https://phab.mercurial-scm.org/D9377
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Mon, 23 Nov 2020 11:56:10 -0800 |
parents | 6da22a068281 |
children | e63daff6e8ed |
files | mercurial/error.py tests/test-worker.t |
diffstat | 2 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/error.py Mon Nov 23 11:30:43 2020 -0800 +++ b/mercurial/error.py Mon Nov 23 11:56:10 2020 -0800 @@ -137,6 +137,10 @@ def __init__(self, status_code): self.status_code = status_code + # Pass status code to superclass just so it becomes part of __bytes__ + super(WorkerError, self).__init__(status_code) + + __bytes__ = _tobytes class InterventionRequired(Hint, Exception):
--- a/tests/test-worker.t Mon Nov 23 11:30:43 2020 -0800 +++ b/tests/test-worker.t Mon Nov 23 11:56:10 2020 -0800 @@ -90,7 +90,8 @@ mercurial.error.Abort: known exception (py3 !) Abort: known exception (no-py3 !) raise error.WorkerError(status) - mercurial.error.WorkerError: 255 + WorkerError: 255 (no-py3 !) + mercurial.error.WorkerError: 255 (py3 !) Traceback must be printed for unknown exceptions