Mercurial > hg
annotate tests/test-check-code.t @ 24545:9e0c67e84896
json: implement {tags} template
Tags is pretty easy to implement. Let's start there.
The output is slightly different from `hg tags -Tjson`. For reference,
the CLI has the following output:
[
{
"node": "e2049974f9a23176c2addb61d8f5b86e0d620490",
"rev": 29880,
"tag": "tip",
"type": ""
},
...
]
Our output has the format:
{
"node": "0aeb19ea57a6d223bacddda3871cb78f24b06510",
"tags": [
{
"node": "e2049974f9a23176c2addb61d8f5b86e0d620490",
"tag": "tag1",
"date": [1427775457.0, 25200]
},
...
]
}
"rev" is omitted because it isn't a reliable identifier. We shouldn't
be exposing them in web APIs and giving the impression it remotely
resembles a stable identifier. Perhaps we could one day hide this behind
a config option (it might be useful to expose when running servers
locally).
The "type" of the tag isn't defined because this information isn't yet
exposed to the hgweb templater (it could be in a follow-up) and because
it is questionable whether different types should be exposed at all.
(Should the web interface really be exposing "local" tags?)
We use an object for the outer type instead of Array for a few reasons.
First, it is extensible. If we ever need to throw more global properties
into the output, we can do that without breaking backwards compatibility
(property additions should be backwards compatible). Second, uniformity
in web APIs is nice. Having everything return objects seems much saner than
a mix of array and object. Third, there are security issues with arrays
in older browsers. The JSON web services world almost never uses arrays
as the main type for this reason.
Another possibly controversial part about this patch is how dates are
defined. While JSON has a Date type, it is based on the JavaScript Date
type, which is widely considered a pile of garbage. It is a non-starter
for this reason.
Many of Mercurial's built-in date filters drop seconds resolution. So
that's a non-starter as well, since we want the API to be lossless where
possible. rfc3339date, rfc822date, isodatesec, and date are all lossless.
However, they each require the client to perform string parsing on top of
JSON decoding. While date parsing libraries are pretty ubiquitous, some
languages don't have them out of the box. However, pretty much every
programming language can deal with UNIX timestamps (which are just
integers or floats). So, we choose to use Mercurial's internal date
representation, which in JSON is modeled as float seconds since UNIX
epoch and an integer timezone offset from UTC (keep in mind
JavaScript/JSON models all "Numbers" as double prevision floating point
numbers, so there isn't a difference between ints and floats in JSON).
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Tue, 31 Mar 2015 14:52:21 -0700 |
parents | e53f6b72a0e4 |
children | 68633ff2b608 |
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 |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
20 $ cat > non-py24.py <<EOF |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
21 > # Using builtins that does not exist in Python 2.4 |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
22 > if any(): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
23 > x = all() |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
24 > y = format(x) |
19501
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
25 > # next(generator) is new in 2.6 |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
26 > z = next(x) |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
27 > # but generator.next() is okay |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
28 > x.next() |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
29 > # and we can make our own next |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
30 > def next(stuff): |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
31 > pass |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
32 > |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
33 > # Do not complain about our own definition |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
34 > def any(x): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
35 > pass |
15285
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
36 > |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
37 > # try/except/finally block does not exist in Python 2.4 |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
38 > try: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
39 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
40 > except StandardError, inst: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
41 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
42 > finally: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
43 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
44 > |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
45 > # nested try/finally+try/except is allowed |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
46 > try: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
47 > try: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
48 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
49 > except StandardError, inst: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
50 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
51 > finally: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
52 > pass |
17620
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
53 > |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
54 > # yield inside a try/finally block is not allowed in Python 2.4 |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
55 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
56 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
57 > yield 1 |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
58 > finally: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
59 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
60 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
61 > yield |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
62 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
63 > finally: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
64 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
65 > |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
66 > EOF |
14763
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
67 $ cat > classstyle.py <<EOF |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
68 > class newstyle_class(object): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
69 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
70 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
71 > class oldstyle_class: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
72 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
73 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
74 > class empty(): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
75 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
76 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
77 > no_class = 1: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
78 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
79 > EOF |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
80 $ check_code="$TESTDIR"/../contrib/check-code.py |
14763
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
81 $ "$check_code" ./wrong.py ./correct.py ./quote.py ./non-py24.py ./classstyle.py |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
82 ./wrong.py:1: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
83 > def toto( arg1, arg2): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
84 gratuitous whitespace in () or [] |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
85 ./wrong.py:2: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
86 > del(arg2) |
13077
6b8d2ee24ce2
coding style: fix yield used as a function
Thomas Arendsen Hein <thomas@jtah.de>
parents:
13026
diff
changeset
|
87 Python keyword is not a function |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
88 ./wrong.py:3: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
89 > return ( 5+6, 9) |
15281
aeeb2afcdc25
check-code: support multiline matches like try/except/finally
Matt Mackall <mpm@selenic.com>
parents:
14763
diff
changeset
|
90 gratuitous whitespace in () or [] |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
91 missing whitespace in expression |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
92 ./quote.py:5: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
93 > '"""', 42+1, """and |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
94 missing whitespace in expression |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
95 ./non-py24.py:2: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
96 > if any(): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
97 any/all/format not available in Python 2.4 |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
98 ./non-py24.py:3: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
99 > x = all() |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
100 any/all/format not available in Python 2.4 |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
101 ./non-py24.py:4: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
102 > y = format(x) |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
103 any/all/format not available in Python 2.4 |
19501
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
104 ./non-py24.py:6: |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
105 > z = next(x) |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
106 no next(foo) in Python 2.4 and 2.5, use foo.next() instead |
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
107 ./non-py24.py:18: |
15285
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
108 > try: |
17428
72803c8edaa4
avoid using abbreviations that look like spelling errors
Mads Kiilerich <mads@kiilerich.com>
parents:
15502
diff
changeset
|
109 no try/except/finally in Python 2.4 |
19501
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
110 ./non-py24.py:35: |
17620
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
111 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
112 no yield inside try/finally in Python 2.4 |
19501
725507cd5216
check-code: add a check for the next() builtin, which was new in 2.6
Augie Fackler <raf@durin42.com>
parents:
19494
diff
changeset
|
113 ./non-py24.py:40: |
17620
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
114 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
115 no yield inside try/finally in Python 2.4 |
14763
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
116 ./classstyle.py:4: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
117 > class oldstyle_class: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
118 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
|
119 ./classstyle.py:7: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
120 > class empty(): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
121 class foo() not available in Python 2.4, use class foo(object) |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
122 [1] |
18183
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
123 $ cat > python3-compat.py << EOF |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
124 > foo <> bar |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
125 > 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
|
126 > dict(key=value) |
18183
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
127 > EOF |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
128 $ "$check_code" python3-compat.py |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
129 python3-compat.py:1: |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
130 > foo <> bar |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
131 <> operator is not available in Python 3+, use != |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
132 python3-compat.py:2: |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
133 > 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
|
134 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
|
135 python3-compat.py:3: |
a61ed1c2d7a7
check-code: disallow use of dict(key=value) construction
Augie Fackler <raf@durin42.com>
parents:
20005
diff
changeset
|
136 > dict(key=value) |
a61ed1c2d7a7
check-code: disallow use of dict(key=value) construction
Augie Fackler <raf@durin42.com>
parents:
20005
diff
changeset
|
137 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
|
138 [1] |
13026
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
139 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
140 $ 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
|
141 > # 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
|
142 > x = None |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
143 > y = x is 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
144 > y = x is "foo" |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
145 > y = x is 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
146 > y = x is -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
147 > 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
|
148 > 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
|
149 > 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
|
150 > 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
|
151 > EOF |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
152 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
153 $ "$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
|
154 ./is-op.py:3: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
155 > y = x is 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
156 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
157 ./is-op.py:4: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
158 > y = x is "foo" |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
159 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
160 ./is-op.py:5: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
161 > y = x is 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
162 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
163 ./is-op.py:6: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
164 > y = x is -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
165 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
166 ./is-op.py:7: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
167 > 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
|
168 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
169 ./is-op.py:8: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
170 > 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
|
171 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
172 ./is-op.py:9: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
173 > 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
|
174 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
175 ./is-op.py:10: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
176 > 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
|
177 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
178 [1] |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
179 |
18762
a91387a37f05
check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch>
parents:
18183
diff
changeset
|
180 $ 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
|
181 > except: |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
182 > EOF |
18762
a91387a37f05
check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch>
parents:
18183
diff
changeset
|
183 $ "$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
|
184 for-nolineno.py:0: |
15502
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
185 > except: |
18762
a91387a37f05
check-code: do not prepend "warning" to a failure message
Simon Heimberg <simohe@besonet.ch>
parents:
18183
diff
changeset
|
186 naked except clause |
15502
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
187 [1] |
18180
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
188 |
19422
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
189 $ cat > warning.t <<EOF |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
190 > $ function warnonly { |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
191 > > } |
20005
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
192 > $ diff -N aaa |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
193 > $ function onwarn {} |
19422
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
194 > EOF |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
195 $ "$check_code" warning.t |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
196 $ "$check_code" --warn warning.t |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
197 warning.t:1: |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
198 > $ function warnonly { |
d9e86d656017
check-code: automatically preppend "warning: " to all warning messages
Simon Heimberg <simohe@besonet.ch>
parents:
18762
diff
changeset
|
199 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
|
200 warning.t:3: |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
201 > $ diff -N aaa |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
202 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
|
203 warning.t:4: |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
204 > $ function onwarn {} |
22154ec6fb8b
check-code: prepend warning prefix only once, but for each warning
Simon Heimberg <simohe@besonet.ch>
parents:
19998
diff
changeset
|
205 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
|
206 [1] |
18180
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
207 $ cat > raise-format.py <<EOF |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
208 > raise SomeException, message |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
209 > # this next line is okay |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
210 > raise SomeException(arg1, arg2) |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
211 > EOF |
19494
3119dc155ac2
check-code: do not abort on an unreadable file, only report this
Simon Heimberg <simohe@besonet.ch>
parents:
19422
diff
changeset
|
212 $ "$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
|
213 Skipping*not-existing.py* (glob) |
18180
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
214 raise-format.py:1: |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
215 > raise SomeException, message |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
216 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
|
217 [1] |
19494
3119dc155ac2
check-code: do not abort on an unreadable file, only report this
Simon Heimberg <simohe@besonet.ch>
parents:
19422
diff
changeset
|
218 |
19998
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
219 $ cat > rst.py <<EOF |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
220 > """problematic rst text |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
221 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
222 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
223 > wrong |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
224 > """ |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
225 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
226 > ''' |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
227 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
228 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
229 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
230 > valid |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
231 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
232 > new text |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
233 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
234 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
235 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
236 > also valid |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
237 > ''' |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
238 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
239 > """mixed |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
240 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
241 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
242 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
243 > good |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
244 > |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
245 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
246 > plus bad |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
247 > """ |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
248 > EOF |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
249 $ $check_code -w rst.py |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
250 rst.py:3: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
251 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
252 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
|
253 rst.py:26: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
254 > .. note:: |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
255 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
|
256 [1] |
289bbb294e82
check-code: check comment for '.. note::' without two newlines
Simon Heimberg <simohe@besonet.ch>
parents:
19501
diff
changeset
|
257 |
21097
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
258 $ cat > ./map-inside-gettext.py <<EOF |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
259 > print _("map inside gettext %s" % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
260 > |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
261 > print _("concatenating " " by " " space %s" % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
262 > print _("concatenating " + " by " + " '+' %s" % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
263 > |
23139
e53f6b72a0e4
spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents:
21487
diff
changeset
|
264 > 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
|
265 > % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
266 > |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
267 > print _( |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
268 > "leading spaces inside of '(' %s" % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
269 > EOF |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
270 $ "$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
|
271 ./map-inside-gettext.py:1: |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
272 > print _("map inside gettext %s" % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
273 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
|
274 ./map-inside-gettext.py:3: |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
275 > print _("concatenating " " by " " space %s" % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
276 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
|
277 ./map-inside-gettext.py:4: |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
278 > print _("concatenating " + " by " + " '+' %s" % v) |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
279 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
|
280 ./map-inside-gettext.py:6: |
23139
e53f6b72a0e4
spelling: fixes from proofreading of spell checker issues
Mads Kiilerich <madski@unity3d.com>
parents:
21487
diff
changeset
|
281 > 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
|
282 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
|
283 ./map-inside-gettext.py:9: |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
284 > print _( |
e8ef59b351c3
check-code: detect "% inside _()" when there are leading whitespaces
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
20688
diff
changeset
|
285 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
|
286 [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
|
287 |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
288 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
|
289 |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
290 $ 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
|
291 $ 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
|
292 > {desc} |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
293 > {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
|
294 > {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
|
295 > {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
|
296 > EOF |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
297 |
c26464ce0781
check-code: check for consistent usage of the websub filter in hgweb templates
Steven Brown <StevenGBrown@gmail.com>
parents:
21097
diff
changeset
|
298 $ "$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
|
299 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
|
300 > {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
|
301 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
|
302 [1] |