diff --git a/community/kernel/src/test/java/org/neo4j/test/Race.java b/community/kernel/src/test/java/org/neo4j/test/Race.java index 88928bb555e9a..ad4b8611eac1e 100644 --- a/community/kernel/src/test/java/org/neo4j/test/Race.java +++ b/community/kernel/src/test/java/org/neo4j/test/Race.java @@ -25,6 +25,7 @@ import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import java.util.concurrent.locks.LockSupport; import java.util.function.BooleanSupplier; import org.neo4j.helpers.Exceptions; @@ -265,11 +266,8 @@ public void run() private void randomlyDelaySlightly() { - int target = ThreadLocalRandom.current().nextInt( 1_000_000_000 ); - for ( int i = 0; i < target; i++ ) - { - i = i; - } + int millis = ThreadLocalRandom.current().nextInt( 100 ); + LockSupport.parkNanos( TimeUnit.MILLISECONDS.toNanos( 10 + millis ) ); } } } diff --git a/community/kernel/src/test/java/org/neo4j/test/RaceTest.java b/community/kernel/src/test/java/org/neo4j/test/RaceTest.java index 470f5d2cbf0e5..23183fa86b307 100644 --- a/community/kernel/src/test/java/org/neo4j/test/RaceTest.java +++ b/community/kernel/src/test/java/org/neo4j/test/RaceTest.java @@ -24,16 +24,14 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.function.BooleanSupplier; +import static java.lang.Thread.sleep; +import static java.util.concurrent.ThreadLocalRandom.current; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; +import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.spy; -import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; - -import static java.lang.Thread.sleep; -import static java.util.concurrent.ThreadLocalRandom.current; - import static org.neo4j.test.Race.throwing; /** @@ -91,8 +89,8 @@ public void shouldHaveMultipleEndConditions() throws Throwable race.go(); // THEN - verify( endCondition1, times( 4 ) ).getAsBoolean(); - verify( endCondition2, times( 4 ) ).getAsBoolean(); + verify( endCondition1, atLeast( 4 ) ).getAsBoolean(); + verify( endCondition2, atLeast( 4 ) ).getAsBoolean(); } @Test