qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: John Snow <jsnow@redhat.com>, Michael Roth <michael.roth@amd.com>,
	Cleber Rosa <crosa@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Markus Armbruster <armbru@redhat.com>
Subject: [PATCH v5 0/6] python: add QAPI and qapidoc et al to python tests
Date: Wed,  4 Jun 2025 16:03:48 -0400	[thread overview]
Message-ID: <20250604200354.459501-1-jsnow@redhat.com> (raw)

Hiya, this series turns on automated linting for scripts/qapi,
docs/sphinx/qapidoc.py and docs/sphinx/qapi_domain.py.

This includes flake8/isort/pylint/mypy for scripts/qapi, but omits mypy
from the Sphinx plugins owing to my inability to strictly type the
extensions given the wide versions of Sphinx we actually support.

[Maybe this will change soon, but it's not true just yet.]

Though I have been using black in my own development, I have not yet
enabled it anywhere automatically. Maybe soon.

V5:
  - Fixed test failure on GitLab CI. As far as I can tell, the problem
    stems from Sphinx requiring a version of `packaging` that is old
    enough that some newer versions of setuptools break when it is
    installed. Fix this by pinning setuptools to an older version, for
    now. Note that this only applies to the "minreqs" test and not
    general installation.

    (This change applies only to patch 4/6.)

    (Note that I am still carrying a patch to bump the Sphinx version,
    but I wanted to get this series out of the way first... I'll revisit
    this pinning again shortly.)

V4:
 - Rebase and resend. Pull Request imminent.

V3:
 - Folded in Markus's commit to clean up setup.cfg.

V2:
 - Mostly commit message updates based on Markus's's's review.

John Snow (5):
  qapi: Add some pylint ignores
  docs/qapidoc: linting fixes
  python: update missing dependencies from minreqs
  python: add qapi static analysis tests
  qapi: delete un-needed python static analysis configs

Markus Armbruster (1):
  python: Drop redundant warn_unused_configs = True

 docs/sphinx/qapi_domain.py  | 25 ++++++++++++++-----------
 docs/sphinx/qapidoc.py      |  5 +++--
 python/setup.cfg            |  2 +-
 python/tests/minreqs.txt    | 31 +++++++++++++++++++++++++++++++
 python/tests/qapi-flake8.sh |  6 ++++++
 python/tests/qapi-isort.sh  |  8 ++++++++
 python/tests/qapi-mypy.sh   |  4 ++++
 python/tests/qapi-pylint.sh |  8 ++++++++
 scripts/qapi/.flake8        |  3 ---
 scripts/qapi/.isort.cfg     |  7 -------
 scripts/qapi/backend.py     |  2 ++
 scripts/qapi/mypy.ini       |  4 ----
 scripts/qapi/pylintrc       |  1 +
 13 files changed, 78 insertions(+), 28 deletions(-)
 create mode 100755 python/tests/qapi-flake8.sh
 create mode 100755 python/tests/qapi-isort.sh
 create mode 100755 python/tests/qapi-mypy.sh
 create mode 100755 python/tests/qapi-pylint.sh
 delete mode 100644 scripts/qapi/.flake8
 delete mode 100644 scripts/qapi/.isort.cfg
 delete mode 100644 scripts/qapi/mypy.ini

-- 
2.48.1




             reply	other threads:[~2025-06-04 20:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-04 20:03 John Snow [this message]
2025-06-04 20:03 ` [PATCH v5 1/6] qapi: Add some pylint ignores John Snow via
2025-06-04 20:03 ` [PATCH v5 2/6] docs/qapidoc: linting fixes John Snow
2025-06-04 20:03 ` [PATCH v5 3/6] python: update missing dependencies from minreqs John Snow
2025-06-04 20:03 ` [PATCH v5 4/6] python: add qapi static analysis tests John Snow
2025-06-05  6:30   ` Markus Armbruster
2025-06-05  6:33   ` Markus Armbruster
2025-06-05  8:36     ` Daniel P. Berrangé
2025-06-05 16:02       ` John Snow
2025-06-04 20:03 ` [PATCH v5 5/6] python: Drop redundant warn_unused_configs = True John Snow
2025-06-04 20:03 ` [PATCH v5 6/6] qapi: delete un-needed python static analysis configs John Snow
2025-06-05  6:35 ` [PATCH v5 0/6] python: add QAPI and qapidoc et al to python tests Markus Armbruster
2025-06-05 16:00   ` John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250604200354.459501-1-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=armbru@redhat.com \
    --cc=crosa@redhat.com \
    --cc=michael.roth@amd.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).