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
--- 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