Repository navigation
fix(mock): return failure for invalid expectation objects - #1984
Open
sergioperezcheco wants to merge 1 commit into
Open
sergioperezcheco wants to merge 1 commit into
sergioperezcheco wants to merge 1 commit into
Conversation
Signed-off-by: sergioperezcheco <checo520@outlook.com>
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
Return false from
mock.AssertExpectationsForObjectswhen an object does not implement the expected mock interface.Changes
Remember failures from the existing invalid-object diagnostic while continuing to check subsequent valid objects. Regression tests exercise invalid references alone and in either position alongside a valid object, plus successful mocks, unmet expectations and an empty list.
Motivation
The diagnostic introduced in #1795 calls
Errorfbut continues to a finaltruereturn when the remaining objects succeed. Code branching on the assertion result therefore observes success after a reported failure. This keeps the existing rejection of mocks passed by value; it does not restore the behavior discussed in #1227 and #1237 or change the early return for unmet expectations.Related issues
Related to #1795; that merged change is not an issue being closed here.
Validation: the unchanged production code fails the three new invalid-reference cases; the fix passes the complete
go test -p 1 -race -count=1 ./...suite andgo vet ./...on Go 1.26.4/macOS arm64. Targeted incremental lint also passes. Other Go/OS CI combinations have not been run locally.Prepared with Hermes Agent using GPT-6.1-sol; no human review is claimed.