Mercurial > hg
annotate tests/test-check-code.t @ 18630:9b9e2d9e83a1
merge: split out mostly-non-interactive working dir updates
In a later patch, we'll run these updates in parallel.
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Sat, 09 Feb 2013 15:21:58 -0800 |
parents | e1caaeb5a2ed |
children | a91387a37f05 |
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) |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
25 > |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
26 > # Do not complain about our own definition |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
27 > def any(x): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
28 > 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
|
29 > |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
30 > # 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
|
31 > try: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
32 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
33 > 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
|
34 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
35 > finally: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
36 > pass |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
37 > |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
38 > # 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
|
39 > try: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
40 > try: |
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 > 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
|
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 > finally: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
45 > pass |
17620
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
46 > |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
47 > # 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
|
48 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
49 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
50 > yield 1 |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
51 > finally: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
52 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
53 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
54 > yield |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
55 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
56 > finally: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
57 > pass |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
58 > |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
59 > EOF |
14763
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
60 $ cat > classstyle.py <<EOF |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
61 > class newstyle_class(object): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
62 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
63 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
64 > class oldstyle_class: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
65 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
66 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
67 > class empty(): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
68 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
69 > |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
70 > no_class = 1: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
71 > pass |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
72 > EOF |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
73 $ 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
|
74 $ "$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
|
75 ./wrong.py:1: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
76 > def toto( arg1, arg2): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
77 gratuitous whitespace in () or [] |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
78 ./wrong.py:2: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
79 > del(arg2) |
13077
6b8d2ee24ce2
coding style: fix yield used as a function
Thomas Arendsen Hein <thomas@jtah.de>
parents:
13026
diff
changeset
|
80 Python keyword is not a function |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
81 ./wrong.py:3: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
82 > return ( 5+6, 9) |
15281
aeeb2afcdc25
check-code: support multiline matches like try/except/finally
Matt Mackall <mpm@selenic.com>
parents:
14763
diff
changeset
|
83 gratuitous whitespace in () or [] |
12632
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
84 missing whitespace in expression |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
85 ./quote.py:5: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
86 > '"""', 42+1, """and |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
87 missing whitespace in expression |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
88 ./non-py24.py:2: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
89 > if any(): |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
90 any/all/format not available in Python 2.4 |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
91 ./non-py24.py:3: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
92 > x = all() |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
93 any/all/format not available in Python 2.4 |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
94 ./non-py24.py:4: |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
95 > y = format(x) |
6c98107f787e
tests: unify test-check-code
Brodie Rao <brodie@bitheap.org>
parents:
11822
diff
changeset
|
96 any/all/format not available in Python 2.4 |
15285
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
97 ./non-py24.py:11: |
42e71f5852ee
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
Thomas Arendsen Hein <thomas@intevation.de>
parents:
15281
diff
changeset
|
98 > try: |
17428
72803c8edaa4
avoid using abbreviations that look like spelling errors
Mads Kiilerich <mads@kiilerich.com>
parents:
15502
diff
changeset
|
99 no try/except/finally in Python 2.4 |
17620
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
100 ./non-py24.py:28: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
101 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
102 no yield inside try/finally in Python 2.4 |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
103 ./non-py24.py:33: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
104 > try: |
efd1a4378b64
check-code: catch yield inside try/finally (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
17428
diff
changeset
|
105 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
|
106 ./classstyle.py:4: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
107 > class oldstyle_class: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
108 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
|
109 ./classstyle.py:7: |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
110 > class empty(): |
b071cd58af50
check-code: fix class style checking (with tests)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
13077
diff
changeset
|
111 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
|
112 [1] |
18183
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
113 $ cat > python3-compat.py << EOF |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
114 > foo <> bar |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
115 > 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
|
116 > EOF |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
117 $ "$check_code" python3-compat.py |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
118 python3-compat.py:1: |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
119 > foo <> bar |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
120 <> operator is not available in Python 3+, use != |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
121 python3-compat.py:2: |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
122 > 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
|
123 reduce is not available in Python 3+ |
e1caaeb5a2ed
check-code: disallow defunct <> operator
Augie Fackler <raf@durin42.com>
parents:
18180
diff
changeset
|
124 [1] |
13026
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
125 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
126 $ 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
|
127 > # 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
|
128 > x = None |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
129 > y = x is 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
130 > y = x is "foo" |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
131 > y = x is 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
132 > y = x is -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
133 > 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
|
134 > 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
|
135 > 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
|
136 > 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
|
137 > EOF |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
138 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
139 $ "$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
|
140 ./is-op.py:3: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
141 > y = x is 'foo' |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
142 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
143 ./is-op.py:4: |
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 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
146 ./is-op.py:5: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
147 > y = x is 5346 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
148 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
149 ./is-op.py:6: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
150 > y = x is -6 |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
151 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
152 ./is-op.py:7: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
153 > 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
|
154 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
155 ./is-op.py:8: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
156 > 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
|
157 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
158 ./is-op.py:9: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
159 > 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
|
160 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
161 ./is-op.py:10: |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
162 > 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
|
163 object comparison with literal |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
164 [1] |
53391819f195
check-code: catch Python 'is' comparing number or string literals
Adrian Buehlmann <adrian@cadifra.com>
parents:
12632
diff
changeset
|
165 |
15502
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
166 $ cat > warning.py <<EOF |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
167 > except: |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
168 > EOF |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
169 $ "$check_code" warning.py --warning --nolineno |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
170 warning.py:0: |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
171 > except: |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
172 warning: naked except clause |
7917a104a285
check-code: add --nolineno option for hiding line numbers
Mads Kiilerich <mads@kiilerich.com>
parents:
15285
diff
changeset
|
173 [1] |
18180
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
174 |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
175 $ cat > raise-format.py <<EOF |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
176 > raise SomeException, message |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
177 > # this next line is okay |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
178 > raise SomeException(arg1, arg2) |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
179 > EOF |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
180 $ "$check_code" raise-format.py |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
181 raise-format.py:1: |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
182 > raise SomeException, message |
c582a71457e5
check-code: disallow two-argument form of raise
Augie Fackler <raf@durin42.com>
parents:
17620
diff
changeset
|
183 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
|
184 [1] |