Guard module being None (#25077)
This commit is contained in:
parent
b8ee3536b3
commit
27d750db1c
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
|
- Once the invalidation_version is crossed, raises vol.Invalid if key
|
||||||
is detected
|
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:
|
if replacement_key and invalidation_version:
|
||||||
warning = ("The '{key}' option (with value '{value}') is"
|
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)
|
"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():
|
def test_key_dependency():
|
||||||
"""Test key_dependency validator."""
|
"""Test key_dependency validator."""
|
||||||
schema = vol.Schema(cv.key_dependency('beer', 'soda'))
|
schema = vol.Schema(cv.key_dependency('beer', 'soda'))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue