drop pytest-test-utils (#10934)

This commit is contained in:
skshetry
2025-12-20 21:26:00 +05:45
committed by GitHub
parent 62ae466af2
commit 796903a14b
6 changed files with 121 additions and 75 deletions
+1 -1
View File
@@ -2,6 +2,7 @@ import pytest
from dvc import api from dvc import api
from dvc.api import DVCFileSystem from dvc.api import DVCFileSystem
from dvc.testing import matchers as M
from dvc.utils.fs import remove from dvc.utils.fs import remove
@@ -42,7 +43,6 @@ class TestAPI:
) )
def test_filesystem( def test_filesystem(
self, self,
M,
tmp_dir, tmp_dir,
make_tmp_dir, make_tmp_dir,
scm, scm,
+75
View File
@@ -0,0 +1,75 @@
from collections.abc import Iterable, Mapping
from typing import TYPE_CHECKING, Any, Optional
if TYPE_CHECKING:
import builtins
class dict: # noqa: A001, N801, PLW1641
"""Special class to eq by matching only presented dict keys.
Implementation notes:
- can't inherit from dict because that makes D() == M.dict() to not call
our __eq__, if D is a subclass of a dict
- should not call itself dict or use dict in repr because it creates
confusing error messages (shadowing python builtins is bad anyway)
"""
def __init__(self, d: Optional[Mapping[Any, Any]] = None, **keys: Any) -> None:
self.d: builtins.dict[Any, Any] = {}
if d:
self.d.update(d)
self.d.update(keys)
def __len__(self) -> int:
return len(self.d)
def __repr__(self) -> str:
inner = ", ".join(f"{k}={v!r}" for k, v in self.d.items())
return f"{self.__class__.__name__}({inner})"
def __eq__(self, other: object) -> bool:
assert isinstance(other, Mapping)
return all(other.get(name) == v for name, v in self.d.items())
class unordered: # noqa: N801, PLW1641
"""Compare list contents, but do not care about ordering.
(E.g. sort lists first, then compare.)
If you care about ordering, then just compare lists directly."""
def __init__(self, *items: Any) -> None:
self.items = items
def __repr__(self) -> str:
inner = ", ".join(map(repr, self.items))
return f"{self.__class__.__name__}({inner})"
def __eq__(self, other: object) -> bool:
assert isinstance(other, Iterable)
return sorted(self.items) == sorted(other)
class attrs: # noqa: N801, PLW1641
def __init__(self, **attribs: Any) -> None:
self.attribs = attribs
def __repr__(self) -> str:
inner = ", ".join(f"{k}={v!r}" for k, v in self.attribs.items())
return f"{self.__class__.__name__}({inner})"
def __eq__(self, other: object) -> bool:
# Unforturnately this doesn't work with classes with slots
# self.__class__ = other.__class__
return all(getattr(other, name) == v for name, v in self.attribs.items())
__all__ = [
"attrs",
"dict",
"unordered",
]
-2
View File
@@ -103,7 +103,6 @@ ssh = ["dvc-ssh>=4,<5"]
ssh_gssapi = ["dvc-ssh[gssapi]>=4,<5"] ssh_gssapi = ["dvc-ssh[gssapi]>=4,<5"]
testing = [ testing = [
"pytest-benchmark[histogram]>=5,<6", "pytest-benchmark[histogram]>=5,<6",
"pytest-test-utils",
"uv", "uv",
] ]
tests = [ tests = [
@@ -249,7 +248,6 @@ module = [
"shortuuid", "shortuuid",
"shtab", "shtab",
"upath", "upath",
"virtualenv",
"viztracer", "viztracer",
"voluptuous", "voluptuous",
"yappi", "yappi",
-17
View File
@@ -1,17 +0,0 @@
import os
# Increasing fd ulimit for tests
if os.name == "nt":
try:
import win32file
except ImportError:
pass
else:
win32file._setmaxstdio(4096)
else:
import resource
resource.setrlimit(resource.RLIMIT_NOFILE, (4096, 4096))
nproc_soft, nproc_hard = resource.getrlimit(resource.RLIMIT_NPROC)
resource.setrlimit(resource.RLIMIT_NPROC, (nproc_hard, nproc_hard))
-6
View File
@@ -1,6 +0,0 @@
if __name__ == "__main__":
import sys
import pytest
sys.exit(pytest.main(["-v", "-n=logical", "--dist=worksteal", *sys.argv[1:]]))
+45 -49
View File
@@ -6,10 +6,10 @@ from os.path import join
from typing import TYPE_CHECKING from typing import TYPE_CHECKING
import pytest import pytest
from pytest_test_utils import matchers as m
from dvc.repo import Repo from dvc.repo import Repo
from dvc.repo.data import _transform_git_paths_to_dvc, posixpath_to_os_path from dvc.repo.data import _transform_git_paths_to_dvc, posixpath_to_os_path
from dvc.testing import matchers as M
from dvc.testing.tmp_dir import TmpDir, make_subrepo from dvc.testing.tmp_dir import TmpDir, make_subrepo
from dvc.utils.fs import remove from dvc.utils.fs import remove
@@ -60,7 +60,7 @@ def test_git_to_dvc_path_wdir_transformation(tmp_dir, scm, path):
] ]
def test_file(M, tmp_dir, dvc, scm): def test_file(tmp_dir, dvc, scm):
tmp_dir.dvc_gen("foo", "foo", commit="add foo") tmp_dir.dvc_gen("foo", "foo", commit="add foo")
tmp_dir.dvc_gen("foo", "foobar") tmp_dir.dvc_gen("foo", "foobar")
remove(tmp_dir / "foo") remove(tmp_dir / "foo")
@@ -75,7 +75,7 @@ def test_file(M, tmp_dir, dvc, scm):
assert dvc.data_status(granular=True) == expected assert dvc.data_status(granular=True) == expected
def test_directory(M, tmp_dir, dvc, scm): def test_directory(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo"}}, commit="add dir") tmp_dir.dvc_gen({"dir": {"foo": "foo"}}, commit="add dir")
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar", "foobar": "foobar"}}) tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar", "foobar": "foobar"}})
remove(tmp_dir / "dir") remove(tmp_dir / "dir")
@@ -107,7 +107,7 @@ def test_directory(M, tmp_dir, dvc, scm):
} }
def test_tracked_directory_deep(M, tmp_dir, dvc, scm): def test_tracked_directory_deep(tmp_dir, dvc, scm):
"""Test for a directory not in cwd, but nested inside other directories.""" """Test for a directory not in cwd, but nested inside other directories."""
(tmp_dir / "sub").gen({"dir": {"foo": "foo"}}) (tmp_dir / "sub").gen({"dir": {"foo": "foo"}})
dvc.add(fspath(tmp_dir / "sub" / "dir")) dvc.add(fspath(tmp_dir / "sub" / "dir"))
@@ -140,7 +140,7 @@ def test_tracked_directory_deep(M, tmp_dir, dvc, scm):
@pytest.mark.parametrize("git_repo_state", ["unborn", "committed"]) @pytest.mark.parametrize("git_repo_state", ["unborn", "committed"])
@pytest.mark.parametrize("subdir", [True, False]) @pytest.mark.parametrize("subdir", [True, False])
def test_new_dvc_repo(M, tmp_dir, scm, subdir, git_repo_state): def test_new_dvc_repo(tmp_dir, scm, subdir, git_repo_state):
if git_repo_state == "committed": if git_repo_state == "committed":
tmp_dir.scm_gen("test", "test", commit="init") tmp_dir.scm_gen("test", "test", commit="init")
@@ -167,7 +167,7 @@ def test_noscm_repo(tmp_dir, dvc):
assert dvc.data_status() == {**EMPTY_STATUS, "unchanged": ["foo"]} assert dvc.data_status() == {**EMPTY_STATUS, "unchanged": ["foo"]}
def test_unchanged(M, tmp_dir, dvc, scm): def test_unchanged(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo"}}, commit="add dir") tmp_dir.dvc_gen({"dir": {"foo": "foo"}}, commit="add dir")
tmp_dir.dvc_gen("bar", "bar", commit="add foo") tmp_dir.dvc_gen("bar", "bar", commit="add foo")
@@ -195,7 +195,7 @@ def test_skip_uncached_pipeline_outputs(tmp_dir, dvc, run_copy_metrics):
assert dvc.data_status(granular=True, untracked_files="all") == EMPTY_STATUS assert dvc.data_status(granular=True, untracked_files="all") == EMPTY_STATUS
def test_outs_with_no_hashes(M, tmp_dir, dvc, scm): def test_outs_with_no_hashes(tmp_dir, dvc, scm):
dvc.stage.add(single_stage=True, outs=["bar"]) dvc.stage.add(single_stage=True, outs=["bar"])
dvc.stage.add(deps=["bar"], outs=["foo"], name="copy", cmd="cp foo bar") dvc.stage.add(deps=["bar"], outs=["foo"], name="copy", cmd="cp foo bar")
@@ -204,7 +204,7 @@ def test_outs_with_no_hashes(M, tmp_dir, dvc, scm):
assert dvc.data_status(granular=True) == expected_output assert dvc.data_status(granular=True) == expected_output
def test_outs_with_no_hashes_and_with_uncommitted_files(M, tmp_dir, dvc, scm): def test_outs_with_no_hashes_and_with_uncommitted_files(tmp_dir, dvc, scm):
tmp_dir.gen({"bar": "bar", "foo": "foo"}) tmp_dir.gen({"bar": "bar", "foo": "foo"})
dvc.stage.add(single_stage=True, outs=["bar"]) dvc.stage.add(single_stage=True, outs=["bar"])
dvc.stage.add(deps=["bar"], outs=["foo"], name="copy", cmd="cp foo bar") dvc.stage.add(deps=["bar"], outs=["foo"], name="copy", cmd="cp foo bar")
@@ -218,7 +218,7 @@ def test_outs_with_no_hashes_and_with_uncommitted_files(M, tmp_dir, dvc, scm):
assert dvc.data_status(granular=True) == expected_output assert dvc.data_status(granular=True) == expected_output
def test_subdir(M, tmp_dir, scm): def test_subdir(tmp_dir, scm):
subrepo = tmp_dir / "sub" subrepo = tmp_dir / "sub"
make_subrepo(subrepo, scm) make_subrepo(subrepo, scm)
@@ -236,7 +236,7 @@ def test_subdir(M, tmp_dir, scm):
} }
def test_untracked_newly_added_files(M, tmp_dir, dvc, scm): def test_untracked_newly_added_files(tmp_dir, dvc, scm):
tmp_dir.gen({"dir": {"foo": "foo", "bar": "bar"}}) tmp_dir.gen({"dir": {"foo": "foo", "bar": "bar"}})
tmp_dir.gen("foobar", "foobar") tmp_dir.gen("foobar", "foobar")
@@ -249,7 +249,7 @@ def test_untracked_newly_added_files(M, tmp_dir, dvc, scm):
assert dvc.data_status(granular=True, untracked_files="all") == expected assert dvc.data_status(granular=True, untracked_files="all") == expected
def test_missing_cache_workspace_exists(M, tmp_dir, dvc, scm): def test_missing_cache_workspace_exists(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}) tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}})
tmp_dir.dvc_gen("foobar", "foobar") tmp_dir.dvc_gen("foobar", "foobar")
remove(dvc.cache.repo.path) remove(dvc.cache.repo.path)
@@ -272,7 +272,7 @@ def test_missing_cache_workspace_exists(M, tmp_dir, dvc, scm):
} }
def test_missing_cache_missing_workspace(M, tmp_dir, dvc, scm): def test_missing_cache_missing_workspace(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}) tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}})
tmp_dir.dvc_gen("foobar", "foobar") tmp_dir.dvc_gen("foobar", "foobar")
for path in [dvc.cache.repo.path, "dir", "foobar"]: for path in [dvc.cache.repo.path, "dir", "foobar"]:
@@ -297,7 +297,7 @@ def test_missing_cache_missing_workspace(M, tmp_dir, dvc, scm):
} }
def test_git_committed_missing_cache_workspace_exists(M, tmp_dir, dvc, scm): def test_git_committed_missing_cache_workspace_exists(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir") tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir")
tmp_dir.dvc_gen("foobar", "foobar", commit="add foobar") tmp_dir.dvc_gen("foobar", "foobar", commit="add foobar")
remove(dvc.cache.local.path) remove(dvc.cache.local.path)
@@ -317,7 +317,7 @@ def test_git_committed_missing_cache_workspace_exists(M, tmp_dir, dvc, scm):
} }
def test_git_committed_missing_cache_missing_workspace(M, tmp_dir, dvc, scm): def test_git_committed_missing_cache_missing_workspace(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir") tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir")
tmp_dir.dvc_gen("foobar", "foobar", commit="add foobar") tmp_dir.dvc_gen("foobar", "foobar", commit="add foobar")
for path in [dvc.cache.repo.path, "dir", "foobar"]: for path in [dvc.cache.repo.path, "dir", "foobar"]:
@@ -338,7 +338,7 @@ def test_git_committed_missing_cache_missing_workspace(M, tmp_dir, dvc, scm):
} }
def test_partial_missing_cache(M, tmp_dir, dvc, scm): def test_partial_missing_cache(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}) tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}})
# remove "foo" from cache # remove "foo" from cache
@@ -362,7 +362,7 @@ def test_partial_missing_cache(M, tmp_dir, dvc, scm):
} }
def test_missing_dir_object_from_head(M, tmp_dir, dvc, scm): def test_missing_dir_object_from_head(tmp_dir, dvc, scm):
(stage,) = tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir") (stage,) = tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir")
remove("dir") remove("dir")
tmp_dir.dvc_gen({"dir": {"foobar": "foobar"}}) tmp_dir.dvc_gen({"dir": {"foobar": "foobar"}})
@@ -384,7 +384,7 @@ def test_missing_dir_object_from_head(M, tmp_dir, dvc, scm):
} }
def test_missing_dir_object_from_index(M, tmp_dir, dvc, scm): def test_missing_dir_object_from_index(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir") tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}, commit="add dir")
remove("dir") remove("dir")
(stage,) = tmp_dir.dvc_gen({"dir": {"foobar": "foobar"}}) (stage,) = tmp_dir.dvc_gen({"dir": {"foobar": "foobar"}})
@@ -406,7 +406,7 @@ def test_missing_dir_object_from_index(M, tmp_dir, dvc, scm):
} }
def test_remote_check(M, tmp_dir, dvc, scm, make_remote): def test_remote_check(tmp_dir, dvc, scm, make_remote):
make_remote("default", default=True) make_remote("default", default=True)
make_remote("myremote", default=False) make_remote("myremote", default=False)
@@ -442,7 +442,7 @@ def test_remote_check(M, tmp_dir, dvc, scm, make_remote):
assert dvc.data_status(granular=True, **opts) == expected_g assert dvc.data_status(granular=True, **opts) == expected_g
def test_missing_remote_cache(M, tmp_dir, dvc, scm, local_remote): def test_missing_remote_cache(tmp_dir, dvc, scm, local_remote):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}) tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}})
tmp_dir.dvc_gen("foobar", "foobar") tmp_dir.dvc_gen("foobar", "foobar")
@@ -485,7 +485,7 @@ def test_missing_remote_cache(M, tmp_dir, dvc, scm, local_remote):
def test_not_in_remote_respects_not_pushable( def test_not_in_remote_respects_not_pushable(
M: type["m.Matcher"], tmp_dir: TmpDir, dvc: Repo, scm, mocker, local_remote tmp_dir: TmpDir, dvc: Repo, scm, mocker, local_remote
): ):
stages: list[Stage] = tmp_dir.dvc_gen({"foo": "foo", "dir": {"foobar": "foobar"}}) stages: list[Stage] = tmp_dir.dvc_gen({"foo": "foo", "dir": {"foobar": "foobar"}})
# Make foo not pushable # Make foo not pushable
@@ -529,7 +529,7 @@ def test_not_in_remote_respects_not_pushable(
) )
def test_root_from_dir_to_file(M, tmp_dir, dvc, scm): def test_root_from_dir_to_file(tmp_dir, dvc, scm):
tmp_dir.dvc_gen({"data": {"foo": "foo", "bar": "bar"}}) tmp_dir.dvc_gen({"data": {"foo": "foo", "bar": "bar"}})
remove("data") remove("data")
tmp_dir.gen("data", "file") tmp_dir.gen("data", "file")
@@ -555,7 +555,7 @@ def test_root_from_dir_to_file(M, tmp_dir, dvc, scm):
} }
def test_root_from_file_to_dir(M, tmp_dir, dvc, scm): def test_root_from_file_to_dir(tmp_dir, dvc, scm):
tmp_dir.dvc_gen("data", "file") tmp_dir.dvc_gen("data", "file")
remove("data") remove("data")
tmp_dir.gen({"data": {"foo": "foo", "bar": "bar"}}) tmp_dir.gen({"data": {"foo": "foo", "bar": "bar"}})
@@ -592,7 +592,7 @@ def test_empty_dir(tmp_dir, scm, dvc, M):
} }
def test_untracked_files_filter_targets(M, tmp_dir, scm, dvc): def test_untracked_files_filter_targets(tmp_dir, scm, dvc):
tmp_dir.gen( tmp_dir.gen(
{"spam": "spam", "ham": "ham", "dir": {"eggs": "eggs", "bacon": "bacon"}} {"spam": "spam", "ham": "ham", "dir": {"eggs": "eggs", "bacon": "bacon"}}
) )
@@ -644,13 +644,13 @@ def param(*values):
param( param(
["foo", "foobar"], ["foo", "foobar"],
{ {
"committed": {"added": m.unordered("foo", "foobar")}, "committed": {"added": M.unordered("foo", "foobar")},
"uncommitted": {"deleted": ["foo"]}, "uncommitted": {"deleted": ["foo"]},
}, },
), ),
], ],
) )
def test_filter_targets_files_after_dvc_commit(M, tmp_dir, dvc, scm, targets, expected): def test_filter_targets_files_after_dvc_commit(tmp_dir, dvc, scm, targets, expected):
tmp_dir.dvc_gen({"foo": "foo", "bar": "bar", "foobar": "foobar"}) tmp_dir.dvc_gen({"foo": "foo", "bar": "bar", "foobar": "foobar"})
(tmp_dir / "foo").unlink() # deleted (tmp_dir / "foo").unlink() # deleted
tmp_dir.gen({"bar": "bar modified", "baz": "baz new"}) tmp_dir.gen({"bar": "bar modified", "baz": "baz new"})
@@ -677,7 +677,7 @@ def test_filter_targets_files_after_dvc_commit(M, tmp_dir, dvc, scm, targets, ex
), ),
], ],
) )
def test_filter_targets_after_git_commit(M, tmp_dir, dvc, scm, targets, expected): def test_filter_targets_after_git_commit(tmp_dir, dvc, scm, targets, expected):
tmp_dir.dvc_gen( tmp_dir.dvc_gen(
{"foo": "foo", "bar": "bar", "foobar": "foobar", "baz": "baz"}, {"foo": "foo", "bar": "bar", "foobar": "foobar", "baz": "baz"},
commit="add files", commit="add files",
@@ -718,7 +718,7 @@ def with_aliases(values, aliases):
}, },
{ {
"committed": { "committed": {
"added": m.unordered( "added": M.unordered(
join("dir", ""), join("dir", ""),
join("dir", "foo"), join("dir", "foo"),
join("dir", "sub", "bar"), join("dir", "sub", "bar"),
@@ -779,7 +779,7 @@ def with_aliases(values, aliases):
{}, {},
{ {
"committed": { "committed": {
"added": m.unordered(join("dir", "foo"), join("dir", "foobar")) "added": M.unordered(join("dir", "foo"), join("dir", "foobar"))
}, },
"uncommitted": {"deleted": [join("dir", "foo")]}, "uncommitted": {"deleted": [join("dir", "foo")]},
}, },
@@ -794,7 +794,7 @@ def with_aliases(values, aliases):
), ),
) )
def test_filter_targets_inside_directory_after_dvc_commit( def test_filter_targets_inside_directory_after_dvc_commit(
M, tmp_dir, dvc, scm, targets, expected_ng, expected_g tmp_dir, dvc, scm, targets, expected_ng, expected_g
): ):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "sub": {"bar": "bar"}, "foobar": "foobar"}}) tmp_dir.dvc_gen({"dir": {"foo": "foo", "sub": {"bar": "bar"}, "foobar": "foobar"}})
(tmp_dir / "dir" / "foo").unlink() # deleted (tmp_dir / "dir" / "foo").unlink() # deleted
@@ -827,7 +827,7 @@ def test_filter_targets_inside_directory_after_dvc_commit(
"unchanged": [join("dir", "foobar")], "unchanged": [join("dir", "foobar")],
"committed": { "committed": {
"added": [join("dir", "baz")], "added": [join("dir", "baz")],
"modified": m.unordered( "modified": M.unordered(
join("dir", ""), join("dir", "sub", "bar") join("dir", ""), join("dir", "sub", "bar")
), ),
"deleted": [join("dir", "foo")], "deleted": [join("dir", "foo")],
@@ -861,7 +861,7 @@ def test_filter_targets_inside_directory_after_dvc_commit(
), ),
) )
def test_filter_targets_inside_directory_after_git_commit( def test_filter_targets_inside_directory_after_git_commit(
M, tmp_dir, dvc, scm, targets, expected_ng, expected_g tmp_dir, dvc, scm, targets, expected_ng, expected_g
): ):
tmp_dir.dvc_gen( tmp_dir.dvc_gen(
{"dir": {"foo": "foo", "sub": {"bar": "bar"}, "foobar": "foobar"}}, {"dir": {"foo": "foo", "sub": {"bar": "bar"}, "foobar": "foobar"}},
@@ -893,22 +893,22 @@ def test_filter_targets_inside_directory_after_git_commit(
param( param(
(join("dir", "bar"), "foo"), (join("dir", "bar"), "foo"),
["foo"], ["foo"],
m.unordered(join("dir", "bar"), "foo"), M.unordered(join("dir", "bar"), "foo"),
), ),
param( param(
(join("dir", "bar"), "dir"), (join("dir", "bar"), "dir"),
[join("dir", "")], [join("dir", "")],
m.unordered(join("dir", ""), join("dir", "bar")), M.unordered(join("dir", ""), join("dir", "bar")),
), ),
param( param(
("dir", "foo"), ("dir", "foo"),
m.unordered(join("dir", ""), "foo"), M.unordered(join("dir", ""), "foo"),
m.unordered(join("dir", ""), join("dir", "bar"), "foo"), M.unordered(join("dir", ""), join("dir", "bar"), "foo"),
), ),
], ],
) )
def test_filter_targets_not_in_cache( def test_filter_targets_not_in_cache(
M, local_remote, tmp_dir, scm, dvc, to_check, targets, non_granular, granular local_remote, tmp_dir, scm, dvc, to_check, targets, non_granular, granular
): ):
tmp_dir.dvc_gen({"foo": "foo", "dir": {"bar": "bar"}}) tmp_dir.dvc_gen({"foo": "foo", "dir": {"bar": "bar"}})
@@ -927,7 +927,7 @@ def test_filter_targets_not_in_cache(
} }
def test_compat_legacy_new_cache_types(M, tmp_dir, dvc, scm): def test_compat_legacy_new_cache_types(tmp_dir, dvc, scm):
tmp_dir.gen({"foo": "foo", "bar": "bar"}) tmp_dir.gen({"foo": "foo", "bar": "bar"})
(tmp_dir / "foo.dvc").dump( (tmp_dir / "foo.dvc").dump(
{ {
@@ -964,7 +964,7 @@ def test_compat_legacy_new_cache_types(M, tmp_dir, dvc, scm):
} }
def test_missing_cache_remote_check(M, tmp_dir, dvc, scm, local_remote): def test_missing_cache_remote_check(tmp_dir, dvc, scm, local_remote):
tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}}) tmp_dir.dvc_gen({"dir": {"foo": "foo", "bar": "bar"}})
tmp_dir.dvc_gen("foobar", "foobar") tmp_dir.dvc_gen("foobar", "foobar")
remove(dvc.cache.repo.path) remove(dvc.cache.repo.path)
@@ -1046,7 +1046,7 @@ def test_missing_cache_remote_check(M, tmp_dir, dvc, scm, local_remote):
{"committed": {"deleted": [join("dir", "")]}}, {"committed": {"deleted": [join("dir", "")]}},
{ {
"committed": { "committed": {
"deleted": m.unordered( "deleted": M.unordered(
join("dir", ""), join("dir", "bar"), join("dir", "foo") join("dir", ""), join("dir", "bar"), join("dir", "foo")
) )
} }
@@ -1060,7 +1060,7 @@ def test_missing_cache_remote_check(M, tmp_dir, dvc, scm, local_remote):
}, },
{ {
"committed": { "committed": {
"added": m.unordered( "added": M.unordered(
join("dir2", ""), join("dir2", ""),
join("dir2", "bar"), join("dir2", "bar"),
join("dir2", "foo"), join("dir2", "foo"),
@@ -1150,12 +1150,12 @@ def test_missing_cache_remote_check(M, tmp_dir, dvc, scm, local_remote):
param( param(
["dir2", "file2"], ["dir2", "file2"],
{ {
"committed": {"added": m.unordered(join("dir2", ""), "file2")}, "committed": {"added": M.unordered(join("dir2", ""), "file2")},
"uncommitted": {"modified": [join("dir2", "")]}, "uncommitted": {"modified": [join("dir2", "")]},
}, },
{ {
"committed": { "committed": {
"added": m.unordered( "added": M.unordered(
join("dir2", ""), join("dir2", ""),
join("dir2", "bar"), join("dir2", "bar"),
join("dir2", "foo"), join("dir2", "foo"),
@@ -1178,7 +1178,7 @@ def test_missing_cache_remote_check(M, tmp_dir, dvc, scm, local_remote):
}, },
{ {
"committed": { "committed": {
"added": m.unordered( "added": M.unordered(
join("dir2", ""), join("dir2", "bar"), join("dir2", "foo") join("dir2", ""), join("dir2", "bar"), join("dir2", "foo")
), ),
"deleted": ["file"], "deleted": ["file"],
@@ -1193,9 +1193,7 @@ def test_missing_cache_remote_check(M, tmp_dir, dvc, scm, local_remote):
), ),
], ],
) )
def test_renames( def test_renames(tmp_dir, scm, dvc, targets, expected_non_granular, expected_granular):
M, tmp_dir, scm, dvc, targets, expected_non_granular, expected_granular
):
tmp_dir.dvc_gen( tmp_dir.dvc_gen(
{"dir": {"foo": "foo", "bar": "bar"}, "file": "file"}, commit="add dir and file" {"dir": {"foo": "foo", "bar": "bar"}, "file": "file"}, commit="add dir and file"
) )
@@ -1213,9 +1211,7 @@ def test_renames(
) )
def test_shallow_should_iterate_upto_tracked_directory( def test_shallow_should_iterate_upto_tracked_directory(tmp_dir, dvc, scm, local_remote):
M, tmp_dir, dvc, scm, local_remote
):
"""Testing regression for https://github.com/treeverse/dvc/issues/10899.""" """Testing regression for https://github.com/treeverse/dvc/issues/10899."""
tmp_dir.scm_gen({"dir": {".gitkeep": ""}}, commit="mk dir") tmp_dir.scm_gen({"dir": {".gitkeep": ""}}, commit="mk dir")