Merge remote-tracking branch 'upstream/master' into RonnyPfannschmidt/bump-setuptools
This commit is contained in:
commit
a83ee197c6
|
@ -0,0 +1 @@
|
||||||
|
Restore the tmpdir behaviour of symlinking the current test run.
|
|
@ -68,7 +68,7 @@ Using ``Class`` in custom Collectors
|
||||||
.. deprecated:: 3.9
|
.. deprecated:: 3.9
|
||||||
|
|
||||||
Using objects named ``"Class"`` as a way to customize the type of nodes that are collected in ``Collector``
|
Using objects named ``"Class"`` as a way to customize the type of nodes that are collected in ``Collector``
|
||||||
subclasses has been deprecated. Users instead should use ``pytest_collect_make_item`` to customize node types during
|
subclasses has been deprecated. Users instead should use ``pytest_pycollect_makeitem`` to customize node types during
|
||||||
collection.
|
collection.
|
||||||
|
|
||||||
This issue should affect only advanced plugins who create new collection types, so if you see this warning
|
This issue should affect only advanced plugins who create new collection types, so if you see this warning
|
||||||
|
|
|
@ -100,6 +100,26 @@ else:
|
||||||
_max = max
|
_max = max
|
||||||
|
|
||||||
|
|
||||||
|
def _force_symlink(root, target, link_to):
|
||||||
|
"""helper to create the current symlink
|
||||||
|
|
||||||
|
its full of race conditions that are reasonably ok to ignore
|
||||||
|
for the contex of best effort linking to the latest testrun
|
||||||
|
|
||||||
|
the presumption being thatin case of much parallelism
|
||||||
|
the inaccuracy is going to be acceptable
|
||||||
|
"""
|
||||||
|
current_symlink = root.joinpath(target)
|
||||||
|
try:
|
||||||
|
current_symlink.unlink()
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
try:
|
||||||
|
current_symlink.symlink_to(link_to)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def make_numbered_dir(root, prefix):
|
def make_numbered_dir(root, prefix):
|
||||||
"""create a directory with a increased number as suffix for the given prefix"""
|
"""create a directory with a increased number as suffix for the given prefix"""
|
||||||
for i in range(10):
|
for i in range(10):
|
||||||
|
@ -112,6 +132,7 @@ def make_numbered_dir(root, prefix):
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
|
_force_symlink(root, prefix + "current", new_path)
|
||||||
return new_path
|
return new_path
|
||||||
else:
|
else:
|
||||||
raise EnvironmentError(
|
raise EnvironmentError(
|
||||||
|
|
|
@ -196,6 +196,12 @@ class TestNumberedDir(object):
|
||||||
assert d.name.startswith(self.PREFIX)
|
assert d.name.startswith(self.PREFIX)
|
||||||
assert d.name.endswith(str(i))
|
assert d.name.endswith(str(i))
|
||||||
|
|
||||||
|
symlink = tmp_path.joinpath(self.PREFIX + "current")
|
||||||
|
if symlink.exists():
|
||||||
|
# unix
|
||||||
|
assert symlink.is_symlink()
|
||||||
|
assert symlink.resolve() == d.resolve()
|
||||||
|
|
||||||
def test_cleanup_lock_create(self, tmp_path):
|
def test_cleanup_lock_create(self, tmp_path):
|
||||||
d = tmp_path.joinpath("test")
|
d = tmp_path.joinpath("test")
|
||||||
d.mkdir()
|
d.mkdir()
|
||||||
|
@ -244,7 +250,7 @@ class TestNumberedDir(object):
|
||||||
|
|
||||||
def test_cleanup_keep(self, tmp_path):
|
def test_cleanup_keep(self, tmp_path):
|
||||||
self._do_cleanup(tmp_path)
|
self._do_cleanup(tmp_path)
|
||||||
a, b = tmp_path.iterdir()
|
a, b = (x for x in tmp_path.iterdir() if not x.is_symlink())
|
||||||
print(a, b)
|
print(a, b)
|
||||||
|
|
||||||
def test_cleanup_locked(self, tmp_path):
|
def test_cleanup_locked(self, tmp_path):
|
||||||
|
|
Loading…
Reference in New Issue