Пример #1
0
def test_get_repo_dir(tmp_dir, erepo_dir):
    with erepo_dir.chdir():
        erepo_dir.dvc_gen({"dir": {"file": "contents"}}, commit="create dir")

    Repo.get(fspath(erepo_dir), "dir", "dir_imported")

    assert os.path.isdir("dir_imported")
    trees_equal(fspath(erepo_dir / "dir"), "dir_imported")
Пример #2
0
def test_import_dir(repo_dir, dvc_repo, erepo):
    src = erepo.DATA_DIR
    dst = erepo.DATA_DIR + "_imported"

    dvc_repo.imp(erepo.root_dir, src, dst)

    assert os.path.exists(dst)
    assert os.path.isdir(dst)
    trees_equal(src, dst)
Пример #3
0
def test_import_dir(tmp_dir, scm, dvc, erepo_dir):
    with erepo_dir.chdir():
        erepo_dir.dvc_gen({"dir": {"foo": "foo content"}}, commit="create dir")

    dvc.imp(fspath(erepo_dir), "dir", "dir_imported")

    assert os.path.isdir("dir_imported")
    trees_equal(fspath(erepo_dir / "dir"), "dir_imported")
    assert scm.repo.git.check_ignore("dir_imported")
Пример #4
0
def test_get_dir(repo_dir, dvc_repo, pkg):
    src = pkg.DATA_DIR
    dst = pkg.DATA_DIR + "_imported"

    PkgManager.get(pkg.root_dir, src, dst)

    assert os.path.exists(dst)
    assert os.path.isdir(dst)
    trees_equal(src, dst)
Пример #5
0
def test_get_repo_dir(erepo):
    src = erepo.DATA_DIR
    dst = erepo.DATA_DIR + "_imported"

    Repo.get(erepo.root_dir, src, dst)

    assert os.path.exists(dst)
    assert os.path.isdir(dst)
    trees_equal(src, dst)
Пример #6
0
def test_create_unpacked_on_status(tmp_dir, dvc):
    (stage, ) = tmp_dir.dvc_gen({"dir": {"file": "file_content"}})
    unpacked_dir = stage.outs[0].cache_path + RemoteLOCAL.UNPACKED_DIR_SUFFIX
    assert not os.path.exists(unpacked_dir)

    with dvc.state:
        assert not dvc.cache.local.changed_cache(stage.outs[0].checksum)
    assert os.path.exists(unpacked_dir)
    trees_equal("dir", unpacked_dir)
Пример #7
0
def test_get_repo_dir(tmp_dir, erepo_dir, monkeypatch):
    with monkeypatch.context() as m:
        m.chdir(fspath(erepo_dir))
        erepo_dir.dvc_gen({"dir": {"file": "contents"}}, commit="create dir")

    Repo.get(fspath(erepo_dir), "dir", "dir_imported")

    assert os.path.isdir("dir_imported")
    trees_equal(fspath(erepo_dir / "dir"), "dir_imported")
Пример #8
0
def test_get_git_dir(tmp_dir, erepo_dir):
    src = "some_directory"
    dst = "some_directory_imported"

    erepo_dir.scm_gen({src: {"file.txt": "hello"}}, commit="add a regular dir")

    Repo.get(fspath(erepo_dir), src, dst)

    assert (tmp_dir / dst).is_dir()
    trees_equal(fspath(erepo_dir / src), fspath(tmp_dir / dst))
Пример #9
0
def test_import_git_dir(erepo_dir, tmp_dir, dvc, scm):
    src = "some_directory"
    dst = "some_directory_imported"

    erepo_dir.scm_gen({src: {"file.txt": "hello"}}, commit="add a dir")

    tmp_dir.dvc.imp(fspath(erepo_dir), src, dst)

    assert (tmp_dir / dst).is_dir()
    trees_equal(fspath(erepo_dir / src), fspath(tmp_dir / dst))
    assert tmp_dir.scm.repo.git.check_ignore(fspath(tmp_dir / dst))
Пример #10
0
def test_get_git_dir(request, tmp_dir, repo_type):
    erepo_dir = request.getfixturevalue(repo_type)
    src = "some_directory"
    dst = "some_directory_imported"

    erepo_dir.scm_gen({src: {"file.txt": "hello"}}, commit="add a regular dir")

    Repo.get(os.fspath(erepo_dir), src, dst)

    assert (tmp_dir / dst).is_dir()
    trees_equal(erepo_dir / src, tmp_dir / dst)
Пример #11
0
def test_import_dir(repo_dir, dvc_repo, pkg):
    name = os.path.basename(pkg.root_dir)

    src = pkg.DATA_DIR
    dst = pkg.DATA_DIR + "_imported"

    dvc_repo.pkg.install(pkg.root_dir)
    dvc_repo.pkg.imp(name, src, dst)

    assert os.path.exists(dst)
    assert os.path.isdir(dst)
    trees_equal(src, dst)
Пример #12
0
def test_pull_imported_directory_stage(tmp_dir, dvc, erepo_dir):
    with erepo_dir.chdir():
        erepo_dir.dvc_gen({"dir": {"foo": "foo content"}}, commit="create dir")

    dvc.imp(fspath(erepo_dir), "dir", "dir_imported")

    remove("dir_imported")
    remove(dvc.cache.local.cache_dir)

    dvc.pull(["dir_imported.dvc"])

    assert os.path.isdir("dir_imported")
    trees_equal(fspath(erepo_dir / "dir"), "dir_imported")
Пример #13
0
def test_get_regular_dir(erepo):
    src = "some_directory"
    dst = "some_directory_imported"

    src_file_path = os.path.join(erepo.root_dir, src, "file.txt")
    erepo.create(src_file_path, "hello")
    erepo.dvc.scm.add([src_file_path])
    erepo.dvc.scm.commit("add a regular dir")
    Repo.get(erepo.root_dir, src, dst)

    assert os.path.exists(dst)
    assert os.path.isdir(dst)
    trees_equal(os.path.join(erepo.root_dir, src), dst)
Пример #14
0
    def test_should_create_unpacked_dir_on_status_check(
        self, dvc_repo, repo_dir
    ):
        assert not os.path.exists(self.unpacked_dir)

        with dvc_repo.state:
            assert not dvc_repo.cache.local.changed_cache(
                self.dir_out.checksum
            )

        assert os.path.exists(self.unpacked_dir)

        trees_equal(repo_dir.DATA_DIR, self.unpacked_dir)
Пример #15
0
def test_import_dir(tmp_dir, scm, dvc, erepo_dir):
    with erepo_dir.chdir():
        erepo_dir.dvc_gen({"dir": {"foo": "foo content"}}, commit="create dir")

    stage = dvc.imp(fspath(erepo_dir), "dir", "dir_imported")

    assert os.path.isdir("dir_imported")
    trees_equal(fspath(erepo_dir / "dir"), "dir_imported")
    assert scm.repo.git.check_ignore("dir_imported")
    assert stage.deps[0].def_repo == {
        "url": fspath(erepo_dir),
        "rev_lock": erepo_dir.scm.get_rev(),
    }
Пример #16
0
def test_pull_imported_directory_stage(tmp_dir, dvc, erepo_dir, monkeypatch):
    with monkeypatch.context() as m:
        m.chdir(fspath(erepo_dir))
        erepo_dir.dvc_gen({"dir": {"foo": "foo content"}}, commit="create dir")

    dvc.imp(fspath(erepo_dir), "dir", "dir_imported")

    shutil.rmtree("dir_imported")
    shutil.rmtree(dvc.cache.local.cache_dir)

    dvc.pull(["dir_imported.dvc"])

    assert os.path.isdir("dir_imported")
    trees_equal(fspath(erepo_dir / "dir"), "dir_imported")
Пример #17
0
def test_import_git_dir(erepo_dir, tmp_dir, dvc, scm, src_is_dvc):
    if not src_is_dvc:
        erepo_dir.dvc.scm.repo.index.remove([".dvc"], r=True)
        erepo_dir.dvc.scm.commit("remove .dvc")

    src = "some_directory"
    dst = "some_directory_imported"

    erepo_dir.scm_gen({src: {"file.txt": "hello"}}, commit="add a dir")

    tmp_dir.dvc.imp(fspath(erepo_dir), src, dst)

    assert (tmp_dir / dst).is_dir()
    trees_equal(fspath(erepo_dir / src), fspath(tmp_dir / dst))
    assert tmp_dir.scm.repo.git.check_ignore(fspath(tmp_dir / dst))
Пример #18
0
def test_pull_imported_directory_stage(dvc_repo, erepo):
    src = erepo.DATA_DIR
    dst = erepo.DATA_DIR + "_imported"
    stage_file = dst + ".dvc"

    dvc_repo.imp(erepo.root_dir, src, dst)

    shutil.rmtree(dst)
    shutil.rmtree(dvc_repo.cache.local.cache_dir)

    dvc_repo.pull([stage_file])

    assert os.path.exists(dst)
    assert os.path.isdir(dst)
    trees_equal(src, dst)
Пример #19
0
def test_import_git_dir(tmp_dir, scm, dvc, git_dir, src_is_dvc):
    if src_is_dvc:
        git_dir.init(dvc=True)

    git_dir.scm_gen({"src": {"file.txt": "hello"}}, commit="add a dir")

    stage = dvc.imp(fspath(git_dir), "src", "dst")

    assert (tmp_dir / "dst").is_dir()
    trees_equal(fspath(git_dir / "src"), fspath(tmp_dir / "dst"))
    assert tmp_dir.scm.repo.git.check_ignore(fspath(tmp_dir / "dst"))
    assert stage.deps[0].def_repo == {
        "url": fspath(git_dir),
        "rev_lock": git_dir.scm.get_rev(),
    }