##// END OF EJS Templates
localrepo: use file API via vfs while ensuring repository directory...
localrepo: use file API via vfs while ensuring repository directory As a part of migration to vfs, this patch invokes some file API indirectly via vfs, while ensuring repository directory in the constructor of "localrepository" class. New file API are added to "scmutil.abstractopener" class, because they are also used via other derived classes than "scmutil.opener". But "join()" is not yet defined other than "scmutil.opener" class, because it should not be used via other opener classes yet.

File last commit:

r15502:7917a104 default
r17161:be016e96 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]