--- jsr166/src/test/tck/SubmissionPublisherTest.java 2017/11/27 01:19:51 1.24 +++ jsr166/src/test/tck/SubmissionPublisherTest.java 2021/01/26 13:33:06 1.31 @@ -334,9 +334,7 @@ public class SubmissionPublisherTest ext TestSubscriber s = new TestSubscriber(); SubmissionPublisher p = basicPublisher(); s.throwOnCall = true; - try { - p.subscribe(s); - } catch (Exception ok) {} + p.subscribe(s); s.awaitError(); assertEquals(0, s.nexts); assertEquals(1, s.errors); @@ -404,7 +402,7 @@ public class SubmissionPublisherTest ext */ public void testCancel() { SubmissionPublisher p = - new SubmissionPublisher(basicExecutor, 4); // must be < 20 + new SubmissionPublisher<>(basicExecutor, 4); // must be < 20 TestSubscriber s1 = new TestSubscriber(); TestSubscriber s2 = new TestSubscriber(); p.subscribe(s1); @@ -657,7 +655,7 @@ public class SubmissionPublisherTest ext return false; } - static boolean reqHandle(AtomicInteger count, Subscriber s) { + static boolean reqHandle(AtomicInteger count, Subscriber s) { count.getAndIncrement(); ((TestSubscriber)s).sn.request(Long.MAX_VALUE); return true; @@ -960,7 +958,7 @@ public class SubmissionPublisherTest ext public void testConsumeNPE() { SubmissionPublisher p = basicPublisher(); try { - CompletableFuture f = p.consume(null); + CompletableFuture unused = p.consume(null); shouldThrow(); } catch (NullPointerException success) {} } @@ -985,7 +983,12 @@ public class SubmissionPublisherTest ext * cvs update -D '2017-11-25' src/main/java/util/concurrent/SubmissionPublisher.java && ant -Djsr166.expensiveTests=true -Djsr166.tckTestClass=SubmissionPublisherTest -Djsr166.methodFilter=testMissedSignal tck; cvs update -A src/main/java/util/concurrent/SubmissionPublisher.java */ public void testMissedSignal_8187947() throws Exception { - final int N = expensiveTests ? (1 << 20) : (1 << 10); + if (!atLeastJava9()) return; // backport to jdk8 too hard + final int N = + ((ForkJoinPool.getCommonPoolParallelism() < 2) // JDK-8212899 + ? (1 << 5) + : (1 << 10)) + * (expensiveTests ? (1 << 10) : 1); final CountDownLatch finished = new CountDownLatch(1); final SubmissionPublisher pub = new SubmissionPublisher<>(); class Sub implements Subscriber { @@ -1003,7 +1006,9 @@ public class SubmissionPublisherTest ext public void onComplete() {} } pub.subscribe(new Sub()); - CompletableFuture.runAsync(() -> pub.submit(Boolean.TRUE)); + checkTimedGet( + CompletableFuture.runAsync(() -> pub.submit(Boolean.TRUE)), + null); await(finished); } }