[PATCH 02 of 24 yams V2] [tox] add mypy

Nicola Spanti nicola.spanti at logilab.fr
Wed Mar 4 16:42:09 CET 2020


Le 04/03/2020 à 16:26, Laurent Peuch a écrit :
> On Wed, Mar 04, 2020 at 04:09:40PM +0100, Nicola Spanti wrote:
>> $ hg id
>> deb24bc5407f
>> $ mypy --ignore-missing-imports yams
>> yams/schema.py:178: error: Need type annotation for '_specialized_by' (hint:
>> "_specialized_by: List[<type>] = ...")
>> yams/reader.py:277: error: Cannot assign to a method
>> Found 2 errors in 2 files (checked 12 source files)
>>
>> Et en fait ce patch a déjà été publié, par moi je le crains, alors qu'il
>> casse tox. :-/
> 
> À quoi tu vois que ça le casse ? En tout cas on a rajouté mypy au
> début mais mypy sort des erreurs sauf sur les derniers changeset car
> elles sont fixées progressivement donc je sais pas si c'est ça que tu
> as en tête.

J'ai testé à partir du dernier commit public (deb24bc5407f) et pas du 
haut de ta pile. Ça aurait été mieux si chaque patch ne cassait rien, ce 
qui permet d'intégrer progressivement et que ça reste ok, surtout s'il 
faut attendre le haut d'une très grosse pile pour avoir le correctif.

Effectivement en haut de la pile, mypy ne pose plus de problème. En 
revanche, flake8 (qui se plaint d'imports non utilisés) et 
"test/unittest_schema2dot.py" sont passés au rouge.

Je pense qu'il faudrait d'abord un ou plusieurs patchs pour corriger 
mypy (qui n'indique que 2 erreurs donc il ne devrait à priori pas avoir 
besoin de plein de patchs), puis mettre la suite au-dessus. De plus, et 
là je ne prétends pas du tout que ce serait à priori consensuel, mais ça 
fait peur une pile de plus de 10 patchs et ça me semblerait mieux 
d'envoyer des petites vagues au fur à mesure et à mesure de la 
publication que d'un coup la grosse vague.

>> Le 04/03/2020 à 15:17, Laurent Peuch a écrit :
>>> # HG changeset patch
>>> # User Laurent Peuch <cortex at worlddomination.be>
>>> # Date 1579279651 -3600
>>> #      Fri Jan 17 17:47:31 2020 +0100
>>> # Node ID fadce0cbddeb3c003361d439be6a901e592d1042
>>> # Parent  4a3921f215e07cbc3561ab87354462a1a7413b8a
>>> # Available At https://hg.logilab.org/users/lpeuch/yams
>>> #              hg pull https://hg.logilab.org/users/lpeuch/yams -r fadce0cbddeb
>>> # EXP-Topic type_annotations
>>> [tox] add mypy
>>>
>>> diff --git a/tox.ini b/tox.ini
>>> --- a/tox.ini
>>> +++ b/tox.ini
>>> @@ -1,5 +1,5 @@
>>>   [tox]
>>> -envlist=py3,check-manifest,flake8
>>> +envlist=py3,check-manifest,flake8,mypy
>>>   [testenv]
>>>   basepython=python3
>>> @@ -28,3 +28,8 @@ exclude = docs/*,.tox/*
>>>   [pytest]
>>>   python_files = *test_*.py
>>> +
>>> +[testenv:mypy]
>>> +deps =
>>> +  mypy >= 0.761
>>> +commands = mypy --ignore-missing-imports yams
>>>
> 



More information about the cubicweb-devel mailing list