mirror of
https://github.com/home-assistant/core.git
synced 2025-08-03 12:45:28 +02:00
Ignore decorators
This commit is contained in:
@@ -27,14 +27,24 @@ class HassLoadFixturesChecker(BaseChecker):
|
||||
}
|
||||
options = ()
|
||||
|
||||
_decorators_queue: list[nodes.Decorators]
|
||||
_function_queue: list[nodes.FunctionDef | nodes.AsyncFunctionDef]
|
||||
_in_test_module: bool
|
||||
|
||||
def visit_module(self, node: nodes.Module) -> None:
|
||||
"""Visit a module definition."""
|
||||
self._in_test_module = node.name.startswith("tests.")
|
||||
self._decorators_queue = []
|
||||
self._function_queue = []
|
||||
|
||||
def visit_decorators(self, node: nodes.Decorators) -> None:
|
||||
"""Visit a function definition."""
|
||||
self._decorators_queue.append(node)
|
||||
|
||||
def leave_decorators(self, node: nodes.Decorators) -> None:
|
||||
"""Leave a function definition."""
|
||||
self._decorators_queue.pop()
|
||||
|
||||
def visit_functiondef(self, node: nodes.FunctionDef) -> None:
|
||||
"""Visit a function definition."""
|
||||
self._function_queue.append(node)
|
||||
@@ -54,6 +64,8 @@ class HassLoadFixturesChecker(BaseChecker):
|
||||
# Ensure we are in an async function context
|
||||
or not self._function_queue
|
||||
or not isinstance(self._function_queue[-1], nodes.AsyncFunctionDef)
|
||||
# Ensure we are not in the decorators
|
||||
or self._decorators_queue
|
||||
# Check function name
|
||||
or not isinstance(node.func, nodes.Name)
|
||||
or node.func.name not in FUNCTION_NAMES
|
||||
|
Reference in New Issue
Block a user