From cfb16543b85d53c70d0f7e8d4ad9f19111037e5e Mon Sep 17 00:00:00 2001 From: Karim Baidar Date: Mon, 15 Jan 2024 16:39:31 +0100 Subject: [PATCH] Implement Preset Argument in tarfile.open Function and Add Test Coverage (#11251) --- stdlib/tarfile.pyi | 1 + test_cases/stdlib/check_tarfile.py | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 test_cases/stdlib/check_tarfile.py diff --git a/stdlib/tarfile.pyi b/stdlib/tarfile.pyi index 8848e5842..0bfd91ce2 100644 --- a/stdlib/tarfile.pyi +++ b/stdlib/tarfile.pyi @@ -119,6 +119,7 @@ def open( debug: int | None = ..., errorlevel: int | None = ..., compresslevel: int | None = ..., + preset: Literal[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | None = ..., ) -> TarFile: ... class ExFileObject(io.BufferedReader): diff --git a/test_cases/stdlib/check_tarfile.py b/test_cases/stdlib/check_tarfile.py new file mode 100644 index 000000000..54510a3d7 --- /dev/null +++ b/test_cases/stdlib/check_tarfile.py @@ -0,0 +1,13 @@ +import tarfile + +with tarfile.open("test.tar.xz", "w:xz") as tar: + pass + +# Test with valid preset values +tarfile.open("test.tar.xz", "w:xz", preset=0) +tarfile.open("test.tar.xz", "w:xz", preset=5) +tarfile.open("test.tar.xz", "w:xz", preset=9) + +# Test with invalid preset values +tarfile.open("test.tar.xz", "w:xz", preset=-1) # type: ignore +tarfile.open("test.tar.xz", "w:xz", preset=10) # type: ignore