Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitedbdb9d

Browse files
Merge pull request#173 from dmitry-lipetsk/D20241225_004--read_binary-offset
OsOps::read_binary is updated (offset)
2 parents989e209 +2c1dd97 commitedbdb9d

File tree

5 files changed

+35
-11
lines changed

5 files changed

+35
-11
lines changed

‎testgres/operations/local_ops.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -331,13 +331,15 @@ def readlines(self, filename, num_lines=0, binary=False, encoding=None):
331331
buffers*max(2,int(num_lines/max(cur_lines,1)))
332332
)# Adjust buffer size
333333

334-
defread_binary(self,filename,start_pos):
334+
defread_binary(self,filename,offset):
335335
asserttype(filename)==str# noqa: E721
336-
asserttype(start_pos)==int# noqa: E721
337-
assertstart_pos>=0
336+
asserttype(offset)==int# noqa: E721
337+
338+
ifoffset<0:
339+
raiseValueError("Negative 'offset' is not supported.")
338340

339341
withopen(filename,'rb')asfile:# open in a binary mode
340-
file.seek(start_pos,os.SEEK_SET)
342+
file.seek(offset,os.SEEK_SET)
341343
r=file.read()
342344
asserttype(r)==bytes# noqa: E721
343345
returnr

‎testgres/operations/os_ops.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,10 @@ def read(self, filename, encoding, binary):
9898
defreadlines(self,filename):
9999
raiseNotImplementedError()
100100

101-
defread_binary(self,filename,start_pos):
101+
defread_binary(self,filename,offset):
102102
asserttype(filename)==str# noqa: E721
103-
asserttype(start_pos)==int# noqa: E721
104-
assertstart_pos>=0
103+
asserttype(offset)==int# noqa: E721
104+
assertoffset>=0
105105
raiseNotImplementedError()
106106

107107
defisfile(self,remote_file):

‎testgres/operations/remote_ops.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,12 +370,14 @@ def readlines(self, filename, num_lines=0, binary=False, encoding=None):
370370

371371
returnlines
372372

373-
defread_binary(self,filename,start_pos):
373+
defread_binary(self,filename,offset):
374374
asserttype(filename)==str# noqa: E721
375-
asserttype(start_pos)==int# noqa: E721
376-
assertstart_pos>=0
375+
asserttype(offset)==int# noqa: E721
377376

378-
cmd= ["tail","-c","+{}".format(start_pos+1),filename]
377+
ifoffset<0:
378+
raiseValueError("Negative 'offset' is not supported.")
379+
380+
cmd= ["tail","-c","+{}".format(offset+1),filename]
379381
r=self.exec_command(cmd)
380382
asserttype(r)==bytes# noqa: E721
381383
returnr

‎tests/test_local.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,16 @@ def test_read_binary__spec__unk_file(self):
162162
match=re.escape("[Errno 2] No such file or directory: '/dummy'")):
163163
self.operations.read_binary("/dummy",0)
164164

165+
deftest_read_binary__spec__negative_offset(self):
166+
"""
167+
Test LocalOperations::read_binary with negative offset.
168+
"""
169+
170+
withpytest.raises(
171+
ValueError,
172+
match=re.escape("Negative 'offset' is not supported.")):
173+
self.operations.read_binary(__file__,-1)
174+
165175
deftest_get_file_size(self):
166176
"""
167177
Test LocalOperations::get_file_size.

‎tests/test_remote.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,16 @@ def test_read_binary__spec__unk_file(self):
288288
withpytest.raises(ExecUtilException,match=re.escape("tail: cannot open '/dummy' for reading: No such file or directory")):
289289
self.operations.read_binary("/dummy",0)
290290

291+
deftest_read_binary__spec__negative_offset(self):
292+
"""
293+
Test RemoteOperations::read_binary with negative offset.
294+
"""
295+
296+
withpytest.raises(
297+
ValueError,
298+
match=re.escape("Negative 'offset' is not supported.")):
299+
self.operations.read_binary(__file__,-1)
300+
291301
deftest_get_file_size(self):
292302
"""
293303
Test RemoteOperations::get_file_size.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp