Spaces:
Runtime error
Runtime error
File size: 2,824 Bytes
63deadc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
import pytest
import fsspec
from fsspec.tests.conftest import data, server # noqa: F401
def test_remote_async_ops(server):
fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"})
fs = fsspec.filesystem("generic", default_method="current")
out = fs.info(server + "/index/realfile")
assert out["size"] == len(data)
assert out["type"] == "file"
assert fs.isfile(server + "/index/realfile") # this method from superclass
def test_touch_rm(m):
m.touch("afile")
m.touch("dir/afile")
fs = fsspec.filesystem("generic", default_method="current")
fs.rm("memory://afile")
assert not m.exists("afile")
fs.rm("memory://dir", recursive=True)
assert not m.exists("dir/afile")
assert not m.exists("dir")
def test_cp_async_to_sync(server, m):
fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"})
fs = fsspec.filesystem("generic", default_method="current")
fs.cp([server + "/index/realfile"], ["memory://realfile"])
assert m.cat("realfile") == data
fs.rm("memory://realfile")
assert not m.exists("realfile")
def test_pipe_cat_sync(m):
fs = fsspec.filesystem("generic", default_method="current")
fs.pipe("memory://afile", b"data")
assert fs.cat("memory://afile") == b"data"
def test_cat_async(server):
fsspec.filesystem("http", headers={"give_length": "true", "head_ok": "true"})
fs = fsspec.filesystem("generic", default_method="current")
assert fs.cat(server + "/index/realfile") == data
def test_rsync(tmpdir, m):
from fsspec.generic import GenericFileSystem, rsync
fs = GenericFileSystem()
fs.pipe("memory:///deep/path/afile", b"data1")
fs.pipe("memory:///deep/afile", b"data2")
with pytest.raises(ValueError):
rsync("memory:///deep/afile", f"file://{tmpdir}")
rsync("memory://", f"file://{tmpdir}")
allfiles = fs.find(f"file://{tmpdir}", withdirs=True, detail=True)
pos_tmpdir = fsspec.implementations.local.make_path_posix(str(tmpdir)) # for WIN
assert set(allfiles) == {
f"file://{pos_tmpdir}{_}"
for _ in [
"",
"/deep",
"/deep/path",
"/deep/path/afile",
"/deep/afile",
]
}
fs.rm("memory:///deep/afile")
rsync("memory://", f"file://{tmpdir}", delete_missing=True)
allfiles2 = fs.find(f"file://{tmpdir}", withdirs=True, detail=True)
assert set(allfiles2) == {
f"file://{pos_tmpdir}{_}"
for _ in [
"",
"/deep",
"/deep/path",
"/deep/path/afile",
]
}
# the file was not updated, since size was correct
assert (
allfiles[f"file://{pos_tmpdir}/deep/path/afile"]
== allfiles2[f"file://{pos_tmpdir}/deep/path/afile"]
)
|