view tests/test-check-pyflakes.t @ 43337:7e20b705da5b stable

formatter: fix handling of None value in templater mapping For historical reasons, None in mapping dict means there's no such keyword, and falls back to b"". That's fine in log templates where mapping item is generally a callable returning a value (which may be None,) but the formatter directly puts an "evaluated" value in the mapping. So the None value has to be lifted to wrappedvalue(None) to avoid confusion in the template engine.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 27 Oct 2019 12:49:09 +0900
parents f244da1fc4c6
children 2ade00f3b03b
line wrap: on
line source

#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'
  
  $ cd "`dirname "$TESTDIR"`"

  $ testrepohg locate 'set:**.py or grep("^#!.*python")' \
  > -X hgext/fsmonitor/pywatchman \
  > -X mercurial/pycompat.py -X contrib/python-zstandard \
  > -X mercurial/thirdparty/cbor \
  > -X mercurial/thirdparty/concurrent \
  > -X mercurial/thirdparty/zope \
  > 2>/dev/null \
  > | xargs pyflakes 2>/dev/null | "$TESTDIR/filterpyflakes.py"
  contrib/perf.py:*: undefined name 'xrange' (glob) (?)
  mercurial/hgweb/server.py:*: undefined name 'reload' (glob) (?)
  mercurial/util.py:*: undefined name 'file' (glob) (?)