Let concrete add additional mocks to UtCompositeModel
created by the engine
#2553
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.
Description
Fixes #2549
#2549 shows that symbolic engine may miss some mocks. I suspect that it happens when it doesn't fully execute the method symbolically and lets concrete execution to finish the execution.
Regardless of why symbolic engine misses mocks, we need to deal with missed mocks. This PR makes concrete execution to always use the mechanism for dealing with incomplete mock that was originally developed for dealing with mocks created by the fuzzer (see #2529).
NOTE: generateMockitoAnswerHandlingRedundantAndMissingMocks() should be reviewed before approving this PR.
How to test
Automated tests
Manual tests
Issue #2549 should no longer reproduce (NOTE: I wasn't able to reproduce it even before this fix).
Self-check list