[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 18/34] qapi: establish mypy type-checking baseline
From: |
Markus Armbruster |
Subject: |
[PULL 18/34] qapi: establish mypy type-checking baseline |
Date: |
Sat, 10 Oct 2020 11:54:48 +0200 |
From: John Snow <jsnow@redhat.com>
Fix a minor typing issue, and then establish a mypy type-checking
baseline.
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 <jsnow@redhat.com>
Tested-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Tested-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <20201009161558.107041-19-jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@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 0000000000..00fac15dc6
--- /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 7c01592956..720449feee 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 @@ from .parser import QAPISchemaParser
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)
--
2.26.2
- [PULL 11/34] qapi/common.py: Add indent manager, (continued)
- [PULL 11/34] qapi/common.py: Add indent manager, Markus Armbruster, 2020/10/10
- [PULL 12/34] qapi/common.py: delint with pylint, Markus Armbruster, 2020/10/10
- [PULL 02/34] qapi: modify docstrings to be sphinx-compatible, Markus Armbruster, 2020/10/10
- [PULL 15/34] qapi/common.py: add type hint annotations, Markus Armbruster, 2020/10/10
- [PULL 05/34] qapi: Prefer explicit relative imports, Markus Armbruster, 2020/10/10
- [PULL 14/34] qapi/common.py: check with pylint, Markus Armbruster, 2020/10/10
- [PULL 10/34] qapi/common.py: Remove python compatibility workaround, Markus Armbruster, 2020/10/10
- [PULL 04/34] qapi: move generator entrypoint into package, Markus Armbruster, 2020/10/10
- [PULL 06/34] qapi: Remove wildcard includes, Markus Armbruster, 2020/10/10
- [PULL 27/34] qapi/gen.py: Remove unused parameter, Markus Armbruster, 2020/10/10
- [PULL 18/34] qapi: establish mypy type-checking baseline,
Markus Armbruster <=
- [PULL 24/34] qapi/source.py: delint with pylint, Markus Armbruster, 2020/10/10
- [PULL 28/34] qapi/gen.py: update write() to be more idiomatic, Markus Armbruster, 2020/10/10
- [PULL 21/34] qapi/commands.py: Don't re-bind to variable of different type, Markus Armbruster, 2020/10/10
- [PULL 17/34] qapi/common.py: move build_params into gen.py, Markus Armbruster, 2020/10/10
- [PULL 20/34] qapi/events.py: Move comments into docstrings, Markus Armbruster, 2020/10/10
- [PULL 23/34] qapi/source.py: add type hint annotations, Markus Armbruster, 2020/10/10
- [PULL 25/34] qapi/gen: Make _is_user_module() return bool, Markus Armbruster, 2020/10/10
- [PULL 29/34] qapi/gen.py: delint with pylint, Markus Armbruster, 2020/10/10
- [PULL 16/34] qapi/common.py: Convert comments into docstrings, and elaborate, Markus Armbruster, 2020/10/10
- [PULL 22/34] qapi/commands.py: add type hint annotations, Markus Armbruster, 2020/10/10