You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Catch file I/O errors throughout controller command sequencing, temporary-file creation and atomic replacement in pad_input.py, reporting an argparse error instead of an uncaught traceback. Preserve the existing command and temporary-file cleanup on failure.
Draft because #6531 and its rebased follow-up #11312 overlap the missing-parent-directory symptom and modifies the same CLI function. This change additionally handles read, temporary-file and replacement failures; coordination is needed before marking it ready. #10206 and #10578 modify other behavior in the same tool.
Tested
Windows, Python 3.12, upstream base 204c6747d0a1cbaf932def3dea0778810cc3935e; published head 12a121f13ad4f80367e01a30e69a1aa65051486b.
Regression tests failed on unchanged code for the missing-directory case and three injected permission failures.
Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
No notes, investigation .md files or images added to the repository (attach them to this PR)
New third-party code is a submodule built from source
Generic behaviour, not specific to one title
Depends on: none
Fixes: none
Unblocks: none
GPUs tested: n/a
AI-assisted: yes
Overlap details
#11312 rebases #6531's path validation and output encoding changes and adds a read-permission regression expecting the raw exception. This branch instead reports read, temporary-file and replacement errors through argparse and tests all three failure stages. Combining the branches requires retaining its path/encoding changes, this broader error handling, and reconciling the differing unreadable-file test expectation. #10206 adds stream/entry-point changes and tests at the same insertion point. This draft is not ready to merge until the ordering and shared tests are coordinated. No dependencies declared yet.
I independently ran the exact-head tools/tests/test_pad_input.py from 12a121f13ad4f80367e01a30e69a1aa65051486b on this Linux host: 16/16 tests passed, including the new missing-directory case and injected read/temp-write/replace failures. The PR body already accurately leaves base/overlap coordination unresolved and keeps this as a draft. Its current head is one commit ahead of main; the only failing hosted check is conventions because the overlap/base-sync checklist item is intentionally unchecked. Please keep it draft until that checklist and the shared pad_input.py/test behavior are reconciled with the existing open work; no request to close any PR.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Catch file I/O errors throughout controller command sequencing, temporary-file creation and atomic replacement in
pad_input.py, reporting an argparse error instead of an uncaught traceback. Preserve the existing command and temporary-file cleanup on failure.Draft because #6531 and its rebased follow-up #11312 overlap the missing-parent-directory symptom and modifies the same CLI function. This change additionally handles read, temporary-file and replacement failures; coordination is needed before marking it ready. #10206 and #10578 modify other behavior in the same tool.
Tested
Windows, Python 3.12, upstream base
204c6747d0a1cbaf932def3dea0778810cc3935e; published head12a121f13ad4f80367e01a30e69a1aa65051486b.python -m unittest discover -s tools/tests -p 'test_pad_*.py': 31 passed, 3 POSIX-only skips.python tools/check_conventions.py --base origin/main: passed.git diff --check origin/main HEAD: passed.python tools/pr_overlap.py --branch fix/pad-input-io-errors --repo boykopovar/AnyPS5: completed successfully. Conflicting hunks: fix(tools): wrap entrypoint in main with stream reconfigure in pad_input #10206 intools/tests/test_pad_input.py; fix(tools): normalize pad input output encoding and validate target path #11312 intools/pad_input.pyandtools/tests/test_pad_input.py. fix(tools): normalize pad input output encoding and validate target path #6531 conflicts with main, preventing automatic comparison; its shared files were inspected manually.No game, GPU, POSIX runtime or C++ build tested. Base freshness and overlap coordination remain to be resolved before ready-for-review.
Checklist
main; no other open PR implements the same functions (base recorded above; partial overlap fix(tools): normalize pad input output encoding and validate target path #6531/fix(tools): normalize pad input output encoding and validate target path #11312 and shared-file conflict fix(tools): wrap entrypoint in main with stream reconfigure in pad_input #10206 require coordination)NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)Overlap details
#11312 rebases #6531's path validation and output encoding changes and adds a read-permission regression expecting the raw exception. This branch instead reports read, temporary-file and replacement errors through argparse and tests all three failure stages. Combining the branches requires retaining its path/encoding changes, this broader error handling, and reconciling the differing unreadable-file test expectation. #10206 adds stream/entry-point changes and tests at the same insertion point. This draft is not ready to merge until the ordering and shared tests are coordinated. No dependencies declared yet.