test: improve _fix_broken_tool_use test coverage#2029
Open
beansandroasters wants to merge 1 commit intostrands-agents:mainfrom
Open
test: improve _fix_broken_tool_use test coverage#2029beansandroasters wants to merge 1 commit intostrands-agents:mainfrom
beansandroasters wants to merge 1 commit intostrands-agents:mainfrom
Conversation
- Use copy.deepcopy in test_fix_broken_tool_use_ignores_last_message so the assertion actually guards against in-place mutation (the old `fixed == messages` compared the same object to itself) - Add test for consecutive orphaned toolUse messages where insert() during iteration shifts the second toolUse into the last position, causing it to be skipped by `index + 1 < len(messages)` - Add test for single orphaned toolUse message (minimal edge case) Closes strands-agents#2028
7 tasks
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.
Summary
Improves test coverage for
_fix_broken_tool_useinRepositorySessionManager, addressing test quality issues found while reviewing #2026.copy.deepcopyin the existing last-message test — the old assertionfixed_messages == messagescompared the same object to itself (since the method mutates and returns the same list), so it always passed regardless of behavior changesinsert()-induced last-message skip — when consecutive orphanedtoolUsemessages exist,insert()shifts the second into the "last message" position mid-iteration, causing it to be skipped by theindex + 1 < len(messages)guardtoolUse— minimal edge case where the conversation consists of just one orphanedtoolUsemessageNote
The two new tests intentionally fail on the current
mainbranch — they document the existing bug that #2026 fixes. Once #2026 is merged, these tests will pass.Test plan
main(expected — they document the bug)Closes #2028
Related: #2025, #2026