Mercurial > hg
view tests/test-execute-bit.t @ 48011:8655a77dce94
parser: force a `ValueError` to bytes before passing to `error.ParseError`
I'm not sure what changed before pytype 09-09-2021 (from 04-15-2021), but this
started getting flagged. I think there's a pytype bug here, because I don't
see how `.lower()` can be getting called on a `ValueError` after it is forced to
a byte string. That's suppressed for now to make progress.
This fixes:
File "/mnt/c/Users/Matt/hg/mercurial/parser.py", line 219, in unescapestr: Function bytestr.__init__ was called with the wrong arguments [wrong-arg-types]
Expected: (self, ints: Iterable[int])
Actually passed: (self, ints: ValueError)
Attributes of protocol Iterable[int] are not implemented on ValueError: __iter__
File "/mnt/c/Users/Matt/hg/mercurial/parser.py", line 219, in unescapestr: No attribute 'lower' on ValueError [attribute-error]
In Union[ValueError, mercurial.pycompat.bytestr]
Differential Revision: https://phab.mercurial-scm.org/D11471
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Mon, 20 Sep 2021 10:59:26 -0400 |
parents | 7a9cbb315d84 |
children | b7fde9237c92 |
line wrap: on
line source
#require execbit $ hg init $ echo a > a $ hg ci -Am'not executable' adding a $ chmod +x a $ hg ci -m'executable' $ hg id 79abf14474dc tip Make sure we notice the change of mode if the cached size == -1: $ hg rm a $ hg revert -r 0 a $ hg debugstate n 0 -1 unset a $ hg status M a $ hg up 0 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg id d69afc33ff8a $ test -x a && echo executable -- bad || echo not executable -- good not executable -- good