This is intended to be a manually run, non-CI script. Use tox to test the linters against all python versions from 3.6 to 3.10. This will only work if you actually have those versions installed locally, but Fedora makes this easy: > sudo dnf install python3.6 python3.7 python3.8 python3.9 python3.10 Unlike the pipenv tests (make venv-check), this pulls "whichever" versions of the python packages, so they are unpinned and may break as time goes on. In the case that breakages are found, setup.cfg should be amended accordingly to avoid the bad dependant versions, or the code should be amended to work around the issue. With confidence that the tests pass on 3.6 through 3.10 inclusive, add the appropriate classifiers to setup.cfg to indicate which versions we claim to support. Tox 3.18.0 or above is required to use the 'allowlist_externals' option. Signed-off-by: John Snow <jsnow@redhat.com> Reviewed-by: Cleber Rosa <crosa@redhat.com> Tested-by: Cleber Rosa <crosa@redhat.com> Message-id: 20210527211715.394144-31-jsnow@redhat.com Signed-off-by: John Snow <jsnow@redhat.com>
103 lines
2.9 KiB
INI
103 lines
2.9 KiB
INI
[metadata]
|
|
name = qemu
|
|
version = file:VERSION
|
|
maintainer = QEMU Developer Team
|
|
maintainer_email = qemu-devel@nongnu.org
|
|
url = https://www.qemu.org/
|
|
download_url = https://www.qemu.org/download/
|
|
description = QEMU Python Build, Debug and SDK tooling.
|
|
long_description = file:PACKAGE.rst
|
|
long_description_content_type = text/x-rst
|
|
classifiers =
|
|
Development Status :: 3 - Alpha
|
|
License :: OSI Approved :: GNU General Public License v2 (GPLv2)
|
|
Natural Language :: English
|
|
Operating System :: OS Independent
|
|
Programming Language :: Python :: 3 :: Only
|
|
Programming Language :: Python :: 3.6
|
|
Programming Language :: Python :: 3.7
|
|
Programming Language :: Python :: 3.8
|
|
Programming Language :: Python :: 3.9
|
|
Programming Language :: Python :: 3.10
|
|
|
|
[options]
|
|
python_requires = >= 3.6
|
|
packages =
|
|
qemu.qmp
|
|
qemu.machine
|
|
qemu.utils
|
|
|
|
[options.extras_require]
|
|
# Run `pipenv lock --dev` when changing these requirements.
|
|
devel =
|
|
avocado-framework >= 87.0
|
|
flake8 >= 3.6.0
|
|
isort >= 5.1.2
|
|
mypy >= 0.770
|
|
pylint >= 2.8.0
|
|
tox >= 3.18.0
|
|
|
|
[flake8]
|
|
extend-ignore = E722 # Prefer pylint's bare-except checks to flake8's
|
|
exclude = __pycache__,
|
|
.venv,
|
|
.tox,
|
|
|
|
[mypy]
|
|
strict = True
|
|
python_version = 3.6
|
|
warn_unused_configs = True
|
|
namespace_packages = True
|
|
|
|
[pylint.messages control]
|
|
# Disable the message, report, category or checker with the given id(s). You
|
|
# can either give multiple identifiers separated by comma (,) or put this
|
|
# option multiple times (only on the command line, not in the configuration
|
|
# file where it should appear only once). You can also use "--disable=all" to
|
|
# disable everything first and then reenable specific checks. For example, if
|
|
# you want to run only the similarities checker, you can use "--disable=all
|
|
# --enable=similarities". If you want to run only the classes checker, but have
|
|
# no Warning level messages displayed, use "--disable=all --enable=classes
|
|
# --disable=W".
|
|
disable=too-many-arguments,
|
|
too-many-instance-attributes,
|
|
too-many-public-methods,
|
|
|
|
[pylint.basic]
|
|
# Good variable names which should always be accepted, separated by a comma.
|
|
good-names=i,
|
|
j,
|
|
k,
|
|
ex,
|
|
Run,
|
|
_,
|
|
fd,
|
|
c,
|
|
|
|
[pylint.similarities]
|
|
# Ignore imports when computing similarities.
|
|
ignore-imports=yes
|
|
|
|
[isort]
|
|
force_grid_wrap=4
|
|
force_sort_within_sections=True
|
|
include_trailing_comma=True
|
|
line_length=72
|
|
lines_after_imports=2
|
|
multi_line_output=3
|
|
|
|
# tox (https://tox.readthedocs.io/) is a tool for running tests in
|
|
# multiple virtualenvs. This configuration file will run the test suite
|
|
# on all supported python versions. To use it, "pip install tox" and
|
|
# then run "tox" from this directory. You will need all of these versions
|
|
# of python available on your system to run this test.
|
|
|
|
[tox:tox]
|
|
envlist = py36, py37, py38, py39, py310
|
|
|
|
[testenv]
|
|
allowlist_externals = make
|
|
deps = .[devel]
|
|
commands =
|
|
make check
|