File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -681,7 +681,12 @@ def __init__( # noqa: PLR0913
681681
682682 if self .mode == "rb" :
683683 buffer_size = 1024 * 1024 if buffer_size is None else buffer_size
684- self ._reader = open_reader (store , path , buffer_size = buffer_size )
684+ self ._reader = open_reader (
685+ store ,
686+ path ,
687+ buffer_size = buffer_size ,
688+ size = self .size ,
689+ )
685690 elif self .mode == "wb" :
686691 buffer_size = 10 * 1024 * 1024 if buffer_size is None else buffer_size
687692 self ._writer = open_writer (
Original file line number Diff line number Diff line change @@ -155,6 +155,24 @@ async def test_info_synthesizes_directory_for_trailing_slash_query():
155155 assert mock_construct .call_count == 0
156156
157157
158+ def test_buffered_file_forwards_size_to_open_reader ():
159+ register ("file" )
160+ fs : FsspecStore = fsspec .filesystem ("file" , asynchronous = False )
161+
162+ with TemporaryDirectory () as tmp :
163+ path = Path (tmp ) / "sized.bin"
164+ path .write_bytes (b"x" * 1000 )
165+
166+ file = fs ._open (str (path ), mode = "rb" , size = 500 )
167+
168+ assert file .size == 500
169+ assert file ._reader .size == 500
170+ assert "last_modified" not in file ._reader .meta
171+
172+ data = file .read ()
173+ assert len (data ) == 500
174+
175+
158176def test_construct_store_cache_diff_bucket_name (
159177 minio_bucket : tuple [S3Config , ClientConfig ],
160178):
You can’t perform that action at this time.
0 commit comments