Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 9d34011

Browse files
committed
Replace os.path.abspath with os.fspath and add test
1 parent a307164 commit 9d34011

2 files changed

Lines changed: 5 additions & 2 deletions

File tree

Lib/tarfile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ def __init__(self, name, mode, comptype, fileobj, bufsize):
349349
fileobj = _StreamProxy(fileobj)
350350
comptype = fileobj.getcomptype()
351351

352-
self.name = os.path.abspath(name) if name else ""
352+
self.name = os.fspath(name) if name else ""
353353
self.mode = mode
354354
self.comptype = comptype
355355
self.fileobj = fileobj

Lib/test/test_tarfile.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1422,7 +1422,10 @@ def test_file_mode(self):
14221422
os.umask(original_umask)
14231423

14241424
class GzipStreamWriteTest(GzipTest, StreamWriteTest):
1425-
pass
1425+
def test_open_by_path_object(self):
1426+
# Test for issue #37144: open gzip for stream write by path-like object
1427+
tar = tarfile.open(pathlib.Path(self.tarname), self.mode)
1428+
tar.close()
14261429

14271430
class Bz2StreamWriteTest(Bz2Test, StreamWriteTest):
14281431
decompressor = bz2.BZ2Decompressor if bz2 else None

0 commit comments

Comments
 (0)