diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-12-07 14:25:38 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-12-07 14:25:38 +0100 |
commit | 1537295ff04345ad060ee1f395dbf2816fb695ce (patch) | |
tree | 7d41ff77e956aefb0e84aecf783c3bc9c85c3555 | |
parent | bdb102917700d9f698423b5a1d62ead8a06f5b5a (diff) |
Make executor package visible for shutdown tests
-rw-r--r-- | container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java | 2 | ||||
-rw-r--r-- | container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java | 17 |
2 files changed, 9 insertions, 10 deletions
diff --git a/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java b/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java index ec7d255aa0a..0bb60c8aca8 100644 --- a/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java +++ b/container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java @@ -35,7 +35,7 @@ public class Deconstructor implements ComponentDeconstructor { private static final Logger log = Logger.getLogger(Deconstructor.class.getName()); - private final ScheduledExecutorService executor = + final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1, ThreadFactoryFactory.getThreadFactory("component-deconstructor")); private final Duration delay; diff --git a/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java b/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java index 6263bb4ecd5..9ae05f5c193 100644 --- a/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java +++ b/container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java @@ -10,6 +10,7 @@ import org.junit.Before; import org.junit.Test; import java.util.List; +import java.util.concurrent.TimeUnit; import static java.util.Collections.emptyList; import static java.util.Collections.singleton; @@ -31,17 +32,17 @@ public class DeconstructorTest { TestAbstractComponent abstractComponent = new TestAbstractComponent(); // Done by executor, so it takes some time even with a 0 delay. deconstructor.deconstruct(List.of(abstractComponent), emptyList()); - int cnt = 0; - while (! abstractComponent.destructed && (cnt++ < 12000)) { - Thread.sleep(10); - } + deconstructor.executor.shutdown(); + deconstructor.executor.awaitTermination(1, TimeUnit.MINUTES); assertTrue(abstractComponent.destructed); } @Test - public void require_provider_destructed() { + public void require_provider_destructed() throws InterruptedException { TestProvider provider = new TestProvider(); deconstructor.deconstruct(List.of(provider), emptyList()); + deconstructor.executor.shutdown(); + deconstructor.executor.awaitTermination(1, TimeUnit.MINUTES); assertTrue(provider.destructed); } @@ -57,10 +58,8 @@ public class DeconstructorTest { var bundle = new UninstallableMockBundle(); // Done by executor, so it takes some time even with a 0 delay. deconstructor.deconstruct(emptyList(), singleton(bundle)); - int cnt = 0; - while (! bundle.uninstalled && (cnt++ < 12000)) { - Thread.sleep(10); - } + deconstructor.executor.shutdown(); + deconstructor.executor.awaitTermination(1, TimeUnit.MINUTES); assertTrue(bundle.uninstalled); } |