summaryrefslogtreecommitdiff
path: root/astroid/brain/_pytest.py
diff options
context:
space:
mode:
Diffstat (limited to 'astroid/brain/_pytest.py')
-rw-r--r--astroid/brain/_pytest.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/astroid/brain/_pytest.py b/astroid/brain/_pytest.py
new file mode 100644
index 0000000..8165a2e
--- /dev/null
+++ b/astroid/brain/_pytest.py
@@ -0,0 +1,31 @@
+"""Astroid hooks for pytest."""
+
+from astroid import MANAGER, register_module_extender
+from astroid.builder import AstroidBuilder
+
+
+def pytest_transform():
+ return AstroidBuilder(MANAGER).string_build('''
+
+try:
+ import _pytest.mark
+ import _pytest.recwarn
+ import _pytest.runner
+ import _pytest.python
+except ImportError:
+ pass
+else:
+ deprecated_call = _pytest.recwarn.deprecated_call
+ exit = _pytest.runner.exit
+ fail = _pytest.runner.fail
+ fixture = _pytest.python.fixture
+ importorskip = _pytest.runner.importorskip
+ mark = _pytest.mark.MarkGenerator()
+ raises = _pytest.python.raises
+ skip = _pytest.runner.skip
+ yield_fixture = _pytest.python.yield_fixture
+
+''')
+
+register_module_extender(MANAGER, 'pytest', pytest_transform)
+register_module_extender(MANAGER, 'py.test', pytest_transform)