| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
There was a problem hiding this comment.
A PR that adds tests for existing API should not change that API.
If you want to change PyFile_FromFd(), this should be a separate issue and a separate PR.
Sorry, something went wrong.
| finally: | ||
| obj.close() | ||
|
|
||
| # Default buffering in binary mode (-1): BufferedReader |
There was a problem hiding this comment.
Why you're checking this here?
There's already tests on BufferedReader and TextIOWrapper below in this function.
Also, it's strange to open fd2 and fd3 under already existing with section for fp.
I need to ask if this PR was generated by LLM?
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
gh-94808: add test coversage for PyFile_FromFd
What I fixed
• Corrected PyFile_FromFd in Objects/fileobject.c to accept optional NULL strings for encoding, errors, and newline by switching the call format to use optional string specifiers:
• was "isisssO"
• now "isizzzO"
This fixes the bug where passing NULL crashed or misrouted arguments.
Unit tests added
• Extended Lib/test/test_capi/test_file.py:
• Added coverage for default buffering with buffering=-1:
◦ "rb" returns a _io.BufferedReader
◦ "r" returns a _io.TextIOWrapper
• Added a closefd=True behavior test (test_pyfile_fromfd_closefd) that ensures the underlying fd is closed when the returned object is closed (verifies EBADF on a second os.close).