Mercurial > hg
annotate tests/test-check-code.t @ 30665:01721d382c16
py3: add warnings in check-code related to py3
We have our own bytes versions of things like, getopt.getopt, os.sep, os.name,
sys.executable, os.environ and few more for python 3 portability. Its better
to come up with warnings if someone breaks the things which we have fixed.
After this patch, check-code will warn us to use our bytes version.
These checks run on mercurial/ and hgext/ and pycompat.py is excluded.
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Wed, 21 Dec 2016 22:42:31 +0530 |
parents | fd244e047ec0 |
children | 6ada1658fc6b |
rev | line source |
---|---|
27368
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
1 #require test-repo |
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
2 |
29219
3c9066ed557c
tests: silence test-repo obsolete warning
timeless <timeless@mozdev.org>
parents:
28529
diff
changeset
|
3 $ . "$TESTDIR/helpers-testrepo.sh" |
27368
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
4 $ check_code="$TESTDIR"/../contrib/check-code.py |
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
5 $ cd "$TESTDIR"/.. |
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
6 |
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
7 New errors are not allowed. Warnings are strongly discouraged. |
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
8 (The writing "no-che?k-code" is for not skipping this file when checking.) |
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
9 |
30633
fd244e047ec0
tests: exclude bundled pywatchman from check-code test
David Soria Parra <davidsp@fb.com>
parents:
30541
diff
changeset
|
10 $ hg locate -X contrib/python-zstandard -X hgext/fsmonitor/pywatchman | |
fd244e047ec0
tests: exclude bundled pywatchman from check-code test
David Soria Parra <davidsp@fb.com>
parents:
30541
diff
changeset
|
11 > sed 's-\\-/-g' | xargs "$check_code" --warnings --per-file=0 || false |
30665
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
12 hgext/fsmonitor/__init__.py:295: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
13 > switch_slashes = os.sep == '\\' |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
14 use pycompat.ossep instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
15 hgext/fsmonitor/__init__.py:395: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
16 > if 'FSMONITOR_LOG_FILE' in os.environ: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
17 use encoding.environ instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
18 hgext/fsmonitor/__init__.py:396: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
19 > fn = os.environ['FSMONITOR_LOG_FILE'] |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
20 use encoding.environ instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
21 hgext/fsmonitor/__init__.py:437: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
22 > 'HG_PENDING' not in os.environ) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
23 use encoding.environ instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
24 hgext/fsmonitor/__init__.py:548: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
25 > if sys.platform == 'darwin': |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
26 use pycompat.sysplatform instead (py3) |
27368
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
27 Skipping i18n/polib.py it has no-che?k-code (glob) |
30665
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
28 mercurial/demandimport.py:309: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
29 > if os.environ.get('HGDEMANDIMPORT') != 'disable': |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
30 use encoding.environ instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
31 mercurial/encoding.py:54: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
32 > environ = os.environ |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
33 use encoding.environ instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
34 mercurial/encoding.py:56: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
35 > environ = os.environb |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
36 use encoding.environ instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
37 mercurial/encoding.py:61: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
38 > for k, v in os.environ.items()) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
39 use encoding.environ instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
40 mercurial/encoding.py:203: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
41 > for k, v in os.environ.items()) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
42 use encoding.environ instead (py3) |
27368
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
43 Skipping mercurial/httpclient/__init__.py it has no-che?k-code (glob) |
409a20314c64
tests: move the '-hg' postfix for all style tests
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
diff
changeset
|
44 Skipping mercurial/httpclient/_readers.py it has no-che?k-code (glob) |
30665
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
45 mercurial/policy.py:45: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
46 > policy = os.environ.get('HGMODULEPOLICY', policy) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
47 use encoding.environ instead (py3) |
30253
b032a7b676c6
statprof: vendor statprof.py
Gregory Szorc <gregory.szorc@gmail.com>
parents:
29442
diff
changeset
|
48 Skipping mercurial/statprof.py it has no-che?k-code (glob) |
30665
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
49 mercurial/win32.py:443: |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
50 > env, os.getcwd(), ctypes.byref(si), ctypes.byref(pi)) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
51 use pycompat.getcwd instead (py3) |
01721d382c16
py3: add warnings in check-code related to py3
Pulkit Goyal <7895pulkit@gmail.com>
parents:
30633
diff
changeset
|
52 [1] |
30540
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
53 |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
54 @commands in debugcommands.py should be in alphabetical order. |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
55 |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
56 >>> import re |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
57 >>> commands = [] |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
58 >>> with open('mercurial/debugcommands.py', 'rb') as fh: |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
59 ... for line in fh: |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
60 ... m = re.match("^@command\('([a-z]+)", line) |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
61 ... if m: |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
62 ... commands.append(m.group(1)) |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
63 >>> scommands = list(sorted(commands)) |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
64 >>> for i, command in enumerate(scommands): |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
65 ... if command != commands[i]: |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
66 ... print('commands in debugcommands.py not sorted; first differing ' |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
67 ... 'command is %s; expected %s' % (commands[i], command)) |
d955cebd8d6a
tests: add test that @commands in debugcommands.py are sorted
Gregory Szorc <gregory.szorc@gmail.com>
parents:
30435
diff
changeset
|
68 ... break |