HomePhabricator

tests: make test-alias.t pass with re2

Description

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

Details

Committed
valentin.gatienbaronNov 19 2018, 1:40 PM
Differential Revision
D5288: tests: make test-alias.t pass with re2
Parents
rHG1423ff45c322: context: remove seemingly impossible code branch
Branches
Unknown
Tags
Unknown