Fix panic with setInterval in k6/ws #2896
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.
The panic happens when interval between 0 and 1 is given.
The code that tested whether the interval was > 0 correctly converted to
floats first and then back to time. And then checked it in order to
prevent this very panic.
Unfortunately it then did the same calculation again but this time by
converting the interval directly to int before multiplying by
milliseconds. Which ends up rounding it to 0. Making the whole result
zero and leading to time.NewTicker to panic.
This was already done correctly for setTimeout when the same panic was
found there and the wrong conversation was added for setInterval.
Previous commit df3ad1b