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)

Reply via email to