123456789101112131415161718192021222324252627 |
- """Astroid hooks for unittest module"""
- from astroid.brain.helpers import register_module_extender
- from astroid.builder import parse
- from astroid.const import PY38_PLUS
- 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/PyCQA/pylint/issues/4060)
- """
- return parse(
- """
- from .async_case import IsolatedAsyncioTestCase
- """
- )
- if PY38_PLUS:
- register_module_extender(
- AstroidManager(), "unittest", IsolatedAsyncioTestCaseImport
- )
|