Esempio n. 1
0
def test_copytree_dst_notdir(tmp_path, dirs_exist_ok):
    dir_src = tmp_path / 'src'
    dir_src.mkdir()
    dst = tmp_path / 'dst'
    dst.touch()
    with pytest.raises(FileExistsError, match=fr'{dst}'):
        osext.copytree(str(dir_src), str(dst), dirs_exist_ok=dirs_exist_ok)
Esempio n. 2
0
def test_copytree_src_notdir(tmp_path, dirs_exist_ok):
    src = tmp_path / 'src'
    src.touch()
    dst = tmp_path / 'dst'
    dst.mkdir()
    with pytest.raises(NotADirectoryError, match=fr'{src}'):
        osext.copytree(str(src), str(dst), dirs_exist_ok=dirs_exist_ok)
Esempio n. 3
0
    def __enter__(self):
        self._workdir = os.path.abspath(
            tempfile.mkdtemp(prefix='rfm.', dir=self._prefix))
        paths = ['bin/', 'reframe/', 'bootstrap.sh', 'requirements.txt']
        for p in paths:
            src = os.path.join(rfm.INSTALL_PREFIX, p)
            if os.path.isdir(src):
                dst = os.path.join(self._workdir, p)
                osext.copytree(src, dst, dirs_exist_ok=True)
            else:
                shutil.copy2(src, self._workdir)

        return self._workdir
Esempio n. 4
0
def test_copytree_src_parent_of_dst(tmp_path):
    dst_path = tmp_path / 'dst'
    src_path = (dst_path / '..').resolve()

    with pytest.raises(ValueError):
        osext.copytree(str(src_path), str(dst_path))
Esempio n. 5
0
def test_copytree(tmp_path):
    dir_src = tmp_path / 'src'
    dir_src.mkdir()
    dir_dst = tmp_path / 'dst'
    dir_dst.mkdir()
    osext.copytree(str(dir_src), str(dir_dst), dirs_exist_ok=True)
Esempio n. 6
0
def test_copytree_src_does_not_exist(tmp_path, dirs_exist_ok):
    src = tmp_path / 'src'
    dst = tmp_path / 'dst'
    dst.mkdir()
    with pytest.raises(FileNotFoundError, match=fr'{src}'):
        osext.copytree(str(src), str(dst), dirs_exist_ok=dirs_exist_ok)