self.add_dir_and_getmember('bar')
self.add_dir_and_getmember('a'*101)
- @unittest.skipIf(
- (hasattr(os, 'getuid') and os.getuid() > 0o777_7777) or
- (hasattr(os, 'getgid') and os.getgid() > 0o777_7777),
- "uid or gid too high for USTAR format."
- )
+ @unittest.skipUnless(hasattr(os, "getuid") and hasattr(os, "getgid"),
+ "Missing getuid or getgid implementation")
def add_dir_and_getmember(self, name):
+ def filter(tarinfo):
+ tarinfo.uid = tarinfo.gid = 100
+ return tarinfo
+
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: