This repository has been archived by the owner on Aug 17, 2020. It is now read-only.
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.
Currently when a test starts a new goroutine, and this goroutine panics, all process crashes without any signal so the data inside the recorder's buffer is lost. This let us without data for the missing tests for that execution and possible failures being hidden by the missing data.
This
PR
adds a new goroutines global panic handler allowing to fail running tests and flush the recorder buffer before process exit.When a panic occurs in any goroutine, the following is executed:
AddPanicHandler
are executedAddOnPanicExitHandler
are executed.For this
PR
before crashing we finish all running tests with statusFail
and write the panic info as an exception in each one.