summaryrefslogtreecommitdiffstats
path: root/container-disc
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-12-07 14:25:38 +0100
committerJon Marius Venstad <venstad@gmail.com>2020-12-07 14:25:38 +0100
commit1537295ff04345ad060ee1f395dbf2816fb695ce (patch)
tree7d41ff77e956aefb0e84aecf783c3bc9c85c3555 /container-disc
parentbdb102917700d9f698423b5a1d62ead8a06f5b5a (diff)
Make executor package visible for shutdown tests
Diffstat (limited to 'container-disc')
-rw-r--r--container-disc/src/main/java/com/yahoo/container/jdisc/component/Deconstructor.java2
-rw-r--r--container-disc/src/test/java/com/yahoo/container/jdisc/component/DeconstructorTest.java17
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);
}