terminal: write_fspath_result: work around py bug
This commit is contained in:
parent
3460105def
commit
6fb7269979
|
@ -280,7 +280,9 @@ class TerminalReporter(object):
|
||||||
|
|
||||||
def write_fspath_result(self, nodeid, res, **markup):
|
def write_fspath_result(self, nodeid, res, **markup):
|
||||||
fspath = self.config.rootdir.join(nodeid.split("::")[0])
|
fspath = self.config.rootdir.join(nodeid.split("::")[0])
|
||||||
if fspath != self.currentfspath:
|
# NOTE: explicitly check for None to work around py bug, and for less
|
||||||
|
# overhead in general (https://github.com/pytest-dev/py/pull/207).
|
||||||
|
if self.currentfspath is None or fspath != self.currentfspath:
|
||||||
if self.currentfspath is not None and self._show_progress_info:
|
if self.currentfspath is not None and self._show_progress_info:
|
||||||
self._write_progress_information_filling_space()
|
self._write_progress_information_filling_space()
|
||||||
self.currentfspath = fspath
|
self.currentfspath = fspath
|
||||||
|
|
|
@ -1308,10 +1308,17 @@ class TestEarlyRewriteBailout(object):
|
||||||
@pytest.mark.skipif(
|
@pytest.mark.skipif(
|
||||||
sys.platform.startswith("win32"), reason="cannot remove cwd on Windows"
|
sys.platform.startswith("win32"), reason="cannot remove cwd on Windows"
|
||||||
)
|
)
|
||||||
def test_cwd_changed(self, testdir):
|
def test_cwd_changed(self, testdir, monkeypatch):
|
||||||
|
# Setup conditions for py's fspath trying to import pathlib on py34
|
||||||
|
# always (previously triggered via xdist only).
|
||||||
|
# Ref: https://github.com/pytest-dev/py/pull/207
|
||||||
|
monkeypatch.setattr(sys, "path", [""] + sys.path)
|
||||||
|
if "pathlib" in sys.modules:
|
||||||
|
del sys.modules["pathlib"]
|
||||||
|
|
||||||
testdir.makepyfile(
|
testdir.makepyfile(
|
||||||
**{
|
**{
|
||||||
"test_bar.py": """
|
"test_setup_nonexisting_cwd.py": """
|
||||||
import os
|
import os
|
||||||
import shutil
|
import shutil
|
||||||
import tempfile
|
import tempfile
|
||||||
|
@ -1320,7 +1327,7 @@ class TestEarlyRewriteBailout(object):
|
||||||
os.chdir(d)
|
os.chdir(d)
|
||||||
shutil.rmtree(d)
|
shutil.rmtree(d)
|
||||||
""",
|
""",
|
||||||
"test_foo.py": """
|
"test_test.py": """
|
||||||
def test():
|
def test():
|
||||||
pass
|
pass
|
||||||
""",
|
""",
|
||||||
|
|
Loading…
Reference in New Issue