# HG changeset patch # User Pierre-Yves David # Date 2024-10-23 14:14:13 # Node ID 43602c675b4f3dffe92217c2386c0d57347ba120 # Parent 73cf8b56c2f580b5fa91f3231e451965d30403df 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. diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -609,14 +609,7 @@ def has_root(): @check("pyflakes", "Pyflakes python linter") def has_pyflakes(): - try: - import pyflakes - - pyflakes.__version__ - except ImportError: - return False - else: - return True + return matchoutput("pyflakes --version", br"^\d+\.\d+\.\d+\b", True) @check("pylint", "Pylint python linter") diff --git a/tests/test-check-pyflakes.t b/tests/test-check-pyflakes.t --- a/tests/test-check-pyflakes.t +++ b/tests/test-check-pyflakes.t @@ -8,7 +8,7 @@ run pyflakes on all tracked files ending $ cat > test.py < print(undefinedname) > EOF - $ "$PYTHON" -m pyflakes test.py 2>/dev/null | "$TESTDIR/filterpyflakes.py" + $ pyflakes test.py 2>/dev/null | "$TESTDIR/filterpyflakes.py" test.py:1:* undefined name 'undefinedname' (glob) $ cd "`dirname "$TESTDIR"`" @@ -18,7 +18,7 @@ run pyflakes on all tracked files ending > -X contrib/python-zstandard \ > -X mercurial/thirdparty \ > 2>/dev/null \ - > | xargs "$PYTHON" -m pyflakes 2>/dev/null | "$TESTDIR/filterpyflakes.py" + > | 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)