Repository navigation
tools: b64push.py and manage.py take the TV's success marker only as a line of its own - #3603
Merged
Gathin23 merged 1 commit intoNov 9, 2026
Conversation
…a line of its own b64push.py counted a move as done when "moved" appeared anywhere in the answer, so a refused move whose path contains the word (removed.jpg) skipped the copy fallback and exited 0. manage.py read pm's "Success" the same way. Both now match the marker as a whole line. In manage.py this covers `install` for an add-on without its own install script, and `remove`. Add-ons that ship their own install.sh or install.ps1 run pm in that script, which still accepts "Success" anywhere in pm's answer; those scripts are a follow-up and are not touched here.
|
maintainer-bot review · suggests merge (p2) Thanks for the careful fix and for the fake-TV test that reproduces both false successes. This looks ready to merge as it is, and the add-on install scripts make a good follow-up. Checks
This is a suggestion; a maintainer makes the final call. A maintainer can comment Reviewed by maintainer-bot · runs on 0G Private Computer |
5 tasks
Owner
|
Thanks @M-khalifa, b64push.py and manage.py now accept 'moved' and 'Success' only as whole lines, so a refusal that happens to name such a path or package no longer counts as done. |
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
b64push.py counted the final move as done when "moved" appeared anywhere in the TV's answer, so a refused
mvwhose path contains the word (a target such as/data/local/tmp/removed.jpg) skipped the copy fallback and exited 0 with the target unchanged; manage.py read pm'sSuccessthe same way, so a failed add-on install whose message names a package containing the word counted as installed. Both now match the marker only as a whole line. In manage.py this coversinstallfor an add-on without its own install script, andremove. Add-ons that ship their owninstall.shorinstall.ps1run pm inside that script, which still acceptsSuccessanywhere in pm's answer; those scripts are a follow-up and are not touched here. Found by reading the code; the new test reproduces both with a fake TV.Tested on: no TV needed (fake TV client); Windows 11, Python 3.11.
python -m unittest discover -s tests: 3172 tests, no failure from this change; 2 errors intest_bench_other_appandtest_bench_replay, which fail to import here (from tests import ...resolves to anothertestspackage in site-packages; the same on every branch, files not touched); 494 skipped (the POSIX-shell and pwsh suites, which CI runs).tests/test_success_lines.py(6 tests, no shell needed): the refused move that namesmovedexits 1 through the copy fallback; a failed install and a failed removal whose Failure line names aSuccesspackage are failures;Successwith surrounding whitespace still counts;Successstill counts for install and remove. With the whole-line match reverted, the two Failure-line cases fail; with the whitespace trimming reverted, the trimming case fails.Related: #1588 (the copy fallback this keeps reachable)
Reviewed with cross-review 1.2.1 (SkillArray, MIT license): https://github.com/M-khalifa/SkillArray