From 7bd4ad1ba203dfa4334f4871bfea56cd34929d83 Mon Sep 17 00:00:00 2001 From: Julien Ponge Date: Wed, 1 Dec 2021 12:47:41 +0100 Subject: [PATCH] Run JUnit5 tests in parallel and coordinate Mutiny Infrastructure access constraints --- implementation/pom.xml | 22 +++++++++++++++++++ .../mutiny/groups/MultiTimePeriod.java | 10 ++++++--- .../smallrye/mutiny/BugReproducersTest.java | 4 ++++ .../mutiny/groups/MultiBroadcastTest.java | 4 ++++ .../mutiny/groups/MultiDisjointTest.java | 4 ++++ .../mutiny/groups/UniMemoizeTest.java | 4 ++++ .../mutiny/groups/UniOnFailureRetryTest.java | 4 ++++ .../mutiny/groups/UniSubscriberTest.java | 4 ++++ .../mutiny/helpers/BlockingIterableTest.java | 5 +++++ .../helpers/test/AssertSubscriberTest.java | 4 ++++ .../helpers/test/UniAssertSubscriberTest.java | 4 ++++ .../infrastructure/CallbackDecoratorTest.java | 4 ++++ .../infrastructure/DroppedExceptionsTest.java | 4 ++++ .../infrastructure/MutinySchedulerTest.java | 4 ++++ .../infrastructure/UniInterceptorTest.java | 4 ++++ .../MultiCreateFromTimePeriodTest.java | 4 ++++ .../mutiny/operators/MultiDistinctTest.java | 4 ++++ .../mutiny/operators/MultiGroupTest.java | 4 ++++ .../mutiny/operators/MultiIfNoItemTest.java | 4 ++++ .../operators/MultiOnFailureInvokeTest.java | 4 ++++ .../operators/MultiOnFailureRetryTest.java | 4 ++++ .../MultiOnFailureRetryWhenTest.java | 4 ++++ .../mutiny/operators/MultiOnOverflowTest.java | 4 ++++ .../operators/MultiOnSubscribeTest.java | 4 ++++ .../operators/MultiSelectFirstOrLastTest.java | 4 ++++ .../mutiny/operators/MultiSkipTest.java | 5 +++++ .../mutiny/operators/MultiSubscribeTest.java | 4 ++++ .../mutiny/operators/MultiTakeTest.java | 4 ++++ .../operators/MultiTransformToMultiTest.java | 4 ++++ .../mutiny/operators/UniAwaitTest.java | 4 ++++ .../operators/UniCreateFromFutureTest.java | 4 ++++ .../mutiny/operators/UniIfNoItemTest.java | 4 ++++ .../mutiny/operators/UniOnEventTest.java | 4 ++++ .../operators/UniOnFailureRetryTest.java | 4 ++++ .../mutiny/operators/UniOnItemDelayTest.java | 4 ++++ .../operators/UniOnItemDelayUntilTest.java | 4 ++++ .../UniOnItemOrFailureFlatMapTest.java | 4 ++++ .../mutiny/operators/UniOnSubscribeTest.java | 4 ++++ .../operators/UniOnTerminationTest.java | 4 ++++ .../smallrye/mutiny/operators/UniOrTest.java | 4 ++++ .../mutiny/operators/UniRepeatTest.java | 4 ++++ .../operators/UniRunSubscriptionOnTest.java | 4 ++++ .../UniSerializedSubscriberTest.java | 4 ++++ .../UniSubscribeAsCompletionStageTest.java | 4 ++++ .../operators/multi/MultiToHotStreamTest.java | 4 ++++ .../multi/builders/MultiFromIterableTest.java | 4 ++++ .../MultiFromResourceFromUniTest.java | 4 ++++ .../multi/builders/MultiFromResourceTest.java | 4 ++++ .../MultiReferenceCountSubscriberTest.java | 4 ++++ .../processors/BroadcastProcessorTest.java | 4 ++++ .../operators/uni/UniAndMultiLoggerTest.java | 4 ++++ .../CallbackBasedSubscriberTest.java | 4 ++++ .../subscription/SafeSubscriberTest.java | 4 ++++ .../SerializedSubscriberTest.java | 4 ++++ .../support/InfrastructureResource.java | 6 +++++ .../src/test/java/tck/MultiLoggerTckTest.java | 5 +++++ 56 files changed, 250 insertions(+), 3 deletions(-) create mode 100644 implementation/src/test/java/junit5/support/InfrastructureResource.java diff --git a/implementation/pom.xml b/implementation/pom.xml index c6a2ec97e..b4b0fc023 100644 --- a/implementation/pom.xml +++ b/implementation/pom.xml @@ -175,5 +175,27 @@ + + parallel-tests + + + + org.apache.maven.plugins + maven-surefire-plugin + + + + junit.jupiter.extensions.autodetection.enabled=true + junit.jupiter.testinstance.lifecycle.default = per_class + junit.jupiter.execution.parallel.enabled = true + junit.jupiter.execution.parallel.mode.default = same_thread + junit.jupiter.execution.parallel.mode.classes.default = concurrent + + + + + + + \ No newline at end of file diff --git a/implementation/src/main/java/io/smallrye/mutiny/groups/MultiTimePeriod.java b/implementation/src/main/java/io/smallrye/mutiny/groups/MultiTimePeriod.java index addd9d121..df244a853 100644 --- a/implementation/src/main/java/io/smallrye/mutiny/groups/MultiTimePeriod.java +++ b/implementation/src/main/java/io/smallrye/mutiny/groups/MultiTimePeriod.java @@ -14,7 +14,7 @@ public class MultiTimePeriod { private Duration initialDelay; - private ScheduledExecutorService executor = Infrastructure.getDefaultWorkerPool(); + private ScheduledExecutorService executor; @CheckReturnValue public MultiTimePeriod startingAfter(Duration duration) { @@ -31,10 +31,14 @@ public MultiTimePeriod onExecutor(ScheduledExecutorService executor) { @CheckReturnValue public Multi every(Duration duration) { validate(duration, "duration"); + ScheduledExecutorService executorService = this.executor; + if (executorService == null) { + executorService = Infrastructure.getDefaultWorkerPool(); + } if (initialDelay != null) { - return Infrastructure.onMultiCreation(new IntervalMulti(initialDelay, duration, executor)); + return Infrastructure.onMultiCreation(new IntervalMulti(initialDelay, duration, executorService)); } else { - return Infrastructure.onMultiCreation(new IntervalMulti(duration, executor)); + return Infrastructure.onMultiCreation(new IntervalMulti(duration, executorService)); } } diff --git a/implementation/src/test/java/io/smallrye/mutiny/BugReproducersTest.java b/implementation/src/test/java/io/smallrye/mutiny/BugReproducersTest.java index 739d3cc84..f5f6f729a 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/BugReproducersTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/BugReproducersTest.java @@ -16,10 +16,14 @@ import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) class BugReproducersTest { @RepeatedTest(100) diff --git a/implementation/src/test/java/io/smallrye/mutiny/groups/MultiBroadcastTest.java b/implementation/src/test/java/io/smallrye/mutiny/groups/MultiBroadcastTest.java index 85a142aff..1176616a1 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/groups/MultiBroadcastTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/groups/MultiBroadcastTest.java @@ -8,11 +8,15 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.helpers.MultiEmitterProcessor; import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiBroadcastTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/groups/MultiDisjointTest.java b/implementation/src/test/java/io/smallrye/mutiny/groups/MultiDisjointTest.java index c7164b6a9..024e0c373 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/groups/MultiDisjointTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/groups/MultiDisjointTest.java @@ -9,13 +9,17 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.reactivex.Flowable; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiDisjointTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/groups/UniMemoizeTest.java b/implementation/src/test/java/io/smallrye/mutiny/groups/UniMemoizeTest.java index 3a958d613..8956629dd 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/groups/UniMemoizeTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/groups/UniMemoizeTest.java @@ -16,6 +16,8 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.reactivex.processors.UnicastProcessor; import io.smallrye.mutiny.Multi; @@ -28,8 +30,10 @@ import io.smallrye.mutiny.subscription.Cancellable; import io.smallrye.mutiny.subscription.UniSubscriber; import io.smallrye.mutiny.subscription.UniSubscription; +import junit5.support.InfrastructureResource; @DisplayName("Tests for the uni.memoize() group") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) class UniMemoizeTest { private static void race(Runnable candidate1, Runnable candidate2, Executor s) { diff --git a/implementation/src/test/java/io/smallrye/mutiny/groups/UniOnFailureRetryTest.java b/implementation/src/test/java/io/smallrye/mutiny/groups/UniOnFailureRetryTest.java index 285d5969f..a33be67fb 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/groups/UniOnFailureRetryTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/groups/UniOnFailureRetryTest.java @@ -15,10 +15,14 @@ import java.util.function.Predicate; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnFailureRetryTest { @Test public void testFailureWithPredicateException() { diff --git a/implementation/src/test/java/io/smallrye/mutiny/groups/UniSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/groups/UniSubscriberTest.java index 6651b4edd..9f7165751 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/groups/UniSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/groups/UniSubscriberTest.java @@ -11,10 +11,14 @@ import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.subscription.Cancellable; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniSubscriberTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/helpers/BlockingIterableTest.java b/implementation/src/test/java/io/smallrye/mutiny/helpers/BlockingIterableTest.java index 84628d26e..e8926e7cc 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/helpers/BlockingIterableTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/helpers/BlockingIterableTest.java @@ -22,6 +22,8 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscriber; import io.smallrye.mutiny.Multi; @@ -29,7 +31,9 @@ import io.smallrye.mutiny.infrastructure.Infrastructure; import io.smallrye.mutiny.operators.AbstractMulti; import io.smallrye.mutiny.subscription.BackPressureFailure; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class BlockingIterableTest { @Test @@ -244,6 +248,7 @@ public void testOverflow() { } @Nested + @ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) class ThreadBlockingTest { @BeforeEach diff --git a/implementation/src/test/java/io/smallrye/mutiny/helpers/test/AssertSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/helpers/test/AssertSubscriberTest.java index 463172b50..2dad1dd9d 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/helpers/test/AssertSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/helpers/test/AssertSubscriberTest.java @@ -12,6 +12,8 @@ import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscription; import io.smallrye.mutiny.Multi; @@ -19,7 +21,9 @@ import io.smallrye.mutiny.TimeoutException; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.infrastructure.Infrastructure; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class AssertSubscriberTest { private final Duration SMALL = Duration.ofMillis(200); diff --git a/implementation/src/test/java/io/smallrye/mutiny/helpers/test/UniAssertSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/helpers/test/UniAssertSubscriberTest.java index 841e87209..9c4cb590f 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/helpers/test/UniAssertSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/helpers/test/UniAssertSubscriberTest.java @@ -10,12 +10,16 @@ import java.util.function.Consumer; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.TestException; import io.smallrye.mutiny.TimeoutException; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.subscription.UniEmitter; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) class UniAssertSubscriberTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/CallbackDecoratorTest.java b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/CallbackDecoratorTest.java index 405daec13..e459e0c5d 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/CallbackDecoratorTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/CallbackDecoratorTest.java @@ -7,9 +7,13 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.tuples.Functions; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class CallbackDecoratorTest { Runnable runnable = () -> { diff --git a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/DroppedExceptionsTest.java b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/DroppedExceptionsTest.java index a71891a7f..fcfb0c5c1 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/DroppedExceptionsTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/DroppedExceptionsTest.java @@ -11,10 +11,14 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.subscription.Cancellable; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class DroppedExceptionsTest { private static final PrintStream systemErr = System.err; diff --git a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/MutinySchedulerTest.java b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/MutinySchedulerTest.java index f7b8e6b01..1c3544236 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/MutinySchedulerTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/MutinySchedulerTest.java @@ -15,11 +15,15 @@ import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class MutinySchedulerTest { @BeforeAll diff --git a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/UniInterceptorTest.java b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/UniInterceptorTest.java index a079fc406..2d0293273 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/infrastructure/UniInterceptorTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/infrastructure/UniInterceptorTest.java @@ -4,13 +4,17 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.operators.AbstractUni; import io.smallrye.mutiny.subscription.UniDelegatingSubscriber; import io.smallrye.mutiny.subscription.UniSubscriber; import io.smallrye.mutiny.subscription.UniSubscription; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class UniInterceptorTest { @AfterEach diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiCreateFromTimePeriodTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiCreateFromTimePeriodTest.java index 20710bcc1..0d2aa68f3 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiCreateFromTimePeriodTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiCreateFromTimePeriodTest.java @@ -12,11 +12,15 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.subscription.BackPressureFailure; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiCreateFromTimePeriodTest { private ScheduledExecutorService executor; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiDistinctTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiDistinctTest.java index 77b675113..a91b29f0b 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiDistinctTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiDistinctTest.java @@ -13,6 +13,8 @@ import java.util.function.Consumer; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -22,8 +24,10 @@ import io.smallrye.mutiny.helpers.spies.Spy; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.subscription.MultiEmitter; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiDistinctTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiGroupTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiGroupTest.java index 819626a5d..aa6ab13bb 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiGroupTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiGroupTest.java @@ -18,6 +18,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -33,7 +35,9 @@ import io.smallrye.mutiny.subscription.MultiEmitter; import io.smallrye.mutiny.subscription.MultiSubscriber; import io.smallrye.mutiny.test.Mocks; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class MultiGroupTest { @AfterEach diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiIfNoItemTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiIfNoItemTest.java index 0bb309c1d..d395808c7 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiIfNoItemTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiIfNoItemTest.java @@ -12,13 +12,17 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.TestException; import io.smallrye.mutiny.TimeoutException; import io.smallrye.mutiny.helpers.ParameterValidation; import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiIfNoItemTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureInvokeTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureInvokeTest.java index e962216db..0ee9c99d1 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureInvokeTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureInvokeTest.java @@ -15,13 +15,17 @@ import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.CompositeException; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiOnFailureInvokeTest { public static final IOException BOOM = new IOException("boom"); diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryTest.java index 5f0116f0e..043390393 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryTest.java @@ -10,11 +10,15 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.groups.MultiRetry; import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiOnFailureRetryTest { private AtomicInteger numberOfSubscriptions; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryWhenTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryWhenTest.java index df06f4f0c..9111a6c4a 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryWhenTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnFailureRetryWhenTest.java @@ -12,13 +12,17 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.operators.multi.MultiRetryWhenOp; import io.smallrye.mutiny.tuples.Tuple2; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiOnFailureRetryWhenTest { private AtomicInteger numberOfSubscriptions; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnOverflowTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnOverflowTest.java index 653e2604f..eca8b213a 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnOverflowTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnOverflowTest.java @@ -16,6 +16,8 @@ import java.util.function.Supplier; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscription; import io.smallrye.mutiny.Multi; @@ -27,7 +29,9 @@ import io.smallrye.mutiny.subscription.BackPressureFailure; import io.smallrye.mutiny.subscription.MultiEmitter; import io.smallrye.mutiny.subscription.MultiSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiOnOverflowTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnSubscribeTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnSubscribeTest.java index ac48491f7..aea08faf5 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnSubscribeTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiOnSubscribeTest.java @@ -15,6 +15,8 @@ import java.util.function.Function; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscription; import io.smallrye.mutiny.Multi; @@ -24,7 +26,9 @@ import io.smallrye.mutiny.operators.multi.MultiOnSubscribeCall; import io.smallrye.mutiny.operators.multi.MultiOnSubscribeInvokeOp; import io.smallrye.mutiny.subscription.UniEmitter; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiOnSubscribeTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSelectFirstOrLastTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSelectFirstOrLastTest.java index 52f215aa3..5e4df9ed6 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSelectFirstOrLastTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSelectFirstOrLastTest.java @@ -16,6 +16,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -25,7 +27,9 @@ import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.subscription.MultiEmitter; import io.smallrye.mutiny.subscription.MultiSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiSelectFirstOrLastTest { private AtomicInteger counter; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSkipTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSkipTest.java index 280e8d55a..ceb140d66 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSkipTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSkipTest.java @@ -13,6 +13,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.TestException; @@ -20,12 +22,15 @@ import io.smallrye.mutiny.infrastructure.Infrastructure; import io.smallrye.mutiny.operators.multi.MultiSkipUntilOtherOp; import io.smallrye.mutiny.subscription.MultiEmitter; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class MultiSkipTest { @AfterEach public void cleanup() { Infrastructure.clearInterceptors(); + Infrastructure.resetDroppedExceptionHandler(); } @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSubscribeTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSubscribeTest.java index e18582281..b6cb7afdb 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSubscribeTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiSubscribeTest.java @@ -12,11 +12,15 @@ import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.subscription.Cancellable; import io.smallrye.mutiny.subscription.MultiEmitter; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiSubscribeTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTakeTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTakeTest.java index ace0e7b32..35a12d835 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTakeTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTakeTest.java @@ -11,14 +11,18 @@ import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.TestException; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.subscription.MultiEmitter; import io.smallrye.mutiny.subscription.MultiSubscriber; +import junit5.support.InfrastructureResource; @SuppressWarnings("deprecation") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiTakeTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTransformToMultiTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTransformToMultiTest.java index 59e105ea3..5d20d7661 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTransformToMultiTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/MultiTransformToMultiTest.java @@ -20,6 +20,8 @@ import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscriber; import io.smallrye.mutiny.CompositeException; @@ -31,7 +33,9 @@ import io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor; import io.smallrye.mutiny.operators.multi.processors.UnicastProcessor; import io.smallrye.mutiny.test.Mocks; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiTransformToMultiTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniAwaitTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniAwaitTest.java index b9e72cca8..4b09c49dc 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniAwaitTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniAwaitTest.java @@ -14,10 +14,13 @@ import org.junit.jupiter.api.Nested; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.TimeoutException; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.infrastructure.Infrastructure; +import junit5.support.InfrastructureResource; public class UniAwaitTest { @@ -150,6 +153,7 @@ public void testInvalidDurations() { } @Nested + @ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) class ThreadBlockingTest { @BeforeEach diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniCreateFromFutureTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniCreateFromFutureTest.java index 563aa2aa7..ad4717307 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniCreateFromFutureTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniCreateFromFutureTest.java @@ -12,11 +12,15 @@ import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniCreateFromFutureTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniIfNoItemTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniIfNoItemTest.java index 72a2dd280..1ee3b6a3b 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniIfNoItemTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniIfNoItemTest.java @@ -11,12 +11,16 @@ import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.TestException; import io.smallrye.mutiny.TimeoutException; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniIfNoItemTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnEventTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnEventTest.java index 60ed1dfc7..9f2d7e6e5 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnEventTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnEventTest.java @@ -12,13 +12,17 @@ import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscription; import io.smallrye.mutiny.CompositeException; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnEventTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnFailureRetryTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnFailureRetryTest.java index 488393322..c4ab500e9 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnFailureRetryTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnFailureRetryTest.java @@ -6,10 +6,14 @@ import java.util.concurrent.atomic.AtomicInteger; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnFailureRetryTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayTest.java index cfcbae3e4..b1febc02b 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayTest.java @@ -13,10 +13,14 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnItemDelayTest { private ScheduledExecutorService executor; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayUntilTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayUntilTest.java index 579d5e94b..e38723b1c 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayUntilTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemDelayUntilTest.java @@ -14,11 +14,15 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; import io.smallrye.mutiny.subscription.UniEmitter; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnItemDelayUntilTest { private ScheduledExecutorService executor; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemOrFailureFlatMapTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemOrFailureFlatMapTest.java index 7fceb18bb..7eaca6b7c 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemOrFailureFlatMapTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnItemOrFailureFlatMapTest.java @@ -10,14 +10,18 @@ import java.util.concurrent.atomic.AtomicInteger; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.CompositeException; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; import io.smallrye.mutiny.subscription.UniEmitter; import io.smallrye.mutiny.tuples.Functions; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnItemOrFailureFlatMapTest { private final Uni one = Uni.createFrom().item(1); diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnSubscribeTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnSubscribeTest.java index d7e6fb2f9..e245ee16e 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnSubscribeTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnSubscribeTest.java @@ -13,6 +13,8 @@ import java.util.function.Function; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; @@ -20,7 +22,9 @@ import io.smallrye.mutiny.operators.uni.UniOnSubscribeCall; import io.smallrye.mutiny.subscription.UniEmitter; import io.smallrye.mutiny.subscription.UniSubscription; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnSubscribeTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnTerminationTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnTerminationTest.java index 0406ee0bd..eedab531c 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnTerminationTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOnTerminationTest.java @@ -8,14 +8,18 @@ import java.util.concurrent.atomic.AtomicReference; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.CompositeException; import io.smallrye.mutiny.TestException; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniOnTerminationTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOrTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOrTest.java index 467ca66c9..b86458c06 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniOrTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniOrTest.java @@ -14,10 +14,14 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class UniOrTest { private ScheduledExecutorService executor; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniRepeatTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniRepeatTest.java index 1010178ef..654b7dc16 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniRepeatTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniRepeatTest.java @@ -15,6 +15,8 @@ import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscriber; import io.smallrye.mutiny.Multi; @@ -22,7 +24,9 @@ import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; import io.smallrye.mutiny.test.Mocks; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniRepeatTest { @RepeatedTest(10) diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniRunSubscriptionOnTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniRunSubscriptionOnTest.java index 06fb8b403..e30c48f14 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniRunSubscriptionOnTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniRunSubscriptionOnTest.java @@ -10,12 +10,16 @@ import java.util.concurrent.atomic.AtomicInteger; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; import io.smallrye.mutiny.subscription.UniSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniRunSubscriptionOnTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniSerializedSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniSerializedSubscriberTest.java index ef818a27a..e5219eff8 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniSerializedSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniSerializedSubscriberTest.java @@ -16,6 +16,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.CompositeException; import io.smallrye.mutiny.Uni; @@ -25,7 +27,9 @@ import io.smallrye.mutiny.subscription.UniSerializedSubscriber; import io.smallrye.mutiny.subscription.UniSubscriber; import io.smallrye.mutiny.subscription.UniSubscription; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class UniSerializedSubscriberTest { @AfterEach diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/UniSubscribeAsCompletionStageTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/UniSubscribeAsCompletionStageTest.java index 38b5e8e2f..5c9b32900 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/UniSubscribeAsCompletionStageTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/UniSubscribeAsCompletionStageTest.java @@ -14,9 +14,13 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Uni; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class UniSubscribeAsCompletionStageTest { private ScheduledExecutorService executor; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/MultiToHotStreamTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/MultiToHotStreamTest.java index 8576cb92b..3cff27f80 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/MultiToHotStreamTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/MultiToHotStreamTest.java @@ -7,13 +7,17 @@ import java.util.List; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.operators.multi.processors.BroadcastProcessor; import io.smallrye.mutiny.operators.multi.processors.UnicastProcessor; import io.smallrye.mutiny.subscription.BackPressureFailure; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiToHotStreamTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromIterableTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromIterableTest.java index e1f884116..248048aac 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromIterableTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromIterableTest.java @@ -15,6 +15,8 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.mockito.Mockito; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -24,7 +26,9 @@ import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; import io.smallrye.mutiny.test.Mocks; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiFromIterableTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceFromUniTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceFromUniTest.java index 60001bbd9..cd6612e55 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceFromUniTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceFromUniTest.java @@ -16,6 +16,8 @@ import java.util.function.Supplier; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Publisher; import io.smallrye.mutiny.CompositeException; @@ -24,8 +26,10 @@ import io.smallrye.mutiny.helpers.spies.Spy; import io.smallrye.mutiny.helpers.spies.UniOnCancellationSpy; import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiFromResourceFromUniTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceTest.java index 180a90966..d608e0feb 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/builders/MultiFromResourceTest.java @@ -16,13 +16,17 @@ import java.util.function.Supplier; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Publisher; import io.smallrye.mutiny.CompositeException; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.AssertSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiFromResourceTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/multicast/MultiReferenceCountSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/multicast/MultiReferenceCountSubscriberTest.java index f13c52a01..9e503d2a7 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/multicast/MultiReferenceCountSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/multicast/MultiReferenceCountSubscriberTest.java @@ -5,13 +5,17 @@ import java.io.IOException; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscription; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.operators.AbstractMulti; import io.smallrye.mutiny.subscription.MultiSubscriber; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) class MultiReferenceCountSubscriberTest { @Test diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/processors/BroadcastProcessorTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/processors/BroadcastProcessorTest.java index 54e35eae1..6d351e69c 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/multi/processors/BroadcastProcessorTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/multi/processors/BroadcastProcessorTest.java @@ -15,11 +15,15 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.subscription.BackPressureFailure; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class BroadcastProcessorTest { private ExecutorService executor; diff --git a/implementation/src/test/java/io/smallrye/mutiny/operators/uni/UniAndMultiLoggerTest.java b/implementation/src/test/java/io/smallrye/mutiny/operators/uni/UniAndMultiLoggerTest.java index 2f824fe65..16b73625b 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/operators/uni/UniAndMultiLoggerTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/operators/uni/UniAndMultiLoggerTest.java @@ -9,13 +9,17 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.helpers.test.UniAssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) class UniAndMultiLoggerTest { private static final PrintStream systemOut = System.out; diff --git a/implementation/src/test/java/io/smallrye/mutiny/subscription/CallbackBasedSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/subscription/CallbackBasedSubscriberTest.java index 0ab2faa1f..ce271e610 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/subscription/CallbackBasedSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/subscription/CallbackBasedSubscriberTest.java @@ -8,13 +8,17 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Subscription; import io.smallrye.mutiny.CompositeException; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.infrastructure.Infrastructure; +import junit5.support.InfrastructureResource; @SuppressWarnings("ConstantConditions") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class CallbackBasedSubscriberTest { @AfterEach diff --git a/implementation/src/test/java/io/smallrye/mutiny/subscription/SafeSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/subscription/SafeSubscriberTest.java index c39b5c0ff..0bd1a20ad 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/subscription/SafeSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/subscription/SafeSubscriberTest.java @@ -10,6 +10,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.mockito.internal.stubbing.answers.ThrowsException; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -19,8 +21,10 @@ import io.smallrye.mutiny.helpers.Subscriptions; import io.smallrye.mutiny.infrastructure.Infrastructure; import io.smallrye.mutiny.test.Mocks; +import junit5.support.InfrastructureResource; @SuppressWarnings("unchecked") +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class SafeSubscriberTest { @AfterEach diff --git a/implementation/src/test/java/io/smallrye/mutiny/subscription/SerializedSubscriberTest.java b/implementation/src/test/java/io/smallrye/mutiny/subscription/SerializedSubscriberTest.java index 4473887a8..3b55039c4 100644 --- a/implementation/src/test/java/io/smallrye/mutiny/subscription/SerializedSubscriberTest.java +++ b/implementation/src/test/java/io/smallrye/mutiny/subscription/SerializedSubscriberTest.java @@ -15,6 +15,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.RepeatedTest; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Publisher; import org.reactivestreams.Subscriber; import org.reactivestreams.Subscription; @@ -23,7 +25,9 @@ import io.smallrye.mutiny.helpers.test.AssertSubscriber; import io.smallrye.mutiny.infrastructure.Infrastructure; import io.smallrye.mutiny.test.Mocks; +import junit5.support.InfrastructureResource; +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ_WRITE) public class SerializedSubscriberTest { Subscriber subscriber; diff --git a/implementation/src/test/java/junit5/support/InfrastructureResource.java b/implementation/src/test/java/junit5/support/InfrastructureResource.java new file mode 100644 index 000000000..0877f58ca --- /dev/null +++ b/implementation/src/test/java/junit5/support/InfrastructureResource.java @@ -0,0 +1,6 @@ +package junit5.support; + +public class InfrastructureResource { + + public static final String NAME = "mutiny-infrastructure"; +} diff --git a/implementation/src/test/java/tck/MultiLoggerTckTest.java b/implementation/src/test/java/tck/MultiLoggerTckTest.java index 2b5705229..a3e82e26e 100644 --- a/implementation/src/test/java/tck/MultiLoggerTckTest.java +++ b/implementation/src/test/java/tck/MultiLoggerTckTest.java @@ -1,7 +1,12 @@ package tck; +import org.junit.jupiter.api.parallel.ResourceAccessMode; +import org.junit.jupiter.api.parallel.ResourceLock; import org.reactivestreams.Publisher; +import junit5.support.InfrastructureResource; + +@ResourceLock(value = InfrastructureResource.NAME, mode = ResourceAccessMode.READ) public class MultiLoggerTckTest extends AbstractPublisherTck { @Override