2022-01-12 23:35:37

by Michał Winiarski

[permalink] [raw]
Subject: [PATCH] kunit: tool: Import missing importlib.abc

Python 3.10.0 contains:
9e09849d20 ("bpo-41006: importlib.util no longer imports typing (GH-20938)")

It causes importlib.util to no longer import importlib.abs, which leads
to the following error when trying to use kunit with qemu:
AttributeError: module 'importlib' has no attribute 'abc'. Did you mean: '_abc'?

Add the missing import.

Signed-off-by: Michał Winiarski <[email protected]>
---
tools/testing/kunit/kunit_kernel.py | 1 +
1 file changed, 1 insertion(+)

diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
index 44bbe54f25f1..3c4196cef3ed 100644
--- a/tools/testing/kunit/kunit_kernel.py
+++ b/tools/testing/kunit/kunit_kernel.py
@@ -6,6 +6,7 @@
# Author: Felix Guo <[email protected]>
# Author: Brendan Higgins <[email protected]>

+import importlib.abc
import importlib.util
import logging
import subprocess
--
2.34.1



2022-01-12 23:45:20

by Daniel Latypov

[permalink] [raw]
Subject: Re: [PATCH] kunit: tool: Import missing importlib.abc

On Wed, Jan 12, 2022 at 3:35 PM Michał Winiarski
<[email protected]> wrote:
>
> Python 3.10.0 contains:
> 9e09849d20 ("bpo-41006: importlib.util no longer imports typing (GH-20938)")
>
> It causes importlib.util to no longer import importlib.abs, which leads
> to the following error when trying to use kunit with qemu:
> AttributeError: module 'importlib' has no attribute 'abc'. Did you mean: '_abc'?
>
> Add the missing import.
>
> Signed-off-by: Michał Winiarski <[email protected]>

Reviewed-by: Daniel Latypov <[email protected]>

Thanks for catching this! I completely forgot to add the import.

For context to others, the relevant line is
216 assert isinstance(spec.loader, importlib.abc.Loader)
which was added by me in commit 52a5d80a2225 ("kunit: tool: fix
typecheck errors about loading qemu configs").

We could potentially add a Fixes: tag on this, but this looks good to me.

> ---
> tools/testing/kunit/kunit_kernel.py | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/tools/testing/kunit/kunit_kernel.py b/tools/testing/kunit/kunit_kernel.py
> index 44bbe54f25f1..3c4196cef3ed 100644
> --- a/tools/testing/kunit/kunit_kernel.py
> +++ b/tools/testing/kunit/kunit_kernel.py
> @@ -6,6 +6,7 @@
> # Author: Felix Guo <[email protected]>
> # Author: Brendan Higgins <[email protected]>
>
> +import importlib.abc
> import importlib.util
> import logging
> import subprocess
> --
> 2.34.1
>

2022-01-22 18:09:31

by Brendan Higgins

[permalink] [raw]
Subject: Re: [PATCH] kunit: tool: Import missing importlib.abc

On Wed, Jan 12, 2022 at 6:35 PM Michał Winiarski
<[email protected]> wrote:
>
> Python 3.10.0 contains:
> 9e09849d20 ("bpo-41006: importlib.util no longer imports typing (GH-20938)")
>
> It causes importlib.util to no longer import importlib.abs, which leads
> to the following error when trying to use kunit with qemu:
> AttributeError: module 'importlib' has no attribute 'abc'. Did you mean: '_abc'?
>
> Add the missing import.
>
> Signed-off-by: Michał Winiarski <[email protected]>

Thanks!

Reviewed-by: Brendan Higgins <[email protected]>