mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
Fix blockers list in rwlock error message (#3285)
This commit is contained in:
+3
-2
@@ -66,10 +66,11 @@ def _infos_to_str(infos):
|
||||
def _check_blockers(lock, info, *, mode, waiters):
|
||||
for path_info in waiters:
|
||||
blockers = [
|
||||
info
|
||||
blocker
|
||||
for path, infos in lock[mode].items()
|
||||
if path_info.overlaps(path)
|
||||
if info not in (infos if type(infos) is list else [infos])
|
||||
for blocker in (infos if isinstance(infos, list) else [infos])
|
||||
if blocker != info
|
||||
]
|
||||
|
||||
if not blockers:
|
||||
|
||||
@@ -62,12 +62,12 @@ def test_rwlock_subdirs(tmp_path):
|
||||
subfoo = PathInfo("foo/subfoo")
|
||||
|
||||
with rwlock(path, "cmd1", [foo], []):
|
||||
with pytest.raises(LockError):
|
||||
with pytest.raises(LockError, match=r"subfoo(.|\n)*cmd1"):
|
||||
with rwlock(path, "cmd2", [], [subfoo]):
|
||||
pass
|
||||
|
||||
with rwlock(path, "cmd1", [], [subfoo]):
|
||||
with pytest.raises(LockError):
|
||||
with pytest.raises(LockError, match=r"'foo'(.|\n)*cmd1"):
|
||||
with rwlock(path, "cmd2", [foo], []):
|
||||
pass
|
||||
|
||||
|
||||
Reference in New Issue
Block a user