##// END OF EJS Templates
check-code: add --nolineno option for hiding line numbers...
check-code: add --nolineno option for hiding line numbers This makes the output more stable when it is used as a whitelist.

File last commit:

r15502:7917a104 default
r15502:7917a104 default
Show More
test-check-code.t
142 lines | 3.2 KiB | text/troff | Tads3Lexer
/ tests / test-check-code.t
Brodie Rao
tests: unify test-check-code
r12632 $ cat > correct.py <<EOF
> def toto(arg1, arg2):
> del arg2
> return (5 + 6, 9)
> EOF
$ cat > wrong.py <<EOF
> def toto( arg1, arg2):
> del(arg2)
> return ( 5+6, 9)
> EOF
$ cat > quote.py <<EOF
> # let's use quote in comments
> (''' ( 4x5 )
> but """\\''' and finally''',
> """let's fool checkpatch""", '1+2',
> '"""', 42+1, """and
> ( 4-1 ) """, "( 1+1 )\" and ")
> a, '\\\\\\\\', "\\\\\\" x-2", "c-1"
> EOF
$ cat > non-py24.py <<EOF
> # Using builtins that does not exist in Python 2.4
> if any():
> x = all()
> y = format(x)
>
> # Do not complain about our own definition
> def any(x):
> pass
Thomas Arendsen Hein
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
r15285 >
> # try/except/finally block does not exist in Python 2.4
> try:
> pass
> except StandardError, inst:
> pass
> finally:
> pass
>
> # nested try/finally+try/except is allowed
> try:
> try:
> pass
> except StandardError, inst:
> pass
> finally:
> pass
Brodie Rao
tests: unify test-check-code
r12632 > EOF
Thomas Arendsen Hein
check-code: fix class style checking (with tests)...
r14763 $ cat > classstyle.py <<EOF
> class newstyle_class(object):
> pass
>
> class oldstyle_class:
> pass
>
> class empty():
> pass
>
> no_class = 1:
> pass
> EOF
Brodie Rao
tests: unify test-check-code
r12632 $ check_code="$TESTDIR"/../contrib/check-code.py
Thomas Arendsen Hein
check-code: fix class style checking (with tests)...
r14763 $ "$check_code" ./wrong.py ./correct.py ./quote.py ./non-py24.py ./classstyle.py
Brodie Rao
tests: unify test-check-code
r12632 ./wrong.py:1:
> def toto( arg1, arg2):
gratuitous whitespace in () or []
./wrong.py:2:
> del(arg2)
Thomas Arendsen Hein
coding style: fix yield used as a function
r13077 Python keyword is not a function
Brodie Rao
tests: unify test-check-code
r12632 ./wrong.py:3:
> return ( 5+6, 9)
Matt Mackall
check-code: support multiline matches like try/except/finally...
r15281 gratuitous whitespace in () or []
Brodie Rao
tests: unify test-check-code
r12632 missing whitespace in expression
./quote.py:5:
> '"""', 42+1, """and
missing whitespace in expression
./non-py24.py:2:
> if any():
any/all/format not available in Python 2.4
./non-py24.py:3:
> x = all()
any/all/format not available in Python 2.4
./non-py24.py:4:
> y = format(x)
any/all/format not available in Python 2.4
Thomas Arendsen Hein
test-check-code.t: test matching try/except/finally introduced in aeeb2afcdc25
r15285 ./non-py24.py:11:
> try:
no try/except/finally in Py2.4
Thomas Arendsen Hein
check-code: fix class style checking (with tests)...
r14763 ./classstyle.py:4:
> class oldstyle_class:
old-style class, use class foo(object)
./classstyle.py:7:
> class empty():
class foo() not available in Python 2.4, use class foo(object)
Brodie Rao
tests: unify test-check-code
r12632 [1]
Adrian Buehlmann
check-code: catch Python 'is' comparing number or string literals...
r13026
$ cat > is-op.py <<EOF
> # is-operator comparing number or string literal
> x = None
> y = x is 'foo'
> y = x is "foo"
> y = x is 5346
> y = x is -6
> y = x is not 'foo'
> y = x is not "foo"
> y = x is not 5346
> y = x is not -6
> EOF
$ "$check_code" ./is-op.py
./is-op.py:3:
> y = x is 'foo'
object comparison with literal
./is-op.py:4:
> y = x is "foo"
object comparison with literal
./is-op.py:5:
> y = x is 5346
object comparison with literal
./is-op.py:6:
> y = x is -6
object comparison with literal
./is-op.py:7:
> y = x is not 'foo'
object comparison with literal
./is-op.py:8:
> y = x is not "foo"
object comparison with literal
./is-op.py:9:
> y = x is not 5346
object comparison with literal
./is-op.py:10:
> y = x is not -6
object comparison with literal
[1]
Mads Kiilerich
check-code: add --nolineno option for hiding line numbers...
r15502 $ cat > warning.py <<EOF
> except:
> EOF
$ "$check_code" warning.py --warning --nolineno
warning.py:0:
> except:
warning: naked except clause
[1]