31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
|
# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
|
||
|
# For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE
|
||
|
# Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt
|
||
|
|
||
|
"""Astroid hooks for unittest module."""
|
||
|
from astroid.brain.helpers import register_module_extender
|
||
|
from astroid.builder import parse
|
||
|
from astroid.manager import AstroidManager
|
||
|
|
||
|
|
||
|
def IsolatedAsyncioTestCaseImport():
|
||
|
"""
|
||
|
In the unittest package, the IsolatedAsyncioTestCase class is imported lazily.
|
||
|
|
||
|
I.E. only when the ``__getattr__`` method of the unittest module is called with
|
||
|
'IsolatedAsyncioTestCase' as argument. Thus the IsolatedAsyncioTestCase
|
||
|
is not imported statically (during import time).
|
||
|
This function mocks a classical static import of the IsolatedAsyncioTestCase.
|
||
|
|
||
|
(see https://github.com/pylint-dev/pylint/issues/4060)
|
||
|
"""
|
||
|
return parse(
|
||
|
"""
|
||
|
from .async_case import IsolatedAsyncioTestCase
|
||
|
"""
|
||
|
)
|
||
|
|
||
|
|
||
|
def register(manager: AstroidManager) -> None:
|
||
|
register_module_extender(manager, "unittest", IsolatedAsyncioTestCaseImport)
|