bpo-17013: Extend Mock.called to allow waiting for calls#17133
Closed
Uh oh!
There was an error while loading. Please reload this page.
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.
This implementation of bpo-17013 is alternative to #16094
Changes are based on my work for
asynctest. Specifically on_AwaitEventthat was left out when related code was ported to CPython.Key features:
Mock.calledproperty, otherwise not much usefulAccepting this change will allow me to port
_AwaitEventtherefore giving identical semantics to both wait-for-calls and wait-for-awaits.I will provide necessary typing annotations for typeshed.
Considerations:
Mock.calledproperty fromboolto private bool-like_CallEvent. However, the only practical problem I could think of is if someone was checking type ofMock.called(e.g. viaisinstance). That does not sound like a plausible problem: after all the property itself is seldom used with exception of conditional expressions where_CallEvent.__bool__and_CallEvent.__eq__is sufficient.wait_for_call, but I would like to hear the opinion of the reviewers.CC: @vstinner@tirkarthi@mariocj89
https://bugs.python.org/issue17013