Coverage for /usr/local/lib/python3.7/site-packages/pytest_cov/compat.py : 19%

Hot-keys on this page
r m x p toggle line displays
j k next/prev highlighted chunk
0 (zero) top of page
1 (one) first highlighted chunk
1try:
2 from StringIO import StringIO
3except ImportError:
4 from io import StringIO
6import pytest
8StringIO # pyflakes, this is for re-export
11if hasattr(pytest, 'hookimpl'):
12 hookwrapper = pytest.hookimpl(hookwrapper=True)
13else:
14 hookwrapper = pytest.mark.hookwrapper
17class SessionWrapper(object):
18 def __init__(self, session):
19 self._session = session
20 if hasattr(session, 'testsfailed'):
21 self._attr = 'testsfailed'
22 else:
23 self._attr = '_testsfailed'
25 @property
26 def testsfailed(self):
27 return getattr(self._session, self._attr)
29 @testsfailed.setter
30 def testsfailed(self, value):
31 setattr(self._session, self._attr, value)
34def _attrgetter(attr):
35 """
36 Return a callable object that fetches attr from its operand.
38 Unlike operator.attrgetter, the returned callable supports an extra two
39 arg form for a default.
40 """
41 def fn(obj, *args):
42 return getattr(obj, attr, *args)
44 return fn
47worker = 'slave' # for compatability with pytest-xdist<=1.22.0
48workerid = worker + 'id'
49workerinput = _attrgetter(worker + 'input')
50workeroutput = _attrgetter(worker + 'output')