##// END OF EJS Templates
tests: use pyflakes as a tool, not a python module...
tests: use pyflakes as a tool, not a python module The usage of pyflakes as a Python module was introduced in e397c6d74652, to work around issue between Python 2 and Python 3. This issues are long behind us now and we can get beck to using pyflakes as a tool, giving us more flexibility about how we install it. The `hghave` requirements is modified to check that we have a tool available, instead of a python module.

File last commit:

r52956:43602c67 default
r52956:43602c67 default
Show More
test-check-pyflakes.t
32 lines | 1.3 KiB | text/troff | Tads3Lexer
/ tests / test-check-pyflakes.t
#require test-repo pyflakes hg10
$ . "$TESTDIR/helpers-testrepo.sh"
run pyflakes on all tracked files ending in .py or without a file ending
(skipping binary file random-seed)
$ cat > test.py <<EOF
> print(undefinedname)
> EOF
$ pyflakes test.py 2>/dev/null | "$TESTDIR/filterpyflakes.py"
test.py:1:* undefined name 'undefinedname' (glob)
$ cd "`dirname "$TESTDIR"`"
$ testrepohg locate 'set:**.py or grep("^#!.*python")' \
> -X hgext/fsmonitor/pywatchman \
> -X contrib/python-zstandard \
> -X mercurial/thirdparty \
> 2>/dev/null \
> | xargs pyflakes 2>/dev/null | "$TESTDIR/filterpyflakes.py"
contrib/perf.py:*:* undefined name 'xrange' (glob) (?)
mercurial/pycompat.py:*:* 'codecs' imported but unused (glob)
mercurial/pycompat.py:*:* 'concurrent.futures' imported but unused (glob)
mercurial/pycompat.py:*:* 'http.client as httplib' imported but unused (glob)
mercurial/pycompat.py:*:* 'http.cookiejar as cookielib' imported but unused (glob)
mercurial/pycompat.py:*:* 'io' imported but unused (glob)
mercurial/pycompat.py:*:* 'queue' imported but unused (glob)
mercurial/pycompat.py:*:* 'socketserver' imported but unused (glob)
mercurial/pycompat.py:*:* 'xmlrpc.client as xmlrpclib' imported but unused (glob)
mercurial/util.py:*:* 'pickle' imported but unused (glob)