Merge _pytest fixture reintroduction from pytest-2.7 branch

This was accidentally removed while some plugins depend on it.
This commit is contained in:
Floris Bruynooghe 2015-04-23 00:55:58 +01:00
commit e450218daa
2 changed files with 20 additions and 0 deletions

View File

@ -44,6 +44,8 @@
- fixed regression to 2.6.4 which surfaced e.g. in lost stdout capture printing
when tests raised SystemExit. Thanks Holger Krekel.
- reintroduced _pytest fixture of the pytester plugin which is used
at least by pytest-xdist.
2.7.0 (compared to 2.6.4)
-----------------------------

View File

@ -15,6 +15,24 @@ from _pytest.core import HookCaller, add_method_wrapper
from _pytest.main import Session, EXIT_OK
# used at least by pytest-xdist plugin
@pytest.fixture
def _pytest(request):
""" Return a helper which offers a gethookrecorder(hook)
method which returns a HookRecorder instance which helps
to make assertions about called hooks.
"""
return PytestArg(request)
class PytestArg:
def __init__(self, request):
self.request = request
def gethookrecorder(self, hook):
hookrecorder = HookRecorder(hook._pm)
self.request.addfinalizer(hookrecorder.finish_recording)
return hookrecorder
def get_public_names(l):
"""Only return names from iterator l without a leading underscore."""