8031113: TEST_BUG: java/nio/channels/AsynchronousChannelGroup/Basic.java fails intermittently
Reviewed-by: chegar
This commit is contained in:
parent
b64d8e7b03
commit
e21c1ec29b
@ -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 {
|
||||
|
@ -136,7 +136,7 @@ public class GroupOfOne {
|
||||
|
||||
// clean-up
|
||||
group.shutdown();
|
||||
boolean terminated = group.awaitTermination(5, TimeUnit.SECONDS);
|
||||
boolean terminated = group.awaitTermination(20, TimeUnit.SECONDS);
|
||||
if (!terminated)
|
||||
throw new RuntimeException("Group did not terminate");
|
||||
|
||||
|
@ -24,8 +24,6 @@
|
||||
/* @test
|
||||
* @bug 4607272 6842687
|
||||
* @summary Unit test for AsynchronousChannelGroup
|
||||
* @build Restart
|
||||
* @run main/othervm -XX:-UseVMInterruptibleIO Restart
|
||||
*/
|
||||
|
||||
import java.nio.channels.*;
|
||||
|
Loading…
x
Reference in New Issue
Block a user