Mercurial > hg
view tests/test-walkrepo.py @ 45956:40f79997e81f
rust: fix non-utf8 char in requirements.rs
Apparently Phabricator detect `rust/hg-core/src/requirements.rs` file as non
utf8 ‽, and mark it as binary. During application it ended up being non-utf8
and this made Rust (and as a result heptapod) very angry::
error: couldn't read hg-core/src/requirements.rs: stream did not contain valid UTF-8
--> hg-core/src/lib.rs:11:9
|
11 | pub mod requirements;
| ^^^^^^^^^^^^
error: aborting due to previous error
error: could not compile `hg-core`.
The after "fixing", the file content has no character matching the following
regexp:
[^0-9-a-zA-Z /(|).,{}!\[\]:"&=>?_*-;<`'#]
So we should be fine, unless Phabricator does something funny again.
Differential Revision: https://phab.mercurial-scm.org/D9444
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sat, 28 Nov 2020 14:29:50 +0100 |
parents | 2372284d9457 |
children | 6000f5b25c9b |
line wrap: on
line source
from __future__ import absolute_import, print_function import os from mercurial import ( hg, scmutil, ui as uimod, util, ) chdir = os.chdir mkdir = os.mkdir pjoin = os.path.join walkrepos = scmutil.walkrepos checklink = util.checklink u = uimod.ui.load() sym = checklink(b'.') hg.repository(u, b'top1', create=1) mkdir(b'subdir') chdir(b'subdir') hg.repository(u, b'sub1', create=1) mkdir(b'subsubdir') chdir(b'subsubdir') hg.repository(u, b'subsub1', create=1) chdir(os.path.pardir) if sym: os.symlink(os.path.pardir, b'circle') os.symlink(pjoin(b'subsubdir', b'subsub1'), b'subsub1') def runtest(): reposet = frozenset(walkrepos(b'.', followsym=True)) if sym and (len(reposet) != 3): print("reposet = %r" % (reposet,)) print( ( "Found %d repositories when I should have found 3" % (len(reposet),) ) ) if (not sym) and (len(reposet) != 2): print("reposet = %r" % (reposet,)) print( ( "Found %d repositories when I should have found 2" % (len(reposet),) ) ) sub1set = frozenset( (pjoin(b'.', b'sub1'), pjoin(b'.', b'circle', b'subdir', b'sub1')) ) if len(sub1set & reposet) != 1: print("sub1set = %r" % (sub1set,)) print("reposet = %r" % (reposet,)) print("sub1set and reposet should have exactly one path in common.") sub2set = frozenset( (pjoin(b'.', b'subsub1'), pjoin(b'.', b'subsubdir', b'subsub1')) ) if len(sub2set & reposet) != 1: print("sub2set = %r" % (sub2set,)) print("reposet = %r" % (reposet,)) print("sub2set and reposet should have exactly one path in common.") sub3 = pjoin(b'.', b'circle', b'top1') if sym and sub3 not in reposet: print("reposet = %r" % (reposet,)) print("Symbolic links are supported and %s is not in reposet" % (sub3,)) runtest() if sym: # Simulate not having symlinks. del os.path.samestat sym = False runtest()