[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v9 00/14] iotests: use python logging
From: |
John Snow |
Subject: |
Re: [PATCH v9 00/14] iotests: use python logging |
Date: |
Mon, 30 Mar 2020 15:03:06 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 |
On 3/24/20 7:20 PM, John Snow wrote:
> This series uses python logging to enable output conditionally on
> iotests.log(). We unify an initialization call (which also enables
> debugging output for those tests with -d) and then make the switch
> inside of iotests.
>
> It will help alleviate the need to create logged/unlogged versions
> of all the various helpers we have made.
>
> Also, I got lost and accidentally delinted iotests while I was here.
> Sorry about that. By version 9, it's now the overwhelming focus of
> this series. No good deed, etc.
Version requirements, as discovered by Kevin's Python Museum:
mypy >= 0.620
pylint >= 2.2.0
astroid == 2.1.0 (or >= 2.2.0 if using pylint >= 2.3.0)
Hm, though ... pylint does not like 'Collection' very much:
iotests.py:1139:41: E1136: Value 'Collection' is unsubscriptable
(unsubscriptable-object)
It works OK for the same pylint versions under 3.7, but it's busted a
bit under 3.6. See https://github.com/PyCQA/pylint/issues/2377
Well. Collection is indeed the actual type we want (we need Iterable and
Container properties; i.e. supports 'for' and 'in'). There's no reason
to require a Sequence (adds Reversible and some notion of a fixed
ordering) -- but it will fix the typing problems in 3.6, so I'm going to
do that.
You can create a "minimum requirements" venv to test this:
> cd ~/src/qemu/tests/qemu-iotests/
> sudo dnf install python36
> pipenv --python 3.6
> pipenv shell
> pipenv install astroid==2.1.0 pylint==2.2.0 mypy==0.620
> pylint iotests.py
> set -x MYPYPATH ~/src/qemu/python/
> mypy --ignore-missing-imports iotests.py
(You can drop the --ignore-missing-imports if you are using mypy >= 0.650.)
--js
- [PATCH v9 09/14] iotests: limit line length to 79 chars, (continued)
- [PATCH v9 13/14] iotests: Mark verify functions as private, John Snow, 2020/03/24
- [PATCH v9 11/14] iotests: add script_initialize, John Snow, 2020/03/24
- [PATCH v9 14/14] iotests: use python logging for iotests.log(), John Snow, 2020/03/24
- Re: [PATCH v9 00/14] iotests: use python logging, Max Reitz, 2020/03/30
- Re: [PATCH v9 00/14] iotests: use python logging,
John Snow <=