🎨 Raise exception instead of hiding it in finally (#845)

This commit is contained in:
František Trebuňa 2025-01-05 20:33:09 +01:00 committed by GitHub
parent d82d9fb822
commit f9db578c59
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 22 additions and 2 deletions

View File

@ -3222,8 +3222,8 @@ cdef class ThreadLocalSingleton(BaseSingleton):
return future_result
self._storage.instance = instance
finally:
return instance
return instance
def _async_init_instance(self, future_result, result):
try:

View File

@ -0,0 +1,20 @@
import pytest
from dependency_injector.containers import Container
from dependency_injector.providers import ThreadLocalSingleton
class FailingClass:
def __init__(self):
raise ValueError("FAILING CLASS")
class TestContainer(Container):
failing_class = ThreadLocalSingleton(FailingClass)
def test_on_failure_value_error_is_raised():
container = TestContainer()
with pytest.raises(ValueError, match="FAILING CLASS"):
container.failing_class()