From 87110c6e8f89f22d645e1fce0c8d4b0e6b383cfc Mon Sep 17 00:00:00 2001 From: Ulises Date: Fri, 2 Sep 2022 08:24:56 +0200 Subject: [PATCH] filter uid/guid in test_add_dir_getmember --- Lib/test/test_tarfile.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py index 0868d5d6e90915..d07b19b5dd55f9 100644 --- a/Lib/test/test_tarfile.py +++ b/Lib/test/test_tarfile.py @@ -221,17 +221,30 @@ def test_issue14160(self): self._test_fileobj_link("symtype2", "ustar/regtype") def test_add_dir_getmember(self): + def reset(tarinfo): + tarinfo.uid = tarinfo.gid = 1000 + return tarinfo + # bpo-21987 - self.add_dir_and_getmember('bar') - self.add_dir_and_getmember('a'*101) + self.add_dir_and_getmember('bar', reset) + self.add_dir_and_getmember('a'*101, reset) + + def test_add_dir_getmember_throw_exception_invalid_uid_gid(self): + def reset(tarinfo): + tarinfo.uid = tarinfo.gid = 16777216 + return tarinfo + + with self.assertRaises(ValueError) as context: + self.add_dir_and_getmember('bar', reset) + self.add_dir_and_getmember('a'*101, reset) - def add_dir_and_getmember(self, name): + def add_dir_and_getmember(self, name, filter): with os_helper.temp_cwd(): with tarfile.open(tmpname, 'w') as tar: tar.format = tarfile.USTAR_FORMAT try: os.mkdir(name) - tar.add(name) + tar.add(name,filter=filter) finally: os.rmdir(name) with tarfile.open(tmpname) as tar: