commit: aa73d3cf430b1bde84db5cb551abadbfcfae4698
Author: Brian Harring <ferringb <AT> gmail <DOT> com>
AuthorDate: Sun Nov 30 20:21:35 2025 +0000
Commit: Brian Harring <ferringb <AT> gmail <DOT> com>
CommitDate: Sun Nov 30 20:21:35 2025 +0000
URL:
https://gitweb.gentoo.org/proj/pkgcore/snakeoil.git/commit/?id=aa73d3cf
chore: include the failed qualname for get_submodules_of exceptions
Signed-off-by: Brian Harring <ferringb <AT> gmail.com>
src/snakeoil/python_namespaces.py | 4 ++--
tests/test_python_namespaces.py | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/snakeoil/python_namespaces.py
b/src/snakeoil/python_namespaces.py
index a926f5c..ea21b1c 100644
--- a/src/snakeoil/python_namespaces.py
+++ b/src/snakeoil/python_namespaces.py
@@ -81,9 +81,9 @@ def get_submodules_of(
# logic in one spot. TL;DR: this is intentionally not
optimized for the
# common case.
to_scan.append(importlib.import_module(qualname))
- except ImportError:
+ except ImportError as e:
if not ignore_import_failures(qualname):
- raise
+ raise ImportError(f"failed importing {qualname}: {e}")
from e
def import_submodules_of(target: types.ModuleType, **kwargs) -> None:
diff --git a/tests/test_python_namespaces.py b/tests/test_python_namespaces.py
index c06037e..184f3b6 100644
--- a/tests/test_python_namespaces.py
+++ b/tests/test_python_namespaces.py
@@ -98,11 +98,11 @@ class TestNamespaceCollector:
mod = importlib.import_module("_ns_test")
with pytest.raises(ImportError) as capture:
import_submodules_of(mod,
ignore_import_failures=["_ns_test.bad2"])
- assert ("bad1",) == tuple(capture.value.args)
+ assert "bad1" in " ".join(tuple(capture.value.args))
with pytest.raises(ImportError) as capture:
import_submodules_of(mod,
ignore_import_failures=["_ns_test.bad1"])
- assert ("bad2",) == tuple(capture.value.args)
+ assert "bad2" in " ".join(tuple(capture.value.args))
with pytest.raises(ImportError):
import_submodules_of(mod, ignore_import_failures=False)