Mercurial > hg
annotate tests/test-contrib-check-code.t @ 35309:d13526333835
phases: drop the list with phase of each rev, always comput phase sets
Change the C implementation of phasecache.loadphaserevs to provide only
the sets for draft and secret phase as well as the number of revisions
seen.
Change the pure Python implementation of the same functino to compute
the sets instead of the list of phases for each revision.
Change phasecache.phase to check the phase sets and assume public if the
revision is in neither draft nor secret set. This is computationally
slightly more expensive.
Change phasecache.getrevset for public() based queries to compute the
set of non-matching revisions and return the result as filtered
fullreposet. A shortcut is taken when no draft or secret revision
exists.
Bump the module version for the changed interface contract.
Overall, this saves around 16 Bytes per revision whenever the phasecache
is used, for the test case in issue5691 it is around 3MB. getrevset()
for a large repository is around 13% slower here, that seems an
acceptable trade off. Performance impact for phase() should be similar.
Differential Revision: https://phab.mercurial-scm.org/D1606
author | Joerg Sonnenberger <joerg@bec.de> |
---|---|
date | Wed, 06 Dec 2017 15:46:41 +0100 |
parents | b52f22d9afa5 |
children | e223c0438f89 |
rev | line source |
---|---|
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
1 $ cat > correct.py <<EOF |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
2 > def toto(arg1, arg2): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
3 > del arg2 |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
4 > return (5 + 6, 9) |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
5 > EOF |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
6 $ cat > wrong.py <<EOF |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
7 > def toto( arg1, arg2): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
8 > del(arg2) |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
9 > return ( 5+6, 9) |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
10 > EOF |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
11 $ cat > quote.py <<EOF |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
12 > # let's use quote in comments |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
13 > (''' ( 4x5 ) |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
14 > but """\\''' and finally''', |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
15 > """let's fool checkpatch""", '1+2', |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
16 > '"""', 42+1, """and |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
17 > ( 4-1 ) """, "( 1+1 )\" and ") |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
18 > a, '\\\\\\\\', "\\\\\\" x-2", "c-1" |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
19 > EOF |
14763
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
20 $ cat > classstyle.py <<EOF |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
21 > class newstyle_class(object): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
22 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
23 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
24 > class oldstyle_class: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
25 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
26 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
27 > class empty(): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
28 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
29 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
30 > no_class = 1: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
31 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
32 > EOF |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
33 $ check_code="$TESTDIR"/../contrib/check-code.py |
25199
e78447e61624
check-code: entirely drop the 'non-py24.py' file from the test
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25198
diff
changeset
|
34 $ "$check_code" ./wrong.py ./correct.py ./quote.py ./classstyle.py |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
35 ./wrong.py:1: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
36 > def toto( arg1, arg2): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
37 gratuitous whitespace in () or [] |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
38 ./wrong.py:2: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
39 > del(arg2) |
13077
6b8d2ee24ce2
coding style: fix yield used as a function
Thomas Arendsen Hein <thomas@jtah.de>
parents:
13026
diff
changeset
|
40 Python keyword is not a function |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
41 ./wrong.py:3: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
42 > return ( 5+6, 9) |
15281
aeeb2afcdc25
check-code: support multiline matches like try/except/finally
Matt Mackall <mpm@selenic.com>
parents:
14763
diff
changeset
|
43 gratuitous whitespace in () or [] |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
44 missing whitespace in expression |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
45 ./quote.py:5: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
46 > '"""', 42+1, """and |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
47 missing whitespace in expression |
14763
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
48 ./classstyle.py:4: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
49 > class oldstyle_class: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
50 old-style class, use class foo(object) |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
51 ./classstyle.py:7: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
52 > class empty(): |
25140
317333e0793c
check-code: fix the error message about 'class foo():'
Pierre-Yves David <pierre-yves.david@fb.com>
parents:
25077
diff
changeset
|
53 class foo() creates old style object, use class foo(object) |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
54 [1] |
18183
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
55 $ cat > python3-compat.py << EOF |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
56 > foo <> bar |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
57 > reduce(lambda a, b: a + b, [1, 2, 3, 4]) |
20688
a61ed1c2d7a7
check-code: disallow use of dict(key=value) construction
Augie Fackler <raf@durin42.com>
parents:
20005
diff
changeset
|
58 > dict(key=value) |
18183
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
59 > EOF |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
60 $ "$check_code" python3-compat.py |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
61 python3-compat.py:1: |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
62 > foo <> bar |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
63 <> operator is not available in Python 3+, use != |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
64 python3-compat.py:2: |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
65 > reduce(lambda a, b: a + b, [1, 2, 3, 4]) |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
66 reduce is not available in Python 3+ |
20688
a61ed1c2d7a7
check-code: disallow use of dict(key=value) construction
Augie Fackler <raf@durin42.com>
parents:
20005
diff
changeset
|
67 python3-compat.py:3: |
a61ed1c2d7a7
check-code: disallow use of dict(key=value) construction
Augie Fackler <raf@durin42.com>
parents:
20005
diff
changeset
|
68 > dict(key=value) |
a61ed1c2d7a7
check-code: disallow use of dict(key=value) construction
Augie Fackler <raf@durin42.com>
parents:
20005
diff
changeset
|
69 dict() is different in Py2 and 3 and is slower than {} |
18183
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
70 [1] |
13026
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
71 |
28594
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
72 $ cat > foo.c <<EOF |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
73 > void narf() { |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
74 > strcpy(foo, bar); |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
75 > // strcpy_s is okay, but this comment is not |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
76 > strcpy_s(foo, bar); |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
77 > } |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
78 > EOF |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
79 $ "$check_code" ./foo.c |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
80 ./foo.c:2: |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
81 > strcpy(foo, bar); |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
82 don't use strcpy, use strlcpy or memcpy |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
83 ./foo.c:3: |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
84 > // strcpy_s is okay, but this comment is not |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
85 don't use //-style comments |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
86 [1] |
d3990da51637
check-code: prevent use of strcpy
Augie Fackler <augie@google.com>
parents:
27367
diff
changeset
|
87 |
13026
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
88 $ cat > is-op.py <<EOF |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
89 > # is-operator comparing number or string literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
90 > x = None |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
91 > y = x is 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
92 > y = x is "foo" |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
93 > y = x is 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
94 > y = x is -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
95 > y = x is not 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
96 > y = x is not "foo" |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
97 > y = x is not 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
98 > y = x is not -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
99 > EOF |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
100 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
101 $ "$check_code" ./is-op.py |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
102 ./is-op.py:3: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
103 > y = x is 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
104 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
105 ./is-op.py:4: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
106 > y = x is "foo" |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
107 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
108 ./is-op.py:5: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
109 > y = x is 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
110 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
111 ./is-op.py:6: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
112 > y = x is -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
113 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
114 ./is-op.py:7: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
115 > y = x is not 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
116 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
117 ./is-op.py:8: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
118 > y = x is not "foo" |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
119 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
120 ./is-op.py:9: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
121 > y = x is not 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
122 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
123 ./is-op.py:10: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
124 > y = x is not -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
125 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
126 [1] |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
127 |
18762
a91387a37f05
check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch>
parents:
18183
diff
changeset
|
128 $ cat > for-nolineno.py <<EOF |
15502
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
129 > except: |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
130 > EOF |
18762
a91387a37f05
check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch>
parents:
18183
diff
changeset
|
131 $ "$check_code" for-nolineno.py --nolineno |
a91387a37f05
check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch>
parents:
18183
diff
changeset
|
132 for-nolineno.py:0: |
15502
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
133 > except: |
18762
a91387a37f05
check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch>
parents:
18183
diff
changeset
|
134 naked except clause |
15502
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
135 [1] |
18180
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
136 |
19422
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
137 $ cat > warning.t <<EOF |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
138 > $ function warnonly { |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
139 > > } |
20005
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
140 > $ diff -N aaa |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
141 > $ function onwarn {} |
19422
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
142 > EOF |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
143 $ "$check_code" warning.t |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
144 $ "$check_code" --warn warning.t |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
145 warning.t:1: |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
146 > $ function warnonly { |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
147 warning: don't use 'function', use old style |
20005
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
148 warning.t:3: |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
149 > $ diff -N aaa |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
150 warning: don't use 'diff -N' |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
151 warning.t:4: |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
152 > $ function onwarn {} |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
153 warning: don't use 'function', use old style |
19422
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
154 [1] |
32293
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
155 $ cat > error.t <<EOF |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
156 > $ [ foo == bar ] |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
157 > EOF |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
158 $ "$check_code" error.t |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
159 error.t:1: |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
160 > $ [ foo == bar ] |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
161 [ foo == bar ] is a bashism, use [ foo = bar ] instead |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
162 [1] |
ca727147ff9f
style: ban [ foo == bar] bashism in tests
Augie Fackler <augie@google.com>
parents:
29398
diff
changeset
|
163 $ rm error.t |
18180
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
164 $ cat > raise-format.py <<EOF |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
165 > raise SomeException, message |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
166 > # this next line is okay |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
167 > raise SomeException(arg1, arg2) |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
168 > EOF |
19494
3119dc155ac2
check-code: do not abort on an unreadable file, only report this
Simon Heimberg <simohe@besonet.ch>
parents:
19422
diff
changeset
|
169 $ "$check_code" not-existing.py raise-format.py |
3119dc155ac2
check-code: do not abort on an unreadable file, only report this
Simon Heimberg <simohe@besonet.ch>
parents:
19422
diff
changeset
|
170 Skipping*not-existing.py* (glob) |
18180
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
171 raise-format.py:1: |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
172 > raise SomeException, message |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
173 don't use old-style two-argument raise, use Exception(message) |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
174 [1] |
19494
3119dc155ac2
check-code: do not abort on an unreadable file, only report this
Simon Heimberg <simohe@besonet.ch>
parents:
19422
diff
changeset
|
175 |
19998
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
176 $ cat > rst.py <<EOF |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
177 > """problematic rst text |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
178 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
179 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
180 > wrong |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
181 > """ |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
182 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
183 > ''' |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
184 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
185 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
186 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
187 > valid |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
188 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
189 > new text |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
190 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
191 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
192 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
193 > also valid |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
194 > ''' |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
195 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
196 > """mixed |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
197 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
198 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
199 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
200 > good |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
201 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
202 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
203 > plus bad |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
204 > """ |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
205 > EOF |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
206 $ $check_code -w rst.py |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
207 rst.py:3: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
208 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
209 warning: add two newlines after '.. note::' |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
210 rst.py:26: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
211 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
212 warning: add two newlines after '.. note::' |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
213 [1] |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
214 |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
215 $ cat > ./map-inside-gettext.py <<EOF |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
216 > print(_("map inside gettext %s" % v)) |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
217 > |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
218 > print(_("concatenating " " by " " space %s" % v)) |
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
219 > print(_("concatenating " + " by " + " '+' %s" % v)) |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
220 > |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
221 > print(_("mapping operation in different line %s" |
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
222 > % v)) |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
223 > |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
224 > print(_( |
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
225 > "leading spaces inside of '(' %s" % v)) |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
226 > EOF |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
227 $ "$check_code" ./map-inside-gettext.py |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
228 ./map-inside-gettext.py:1: |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
229 > print(_("map inside gettext %s" % v)) |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
230 don't use % inside _() |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
231 ./map-inside-gettext.py:3: |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
232 > print(_("concatenating " " by " " space %s" % v)) |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
233 don't use % inside _() |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
234 ./map-inside-gettext.py:4: |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
235 > print(_("concatenating " + " by " + " '+' %s" % v)) |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
236 don't use % inside _() |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
237 ./map-inside-gettext.py:6: |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
238 > print(_("mapping operation in different line %s" |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
239 don't use % inside _() |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
240 ./map-inside-gettext.py:9: |
33721
24849d53697d
tests: clean up many print statements to be print functions instead
Augie Fackler <augie@google.com>
parents:
32293
diff
changeset
|
241 > print(_( |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
242 don't use % inside _() |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
243 [1] |
21487
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
244 |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
245 web templates |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
246 |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
247 $ mkdir -p mercurial/templates |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
248 $ cat > mercurial/templates/example.tmpl <<EOF |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
249 > {desc} |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
250 > {desc|escape} |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
251 > {desc|firstline} |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
252 > {desc|websub} |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
253 > EOF |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
254 |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
255 $ "$check_code" --warnings mercurial/templates/example.tmpl |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
256 mercurial/templates/example.tmpl:2: |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
257 > {desc|escape} |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
258 warning: follow desc keyword with either firstline or websub |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
259 [1] |
29276
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
260 |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
261 'string join across lines with no space' detection |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
262 |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
263 $ cat > stringjoin.py <<EOF |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
264 > foo = (' foo' |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
265 > 'bar foo.' |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
266 > 'bar foo:' |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
267 > 'bar foo@' |
29279
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
268 > 'bar foo%' |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
269 > 'bar foo*' |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
270 > 'bar foo+' |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
271 > 'bar foo-' |
29276
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
272 > 'bar') |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
273 > EOF |
29397
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
274 |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
275 'missing _() in ui message' detection |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
276 |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
277 $ cat > uigettext.py <<EOF |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
278 > ui.status("% 10s %05d % -3.2f %*s %%" |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
279 > # this use '\\\\' instead of '\\', because the latter in |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
280 > # heredoc on shell becomes just '\' |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
281 > '\\\\ \n \t \0' |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
282 > """12345 |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
283 > """ |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
284 > '''.:*+-= |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
285 > ''' "%-6d \n 123456 .:*+-= foobar") |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
286 > EOF |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
287 |
34384
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
288 superfluous pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
289 |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
290 $ cat > superfluous_pass.py <<EOF |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
291 > # correct examples |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
292 > if foo: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
293 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
294 > else: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
295 > # comment-only line means still need pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
296 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
297 > def nothing(): |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
298 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
299 > class empty(object): |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
300 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
301 > if whatever: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
302 > passvalue(value) |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
303 > # bad examples |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
304 > if foo: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
305 > "foo" |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
306 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
307 > else: # trailing comment doesn't fool checker |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
308 > wat() |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
309 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
310 > def nothing(): |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
311 > "docstring means no pass" |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
312 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
313 > class empty(object): |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
314 > """multiline |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
315 > docstring also |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
316 > means no pass""" |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
317 > pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
318 > EOF |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
319 |
29398
2a54cf92c773
check-code: build translation table for repquote in global for efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29397
diff
changeset
|
320 (Checking multiple invalid files at once examines whether caching |
2a54cf92c773
check-code: build translation table for repquote in global for efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29397
diff
changeset
|
321 translation table for repquote() works as expected or not. All files |
2a54cf92c773
check-code: build translation table for repquote in global for efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29397
diff
changeset
|
322 should break rules depending on result of repquote(), in this case) |
2a54cf92c773
check-code: build translation table for repquote in global for efficiency
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29397
diff
changeset
|
323 |
34384
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
324 $ "$check_code" stringjoin.py uigettext.py superfluous_pass.py |
29276
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
325 stringjoin.py:1: |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
326 > foo = (' foo' |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
327 string join across lines with no space |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
328 stringjoin.py:2: |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
329 > 'bar foo.' |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
330 string join across lines with no space |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
331 stringjoin.py:3: |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
332 > 'bar foo:' |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
333 string join across lines with no space |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
334 stringjoin.py:4: |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
335 > 'bar foo@' |
4dd530df4742
check-code: replace quoted characters correctly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
28594
diff
changeset
|
336 string join across lines with no space |
29279
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
337 stringjoin.py:5: |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
338 > 'bar foo%' |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
339 string join across lines with no space |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
340 stringjoin.py:6: |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
341 > 'bar foo*' |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
342 string join across lines with no space |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
343 stringjoin.py:7: |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
344 > 'bar foo+' |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
345 string join across lines with no space |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
346 stringjoin.py:8: |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
347 > 'bar foo-' |
438caf194160
check-code: make repquote distinguish more characters for exact detection
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29276
diff
changeset
|
348 string join across lines with no space |
29397
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
349 uigettext.py:1: |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
350 > ui.status("% 10s %05d % -3.2f %*s %%" |
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
351 missing _() in ui message (use () to hide false-positives) |
34384
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
352 superfluous_pass.py:14: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
353 > if foo: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
354 omit superfluous pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
355 superfluous_pass.py:17: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
356 > else: # trailing comment doesn't fool checker |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
357 omit superfluous pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
358 superfluous_pass.py:20: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
359 > def nothing(): |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
360 omit superfluous pass |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
361 superfluous_pass.py:23: |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
362 > class empty(object): |
b52f22d9afa5
contrib: add a check to check-code to ban superfluous pass statements
Augie Fackler <augie@google.com>
parents:
33721
diff
changeset
|
363 omit superfluous pass |
29397
844f72885fb9
check-code: detect "missing _() in ui message" more exactly
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
29279
diff
changeset
|
364 [1] |