Mercurial > hg
changeset 40672:557d3509da55
tests: make test-alias.t pass with re2
Locally, these "non-ASCII character in alias" errors don't show up,
though I get them when the alias is defined at the command line rather
than in an hgrc.
The brokenness comes from the fact that hgrcs are parsed with regexes,
and re/re2 differ in this way:
$ python -c 'import re; print(re.compile("(.*)").match("aaa\xc0bbbb").groups())'
('aaa\xc0bbbb',)
$ python -c 'import re2; print(re2.compile("(.*)").match("aaa\xc0bbbb").groups())'
('aaa',)
Apparently re2 stops when it encounters invalid utf8 (which I suppose makes sense
given that '.' matches what appears to be a codepoint rather than a byte). This is
presumably a bug in hg, but not very important, so just change the test to stick
to valid utf8.
Differential Revision: https://phab.mercurial-scm.org/D5288
author | Valentin Gatien-Baron <vgatien-baron@janestreet.com> |
---|---|
date | Mon, 19 Nov 2018 13:40:03 -0500 |
parents | 1423ff45c322 |
children | 337a38995336 |
files | tests/test-alias.t |
diffstat | 1 files changed, 2 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-alias.t Mon Nov 19 23:08:09 2018 -0800 +++ b/tests/test-alias.t Mon Nov 19 13:40:03 2018 -0500 @@ -623,9 +623,9 @@ >>> with open('.hg/hgrc', 'ab') as f: ... f.write(b'[alias]\n' ... b'invaliddoc = log\n' - ... b'invaliddoc:doc = \xc0\n' + ... b'invaliddoc:doc = \xc3\xa9\n' ... b'invalidhelp = log\n' - ... b'invalidhelp:help = \xc0\n') and None + ... b'invalidhelp:help = \xc3\xa9\n') and None $ hg help invaliddoc non-ASCII character in alias definition 'invaliddoc:doc' $ hg help invalidhelp