kunit: tool: surface and address more typing issues
authorDaniel Latypov <dlatypov@google.com>
Fri, 15 Jan 2021 00:39:11 +0000 (16:39 -0800)
committerShuah Khan <skhan@linuxfoundation.org>
Sat, 16 Jan 2021 00:49:34 +0000 (17:49 -0700)
commit09641f7c7d8f1309fe9ad9ce4e6a1697016d73ba
tree2e2ddefcced15944e0f60ab1b9f87a18f2648bfe
parent8db50be262e9faf59fa0feb74599c29b64eb0af2
kunit: tool: surface and address more typing issues

The authors of this tool were more familiar with a different
type-checker, https://github.com/google/pytype.

That's open source, but mypy seems more prevalent (and runs faster).
And unlike pytype, mypy doesn't try to infer types so it doesn't check
unanotated functions.

So annotate ~all functions in kunit tool to increase type-checking
coverage.
Note: per https://www.python.org/dev/peps/pep-0484/, `__init__()` should
be annotated as `-> None`.

Doing so makes mypy discover a number of new violations.
Exclude main() since we reuse `request` for the different types of
requests, which mypy isn't happy about.

This commit fixes all but one error, where `TestSuite.status` might be
None.

Signed-off-by: Daniel Latypov <dlatypov@google.com>
Reviewed-by: David Gow <davidgow@google.com>
Tested-by: Brendan Higgins <brendanhiggins@google.com>
Acked-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/kunit/kunit.py
tools/testing/kunit/kunit_config.py
tools/testing/kunit/kunit_json.py
tools/testing/kunit/kunit_kernel.py
tools/testing/kunit/kunit_parser.py