✏️ 正在编辑: decorator.py
路径:
/opt/cloudlinux/venv/lib/python3.11/site-packages/pylint/testutils/decorator.py
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html # For details: https://github.com/PyCQA/pylint/blob/main/LICENSE # Copyright (c) https://github.com/PyCQA/pylint/blob/main/CONTRIBUTORS.txt from __future__ import annotations import functools from collections.abc import Callable from typing import Any from pylint.testutils.checker_test_case import CheckerTestCase def set_config(**kwargs: Any) -> Callable[[Callable[..., None]], Callable[..., None]]: """Decorator for setting an option on the linter. Passing the args and kwargs back to the test function itself allows this decorator to be used on parameterized test cases. """ def _wrapper(fun: Callable[..., None]) -> Callable[..., None]: @functools.wraps(fun) def _forward( self: CheckerTestCase, *args: Any, **test_function_kwargs: Any ) -> None: """Set option via argparse.""" for key, value in kwargs.items(): self.linter.set_option(key, value) # Reopen checker in case, it may be interested in configuration change self.checker.open() fun(self, *args, **test_function_kwargs) return _forward return _wrapper
💾 保存文件
← 返回文件管理器