Augie Fackler <augie@google.com> [Tue, 30 May 2017 20:47:00 -0400] rev 32644
tests: make run-tests fail early if no channel is found
I hit a weird corner case in run-tests where a test that caused an
exception to be raised was breaking everything with an unbound
variable error a few lines down because channel was never getting set
in this for loop. By adding an `else` clause to this for loop, we can
explode right away if we can't find a channel and give the developer a
better chance at figuring out what's going on.
Augie Fackler <raf@durin42.com> [Sun, 28 May 2017 15:47:00 -0400] rev 32643
dispatch: convert exception payload to bytes more carefully
We were previously depending on str() doing something reasonable here,
and we can't depend on the objects in question supporting __bytes__,
so we work around the lack of direct bytes formatting.
Augie Fackler <raf@durin42.com> [Sun, 28 May 2017 15:49:29 -0400] rev 32642
help: convert flag default to bytes portably
We were relying on %s using repr on (for example) integer values. Work
around that for Python 3 while preserving all the prior magic.
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Jun 2017 23:08:23 +0900] rev 32641
cmdutil: use isstdiofilename() where appropriate
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Jun 2017 23:05:29 +0900] rev 32640
py3: simply use b'%d\n' to format pid in server.py
Spotted by Martin, thanks.
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Jun 2017 22:43:24 +0900] rev 32639
py3: implement __bytes__() on most of our exception classes
We store bytes in exc.args, which should be translated to a byte string
without encode/decode dance.
IOError subclasses are unchanged for now. We'll need to decide how our
IOErrors should be caught.
Yuya Nishihara <yuya@tcha.org> [Thu, 01 Jun 2017 22:24:15 +0900] rev 32638
py3: convert __doc__ back to bytes in help.py
pycompat.getdoc() is pretty simple, but we wouldn't want to write handling
of None inline.