Repository navigation
Support directory descriptors in chmod - #9054
Conversation
Assisted-by: OpenAI Codex:model identifier unavailable
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 44 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Summary
Extract the independent Unix
chmod(dir_fd=...)support from #8954 (43065e79ddc46eafeca58cb39398ac007b5d25f7) onto Python 3.14 main (3af5f8a15314446d2b28a90e429c938dc7b8beeb).fchmodatwrapper and report the implemented fd/dir_fd capabilities.__text_signature__and keyword arguments #8968's signature, existing integer-path fchmod dispatch, macOS/BSD lchmod dispatch, and Redox fallback. Windows and WASI paths are unchanged.Reference: CPython 3.14.7 chmod implementation and capability construction. Source and runtime agree that successfully parsed dir_fd/follow_symlinks values are ignored for an integer path in 3.14, despite contradictory docstring wording; this patch preserves that behavior. Existing mode parsing and broader unrelated chmod differences are not rewritten.
Current open/merged searches found no dedicated duplicate. #8968 and the earlier integer-fd support remain intact. No host dependency or shared conversion changes are required.
Validation
TestPosixDirFd.test_chmod_dir_fd, file/directory/fd and symlink cases.builtin_signature.pypasses unchanged.Native validation is Linux-only. Other platform conclusions are source-reviewed, not execution claims; full hosted CI is pending. No Rust behavioral tests, implementation-name guards or README changes. This remains a draft for review.
AI-assisted implementation and validation with OpenAI Codex; model identifier unavailable. No human review is implied.