Merge master into features
This commit is contained in:
@@ -77,12 +77,11 @@ class Code:
|
||||
# maybe don't try this checking
|
||||
if not p.check():
|
||||
raise OSError("py.path check failed.")
|
||||
return p
|
||||
except OSError:
|
||||
# XXX maybe try harder like the weird logic
|
||||
# in the standard lib [linecache.updatecache] does?
|
||||
p = self.raw.co_filename
|
||||
|
||||
return p
|
||||
return self.raw.co_filename
|
||||
|
||||
@property
|
||||
def fullsource(self) -> Optional["Source"]:
|
||||
|
||||
@@ -548,8 +548,9 @@ class FixtureRequest:
|
||||
frameinfo = inspect.getframeinfo(frame[0])
|
||||
source_path = py.path.local(frameinfo.filename)
|
||||
source_lineno = frameinfo.lineno
|
||||
if source_path.relto(funcitem.config.rootdir):
|
||||
source_path_str = source_path.relto(funcitem.config.rootdir)
|
||||
rel_source_path = source_path.relto(funcitem.config.rootdir)
|
||||
if rel_source_path:
|
||||
source_path_str = rel_source_path
|
||||
else:
|
||||
source_path_str = str(source_path)
|
||||
msg = (
|
||||
@@ -896,7 +897,9 @@ class FixtureDef:
|
||||
cached_result = getattr(self, "cached_result", None)
|
||||
if cached_result is not None:
|
||||
result, cache_key, err = cached_result
|
||||
if my_cache_key == cache_key:
|
||||
# note: comparison with `==` can fail (or be expensive) for e.g.
|
||||
# numpy arrays (#6497)
|
||||
if my_cache_key is cache_key:
|
||||
if err is not None:
|
||||
_, val, tb = err
|
||||
raise val.with_traceback(tb)
|
||||
|
||||
@@ -4,6 +4,7 @@ import re
|
||||
import sys
|
||||
import warnings
|
||||
from contextlib import contextmanager
|
||||
from typing import Generator
|
||||
|
||||
import pytest
|
||||
from _pytest.fixtures import fixture
|
||||
@@ -108,7 +109,7 @@ class MonkeyPatch:
|
||||
self._savesyspath = None
|
||||
|
||||
@contextmanager
|
||||
def context(self):
|
||||
def context(self) -> Generator["MonkeyPatch", None, None]:
|
||||
"""
|
||||
Context manager that returns a new :class:`MonkeyPatch` object which
|
||||
undoes any patching done inside the ``with`` block upon exit:
|
||||
|
||||
@@ -685,7 +685,7 @@ def raises( # noqa: F811
|
||||
"""
|
||||
__tracebackhide__ = True
|
||||
for exc in filterfalse(
|
||||
inspect.isclass, always_iterable(expected_exception, BASE_TYPE)
|
||||
inspect.isclass, always_iterable(expected_exception, BASE_TYPE) # type: ignore[arg-type] # noqa: F821
|
||||
):
|
||||
msg = "exceptions must be derived from BaseException, not %s"
|
||||
raise TypeError(msg % type(exc))
|
||||
|
||||
Reference in New Issue
Block a user