On Mon, 6 Jul 2026 15:43:29 GMT, Daniel Fuchs <[email protected]> wrote:
> I'd suggest adding the following scenario to
> `test/jdk/java/net/httpclient/whitebox/java.net.http/jdk/internal/net/http/common/MinimalFutureTest.java`:
>
> ```
> @Test
> public void testCancel() {
> AtomicInteger cancelCount = new AtomicInteger();
> AtomicBoolean cancelled = new AtomicBoolean();
> Cancelable cancelable = mayInterruptIfRunning -> {
> cancelCount.incrementAndGet();
> if (mayInterruptIfRunning) {
> cancelled.set(true);
> }
> return cancelled.get();
> };
> MinimalFuture<Object> future = new MinimalFuture<>(cancelable);
> CompletableFuture<?> dependent = future.copy().whenComplete((x,t) ->
> System.out.println("expected: " + t));
> assertTrue(dependent.cancel(false));
> assertTrue(dependent.isCancelled());
> assertFalse(future.isCancelled());
> assertFalse(cancelled.get());
> assertEquals(1, cancelCount.get());
> assertTrue(dependent.cancel(true));
> assertTrue(dependent.isCancelled());
> assertFalse(future.isCancelled());
> assertTrue(cancelled.get());
> assertEquals(2, cancelCount.get());
> }
> ```
added
-------------
PR Comment: https://git.openjdk.org/jdk/pull/31758#issuecomment-4895742711