Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/astroid/brain/brain_pytest.py: 88%
8 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:53 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:53 +0000
1# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
2# For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE
3# Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt
5"""Astroid hooks for pytest."""
6from astroid.brain.helpers import register_module_extender
7from astroid.builder import AstroidBuilder
8from astroid.manager import AstroidManager
11def pytest_transform():
12 return AstroidBuilder(AstroidManager()).string_build(
13 """
15try:
16 import _pytest.mark
17 import _pytest.recwarn
18 import _pytest.runner
19 import _pytest.python
20 import _pytest.skipping
21 import _pytest.assertion
22except ImportError:
23 pass
24else:
25 deprecated_call = _pytest.recwarn.deprecated_call
26 warns = _pytest.recwarn.warns
28 exit = _pytest.runner.exit
29 fail = _pytest.runner.fail
30 skip = _pytest.runner.skip
31 importorskip = _pytest.runner.importorskip
33 xfail = _pytest.skipping.xfail
34 mark = _pytest.mark.MarkGenerator()
35 raises = _pytest.python.raises
37 # New in pytest 3.0
38 try:
39 approx = _pytest.python.approx
40 register_assert_rewrite = _pytest.assertion.register_assert_rewrite
41 except AttributeError:
42 pass
45# Moved in pytest 3.0
47try:
48 import _pytest.freeze_support
49 freeze_includes = _pytest.freeze_support.freeze_includes
50except ImportError:
51 try:
52 import _pytest.genscript
53 freeze_includes = _pytest.genscript.freeze_includes
54 except ImportError:
55 pass
57try:
58 import _pytest.debugging
59 set_trace = _pytest.debugging.pytestPDB().set_trace
60except ImportError:
61 try:
62 import _pytest.pdb
63 set_trace = _pytest.pdb.pytestPDB().set_trace
64 except ImportError:
65 pass
67try:
68 import _pytest.fixtures
69 fixture = _pytest.fixtures.fixture
70 yield_fixture = _pytest.fixtures.yield_fixture
71except ImportError:
72 try:
73 import _pytest.python
74 fixture = _pytest.python.fixture
75 yield_fixture = _pytest.python.yield_fixture
76 except ImportError:
77 pass
78"""
79 )
82register_module_extender(AstroidManager(), "pytest", pytest_transform)
83register_module_extender(AstroidManager(), "py.test", pytest_transform)