On Thu, Oct 21, 2021 at 5:49 PM 'Daniel Latypov' via KUnit Development <kunit-dev@xxxxxxxxxxxxxxxx> wrote: > > Currently, we have these errors: > $ mypy ./tools/testing/kunit/*.py > tools/testing/kunit/kunit_kernel.py:213: error: Item "_Loader" of "Optional[_Loader]" has no attribute "exec_module" > tools/testing/kunit/kunit_kernel.py:213: error: Item "None" of "Optional[_Loader]" has no attribute "exec_module" > tools/testing/kunit/kunit_kernel.py:214: error: Module has no attribute "QEMU_ARCH" > tools/testing/kunit/kunit_kernel.py:215: error: Module has no attribute "QEMU_ARCH" > > exec_module > =========== > > pytype currently reports no errors, but that's because there's a comment > disabling it on 213. > > This is due to https://github.com/python/typeshed/pull/2626. > The fix is to assert the loaded module implements the ABC > (abstract base class) we want which has exec_module support. > > QEMU_ARCH > ========= > > pytype is fine with this, but mypy is not: > https://github.com/python/mypy/issues/5059 > > Add a check that the loaded module does indeed have QEMU_ARCH. > Note: this is not enough to appease mypy, so we also add a comment to > squash the warning. > > Signed-off-by: Daniel Latypov <dlatypov@xxxxxxxxxx> Thanks! I could not figure out how to make this work for both type checkers on my own. Reviewed-by: Brendan Higgins <brendanhiggins@xxxxxxxxxx>