Guard module being None (#25077)
This commit is contained in:
parent
afade4e997
commit
155c75c54a
2 changed files with 17 additions and 1 deletions
|
@ -549,7 +549,13 @@ def deprecated(key: str,
|
|||
- Once the invalidation_version is crossed, raises vol.Invalid if key
|
||||
is detected
|
||||
"""
|
||||
module_name = inspect.getmodule(inspect.stack()[1][0]).__name__
|
||||
module = inspect.getmodule(inspect.stack()[1][0])
|
||||
if module is not None:
|
||||
module_name = module.__name__
|
||||
else:
|
||||
# Unclear when it is None, but it happens, so let's guard.
|
||||
# https://github.com/home-assistant/home-assistant/issues/24982
|
||||
module_name = __name__
|
||||
|
||||
if replacement_key and invalidation_version:
|
||||
warning = ("The '{key}' option (with value '{value}') is"
|
||||
|
|
|
@ -833,6 +833,16 @@ def test_deprecated_with_replacement_key_invalidation_version_default(
|
|||
"invalid in version 0.1.0") == str(exc_info.value)
|
||||
|
||||
|
||||
def test_deprecated_cant_find_module():
|
||||
"""Test if the current module cannot be inspected."""
|
||||
with patch('inspect.getmodule', return_value=None):
|
||||
# This used to raise.
|
||||
cv.deprecated(
|
||||
'mars', replacement_key='jupiter', invalidation_version='1.0.0',
|
||||
default=False
|
||||
)
|
||||
|
||||
|
||||
def test_key_dependency():
|
||||
"""Test key_dependency validator."""
|
||||
schema = vol.Schema(cv.key_dependency('beer', 'soda'))
|
||||
|
|
Loading…
Add table
Reference in a new issue