gh-62308: Added `dir_fd` & `follow_symlinks` to `shutil.chown` by nineteendo · Pull Request #118136 · python/cpython
with self.assertRaises(ValueError):
def check_chown(path, uid=None, gid=None): s = os.stat(filename) s = os.stat(path) if uid is not None: self.assertEqual(uid, s.st_uid) if gid is not None:
with self.assertRaises(FileNotFoundError): shutil.chown('invalid-file', user=uid, dir_fd=dirfd) shutil.chown('invalid-file', group=gid, dir_fd=dirfd) shutil.chown('invalid-file', user=uid, group=gid, dir_fd=dirfd)
shutil.chown(dirname, uid, gid) check_chown(dirname, uid, gid) shutil.chown(dirname, uid) check_chown(dirname, uid) shutil.chown(dirname, user=uid) check_chown(dirname, uid) shutil.chown(dirname, user=uid, follow_symlinks=True) check_chown(dirname, uid) shutil.chown(dirname, group=gid) check_chown(dirname, gid=gid) shutil.chown(dirname, group=gid, follow_symlinks=True) check_chown(dirname, gid=gid) shutil.chown(dirname, user=uid, group=gid, follow_symlinks=True) check_chown(dirname, uid=uid, gid=gid)
try: user = pwd.getpwuid(uid)[0]