diff options
Diffstat (limited to 'test/java/nio/channels/AsynchronousChannelGroup/Basic.java')
-rw-r--r-- | test/java/nio/channels/AsynchronousChannelGroup/Basic.java | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/test/java/nio/channels/AsynchronousChannelGroup/Basic.java b/test/java/nio/channels/AsynchronousChannelGroup/Basic.java index 8c6b5cb702..1c5da1309b 100644 --- a/test/java/nio/channels/AsynchronousChannelGroup/Basic.java +++ b/test/java/nio/channels/AsynchronousChannelGroup/Basic.java @@ -24,8 +24,6 @@ /* @test * @bug 4607272 * @summary Unit test for AsynchronousChannelGroup - * @build Basic - * @run main/othervm -XX:-UseVMInterruptibleIO Basic */ import java.nio.ByteBuffer; @@ -37,12 +35,9 @@ import java.io.IOException; public class Basic { static final Random rand = new Random(); - static final ThreadFactory threadFactory = new ThreadFactory() { - @Override - public Thread newThread(final Runnable r) { - return new Thread(r); - }}; - + static final ThreadFactory threadFactory = (Runnable r) -> { + return new Thread(r); + }; public static void main(String[] args) throws Exception { shutdownTests(); @@ -51,6 +46,12 @@ public class Basic { miscTests(); } + static void awaitTermination(AsynchronousChannelGroup group) throws InterruptedException { + boolean terminated = group.awaitTermination(20, TimeUnit.SECONDS); + if (!terminated) + throw new RuntimeException("Group should have terminated"); + } + static void testShutdownWithNoChannels(ExecutorService pool, AsynchronousChannelGroup group) throws Exception @@ -59,9 +60,7 @@ public class Basic { if (!group.isShutdown()) throw new RuntimeException("Group should be shutdown"); // group should terminate quickly - boolean terminated = group.awaitTermination(3, TimeUnit.SECONDS); - if (!terminated) - throw new RuntimeException("Group should have terminated"); + awaitTermination(group); if (pool != null && !pool.isTerminated()) throw new RuntimeException("Executor should have terminated"); } @@ -86,9 +85,7 @@ public class Basic { ch.close(); // group should terminate quickly - boolean terminated = group.awaitTermination(3, TimeUnit.SECONDS); - if (!terminated) - throw new RuntimeException("Group should have terminated"); + awaitTermination(group); if (pool != null && !pool.isTerminated()) throw new RuntimeException("Executor should have terminated"); } @@ -153,9 +150,8 @@ public class Basic { if (ch.isOpen()) throw new RuntimeException("Channel should be closed"); - boolean terminated = group.awaitTermination(3, TimeUnit.SECONDS); - if (!terminated) - throw new RuntimeException("Group should have terminated"); + awaitTermination(group); + if (pool != null && !pool.isTerminated()) throw new RuntimeException("Executor should have terminated"); } @@ -260,9 +256,7 @@ public class Basic { // close channel; group should terminate quickly ch.close(); listener.close(); - terminated = group.awaitTermination(3, TimeUnit.SECONDS); - if (!terminated) - throw new RuntimeException("Group should have terminated"); + awaitTermination(group); } static void miscTests() throws Exception { |