Update k6 and add tests around races #42
Merged
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.
Before the update of k6 it was possible that a websocket connection will start stopping due to context Done. That will use the eventloop to synchronise the update of the statuses and the closing of the done channel.
And everything will work except if the eventloop was not already stopping due to unhandled exception (for example).
In that case the eventloop will just not run the call to stop the connection.
Detecting that is inherently hard and will require to then have a separate mechanism to close and stop the websocket connection that is only used in this particular case.
The test provided also caught leakage of goroutines which is now caught and fixed.
fixes #36