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.
What change does this introduce?
This PR adds a new
panicx
package (withinengine
) for dealing with panic values that occur within the application or due to a misbehaving application implementation.The existing
controller.ConvertUnexpectedMessagePanic()
has been moved topanicx.EnrichUnexpectedMessage()
.It improves the nasty code that deals with finding panic locations on the stack and adds a few additional tests.
What issues does this relate to?
Prepares for #162
Why make this change?
We need to allow the in-memory engine to panic when an application misbehaves (such as recording an invalid message) so that the developer can catch these issues. However, when using the engine within a test we want to add information about these panic values to a test report rather than just letting them unwind the stack fully.
Is there anything you are unsure about?
No