diff options
Diffstat (limited to 'tests/test-check-code.t')
-rw-r--r-- | tests/test-check-code.t | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/tests/test-check-code.t b/tests/test-check-code.t new file mode 100644 index 0000000..ee061d8 --- /dev/null +++ b/tests/test-check-code.t @@ -0,0 +1,142 @@ + $ 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 + > + > # 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 + > EOF + $ cat > classstyle.py <<EOF + > class newstyle_class(object): + > pass + > + > class oldstyle_class: + > pass + > + > class empty(): + > pass + > + > no_class = 1: + > pass + > EOF + $ check_code="$TESTDIR"/../contrib/check-code.py + $ "$check_code" ./wrong.py ./correct.py ./quote.py ./non-py24.py ./classstyle.py + ./wrong.py:1: + > def toto( arg1, arg2): + gratuitous whitespace in () or [] + ./wrong.py:2: + > del(arg2) + Python keyword is not a function + ./wrong.py:3: + > return ( 5+6, 9) + gratuitous whitespace in () or [] + 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 + ./non-py24.py:11: + > try: + no try/except/finally in Py2.4 + ./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) + [1] + + $ 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] + + $ cat > warning.py <<EOF + > except: + > EOF + $ "$check_code" warning.py --warning --nolineno + warning.py:0: + > except: + warning: naked except clause + [1] |