John Snow <js...@redhat.com> writes: > Fix two very minor issues,
What are the two issues? I'm asking because I can see only one. > and then establish a mypy type-checking > baseline. Any particular reason this can't go before PATCH 15 "qapi/common.py: add type hint annotations". > Like pylint, this should be run from the folder above: > > > mypy --config-file=qapi/mypy.ini qapi/ > > This is designed and tested for mypy 0.770 or greater. > > Signed-off-by: John Snow <js...@redhat.com> > Tested-by: Eduardo Habkost <ehabk...@redhat.com> > Reviewed-by: Cleber Rosa <cr...@redhat.com> > Tested-by: Cleber Rosa <cr...@redhat.com> > --- > scripts/qapi/mypy.ini | 60 ++++++++++++++++++++++++++++++++++++++++++ > scripts/qapi/schema.py | 3 ++- > 2 files changed, 62 insertions(+), 1 deletion(-) > create mode 100644 scripts/qapi/mypy.ini > > diff --git a/scripts/qapi/mypy.ini b/scripts/qapi/mypy.ini > new file mode 100644 > index 00000000000..00fac15dc6e > --- /dev/null > +++ b/scripts/qapi/mypy.ini > @@ -0,0 +1,60 @@ > +[mypy] > +strict = True > +strict_optional = False > +disallow_untyped_calls = False > +python_version = 3.6 > + > +[mypy-qapi.commands] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.error] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.events] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.expr] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.gen] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.introspect] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.parser] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.schema] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.source] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.types] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > + > +[mypy-qapi.visit] > +disallow_untyped_defs = False > +disallow_incomplete_defs = False > +check_untyped_defs = False > diff --git a/scripts/qapi/schema.py b/scripts/qapi/schema.py > index 74c6b96d391..483b4b68dff 100644 > --- a/scripts/qapi/schema.py > +++ b/scripts/qapi/schema.py > @@ -17,6 +17,7 @@ > from collections import OrderedDict > import os > import re > +from typing import Optional > > from .common import POINTER_SUFFIX, c_name > from .error import QAPIError, QAPISemError > @@ -25,7 +26,7 @@ > > > class QAPISchemaEntity: > - meta = None > + meta: Optional[str] = None > > def __init__(self, name, info, doc, ifcond=None, features=None): > assert name is None or isinstance(name, str)