Only pass background exceptions when we #shouldPassBackgroundFailures (fixes #17813) #17814
+1
−1
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.
Normally during test cleanup we will terminate any suspended background processes, so they will not actually get to resume and hit the #pass. However if the error was raised in an #ensure: block, the background process will finish executing the handler even when sent #terminate, so we need to avoid passing the exception and opening a debugger.
I think this is correct—certainly the behavior of
passBackgroundFailures
, e.g. when a halt is encountered, should be unaffected as that explicitly causesshouldPassBackgroundFailures
to returntrue
before resuming anything. But I'd appreciate another set of eyes on it, and if I should be checking a different condition, or a new condition variable needs to be added, that's possible too.