mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2026-05-06 20:30:24 -04:00
7b4680b03f
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
121 lines
3.5 KiB
Python
121 lines
3.5 KiB
Python
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
import os
|
|
from subprocess import check_call
|
|
import sys
|
|
|
|
|
|
class TestLinters:
|
|
|
|
def test_flake8_pkg(self):
|
|
check_call([sys.executable, "-m", "flake8", "qemu/"])
|
|
|
|
def test_flake8_scripts(self):
|
|
check_call([sys.executable, "-m", "flake8", "scripts/"])
|
|
|
|
def test_flake8_qapi(self):
|
|
check_call(
|
|
[
|
|
sys.executable,
|
|
"-m",
|
|
"flake8",
|
|
"../scripts/qapi/",
|
|
"../docs/sphinx/qapidoc.py",
|
|
"../docs/sphinx/qapi_domain.py",
|
|
]
|
|
)
|
|
|
|
def test_isort_minikconf(self):
|
|
check_call([sys.executable, "-m", "isort", "-c", "../scripts/minikconf.py"])
|
|
|
|
def test_isort_pkg(self):
|
|
check_call([sys.executable, "-m", "isort", "-c", "qemu/"])
|
|
|
|
def test_isort_scripts(self):
|
|
check_call([sys.executable, "-m", "isort", "-c", "scripts/"])
|
|
|
|
def test_isort_qapi(self):
|
|
check_call(
|
|
[
|
|
sys.executable,
|
|
"-m",
|
|
"isort",
|
|
"--sp",
|
|
".",
|
|
"-c",
|
|
"../scripts/qapi/",
|
|
]
|
|
)
|
|
|
|
def test_isort_qapi_sphinx(self):
|
|
# Force isort to recognize 'compat' as a local module and not
|
|
# third-party
|
|
check_call(
|
|
[
|
|
sys.executable,
|
|
"-m",
|
|
"isort",
|
|
"--sp",
|
|
".",
|
|
"-c",
|
|
"-p",
|
|
"compat",
|
|
"../docs/sphinx/qapi_domain.py",
|
|
"../docs/sphinx/qapidoc.py",
|
|
]
|
|
)
|
|
|
|
def test_mypy_minikconf(self):
|
|
check_call([sys.executable, "-m", "mypy", "../scripts/minikconf.py"])
|
|
|
|
def test_mypy_pkg(self):
|
|
check_call([sys.executable, "-m", "mypy", "-p", "qemu"])
|
|
|
|
def test_mypy_scripts(self):
|
|
check_call([sys.executable, "-m", "mypy", "scripts/"])
|
|
|
|
def test_mypy_qapi(self):
|
|
check_call([sys.executable, "-m", "mypy", "../scripts/qapi"])
|
|
|
|
def test_mypy_iotests(self):
|
|
check_call(
|
|
[sys.executable, "-m", "linters", "--mypy"],
|
|
cwd="../tests/qemu-iotests/",
|
|
)
|
|
|
|
# Setuptools v60 introduced the SETUPTOOLS_USE_DISTUTILS=stdlib
|
|
# workaround; stdlib distutils was fully removed in Python
|
|
# 3.12+. Once we are on >=3.12+ exclusively, this workaround can be
|
|
# dropped safely. Until then, it is needed for some versions on
|
|
# Fedora/Debian distributions which relied upon distro-patched
|
|
# setuptools present in CPython, but not within setuptools itself.
|
|
|
|
def test_pylint_pkg(self):
|
|
os.environ["SETUPTOOLS_USE_DISTUTILS"] = "stdlib"
|
|
check_call([sys.executable, "-m", "pylint", "qemu/"])
|
|
|
|
def test_pylint_scripts(self):
|
|
os.environ["SETUPTOOLS_USE_DISTUTILS"] = "stdlib"
|
|
check_call([sys.executable, "-m", "pylint", "scripts/"])
|
|
|
|
def test_pylint_qapi(self):
|
|
os.environ["SETUPTOOLS_USE_DISTUTILS"] = "stdlib"
|
|
check_call(
|
|
[
|
|
sys.executable,
|
|
"-m",
|
|
"pylint",
|
|
"--rcfile=../scripts/qapi/pylintrc",
|
|
"../scripts/qapi/",
|
|
"../docs/sphinx/qapidoc.py",
|
|
"../docs/sphinx/qapi_domain.py",
|
|
]
|
|
)
|
|
|
|
def test_pylint_iotests(self):
|
|
os.environ["SETUPTOOLS_USE_DISTUTILS"] = "stdlib"
|
|
check_call(
|
|
[sys.executable, "-m", "linters", "--pylint"],
|
|
cwd="../tests/qemu-iotests/",
|
|
)
|