# HG changeset patch # User Martin von Zweigbergk # Date 1606161370 28800 # Node ID 64faa55716f49bb70ce870c7fd0a7576d8aef08c # Parent 6da22a06828144218e56aedd1b8a91d230ec0103 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 diff -r 6da22a068281 -r 64faa55716f4 mercurial/error.py --- 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): diff -r 6da22a068281 -r 64faa55716f4 tests/test-worker.t --- 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