• Daniel Latypov's avatar
    kunit: tool: fix newly introduced typechecker errors · 85310a62
    Daniel Latypov authored
    After upgrading mypy and pytype from pip, we see 2 new errors when
    running ./tools/testing/kunit/run_checks.py.
    
    Error #1: mypy and pytype
    They now deduce that importlib.util.spec_from_file_location() can return
    None and note that we're not checking for this.
    
    We validate that the arch is valid (i.e. the file exists) beforehand.
    Add in an `asssert spec is not None` to appease the checkers.
    
    Error #2: pytype bug https://github.com/google/pytype/issues/1057
    It doesn't like `from datetime import datetime`, specifically that a
    type shares a name with a module.
    
    We can workaround this by either
    * renaming the import or just using `import datetime`
    * passing the new `--fix-module-collisions` flag to pytype.
    
    We pick the first option for now because
    * the flag is quite new, only in the 2021.11.29 release.
    * I'd prefer if people can just run `pytype <file>`
    Signed-off-by: default avatarDaniel Latypov <dlatypov@google.com>
    Reviewed-by: default avatarBrendan Higgins <brendanhiggins@google.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    85310a62
kunit_kernel.py 13.3 KB