[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 00/36] qapi: static typing conversion, pt1
From: |
Cleber Rosa |
Subject: |
Re: [PATCH v5 00/36] qapi: static typing conversion, pt1 |
Date: |
Mon, 5 Oct 2020 19:05:59 -0400 |
On Mon, Oct 05, 2020 at 03:51:22PM -0400, John Snow wrote:
> Hi, this series adds static type hints to the QAPI module.
> This is part one!
>
> Part 1: https://gitlab.com/jsnow/qemu/-/tree/python-qapi-cleanup-pt1
> Everything: https://gitlab.com/jsnow/qemu/-/tree/python-qapi-cleanup-pt6
>
> - Requires Python 3.6+
> - Requires mypy 0.770 or newer (for type analysis only)
> - Requires pylint 2.6.0 or newer (for lint checking only)
>
> In general, this series tackles the cleanup of one individual QAPI
> module at a time. Once it passes pylint or mypy checks, those checks are
> enabled for that file.
>
> Type hints are added in patches that add *only* type hints and change no
> other behavior. Any necessary changes to behavior to accommodate typing
> are split out into their own tiny patches.
>
> Notes:
>
> - After patch 07, `isort -c` should pass 100% on this and every
> future commit.
>
FIY, I went on to replicate/validate your testing, and I ran on
patches 07 an later:
isort --check-only --settings-path ./scripts/qapi/.isort.cfg --recursive
./scripts/qapi
With success.
> - After patch 08, `flake8 qapi/` should pass 100% on this and every
> future commit.
>
Here on patches 08 an later, I've run:
flake8 ./scripts/qapi
And starting on patch 24 ("qapi/source.py: add type hint annotations")
it complained about:
/scripts/qapi/source.py:44:31: F821 undefined name 'T'
> - After patch 09, `pylint --rcfile=qapi/pylintrc qapi/` should pass 100%
> on this and every future commit.
>
Here I ran on patches 09 and later:
pylint --rcfile=./scripts/qapi/pylintrc ./scripts/qapi/
And all succeeded.
> - After patch 18, `mypy --config-file=qapi/mypy.ini qapi/` should pass
> 100% on this and every future commit.
>
Here I ran on patches 18 and later:
mypy --config-file=./scripts/qapi/mypy.ini ./scripts/qapi/
And all succeeded.
- Cleber.
signature.asc
Description: PGP signature
- Re: [PATCH v5 34/36] qapi/visit.py: assert tag_member contains a QAPISchemaEnumType, (continued)
[PATCH v5 33/36] qapi/types.py: remove one-letter variables, John Snow, 2020/10/05
[PATCH v5 35/36] qapi/visit.py: remove unused parameters from gen_visit_object, John Snow, 2020/10/05
[PATCH v5 36/36] qapi/visit.py: add type hint annotations, John Snow, 2020/10/05
Re: [PATCH v5 00/36] qapi: static typing conversion, pt1,
Cleber Rosa <=
Re: [PATCH v5 00/36] qapi: static typing conversion, pt1, Markus Armbruster, 2020/10/07