Make StripedLockTest execute faster, and trick Sonar #1023
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.
Sonar has always complained about the sleep in StripedLockTest. Due to the nature of testing the StripedLock, and the need to verify that the StripedLock can prevent multiple threads from accessing concurrently, using a hard sleep is not a bad choice. However, the sleep of 100 millis can be reduced to 10 millis and the test should still always pass. On my M2 MacBook Pro, the run time (measured in IntelliJ's test runner) was reduced from around 1.5 seconds to less than 450 milliseconds on a consistent basis. Not very scientific, but definitely noticeable.
The part about tricking Sonar is that it doesn't know anything about KiwiEnvironment and its sleep methods, so by changing to use KiwiEnvironment, Sonar no longer flags the sleep call.