Mercurial > hg-stable
view tests/test-check-code.t @ 31731:bdb72dd3957e
test-check-code: prevent files being added to the root directory
Adding new files in the root directory is probably a mistake, and is usually
discouraged [1]. The test catches it to avoid mistakes like [2].
Modify the test if files need to be added in the root.
[1]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-July/086442.html
[2]: https://www.mercurial-scm.org/pipermail/mercurial-devel/2017-March/095836.html
author | Jun Wu <quark@fb.com> |
---|---|
date | Wed, 29 Mar 2017 12:14:20 -0700 |
parents | f1e0446e804c |
children | 0e4f70f63aaa |
line wrap: on
line source
#require test-repo $ . "$TESTDIR/helpers-testrepo.sh" $ check_code="$TESTDIR"/../contrib/check-code.py $ cd "$TESTDIR"/.. New errors are not allowed. Warnings are strongly discouraged. (The writing "no-che?k-code" is for not skipping this file when checking.) $ hg locate -X contrib/python-zstandard -X hgext/fsmonitor/pywatchman | > sed 's-\\-/-g' | xargs "$check_code" --warnings --per-file=0 || false contrib/perf.py:859: > r.revision(r.node(x)) don't covert rev to node before passing to revision(nodeorrev) Skipping i18n/polib.py it has no-che?k-code (glob) mercurial/demandimport.py:312: > if os.environ.get('HGDEMANDIMPORT') != 'disable': use encoding.environ instead (py3) mercurial/encoding.py:54: > environ = os.environ use encoding.environ instead (py3) mercurial/encoding.py:56: > environ = os.environb use encoding.environ instead (py3) mercurial/encoding.py:61: > for k, v in os.environ.items()) use encoding.environ instead (py3) mercurial/encoding.py:221: > for k, v in os.environ.items()) use encoding.environ instead (py3) Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob) Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob) mercurial/policy.py:46: > if 'HGMODULEPOLICY' in os.environ: use encoding.environ instead (py3) mercurial/policy.py:47: > policy = os.environ['HGMODULEPOLICY'].encode('utf-8') use encoding.environ instead (py3) mercurial/policy.py:49: > policy = os.environ.get('HGMODULEPOLICY', policy) use encoding.environ instead (py3) Skipping mercurial/statprof.py it has no-che?k-code (glob) [1] @commands in debugcommands.py should be in alphabetical order. >>> import re >>> commands = [] >>> with open('mercurial/debugcommands.py', 'rb') as fh: ... for line in fh: ... m = re.match("^@command\('([a-z]+)", line) ... if m: ... commands.append(m.group(1)) >>> scommands = list(sorted(commands)) >>> for i, command in enumerate(scommands): ... if command != commands[i]: ... print('commands in debugcommands.py not sorted; first differing ' ... 'command is %s; expected %s' % (commands[i], command)) ... break Prevent adding new files in the root directory accidentally. $ hg files 'glob:*' .editorconfig .hgignore .hgsigs .hgtags CONTRIBUTING CONTRIBUTORS COPYING Makefile README hg hgeditor hgweb.cgi setup.py