tests: make test-alias.t pass with re2
authorValentin Gatien-Baron <vgatien-baron@janestreet.com>
Mon, 19 Nov 2018 13:40:03 -0500
changeset 40672 557d3509da55
parent 40671 1423ff45c322
child 40673 337a38995336
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
tests/test-alias.t
--- 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