diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/application/impl/NonBlockingReadActionTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/application/impl/NonBlockingReadActionTest.java index cccf56e11e09..744b273cc0c0 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/application/impl/NonBlockingReadActionTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/application/impl/NonBlockingReadActionTest.java @@ -463,17 +463,22 @@ public class NonBlockingReadActionTest extends LightPlatformTestCase { for (int i = 0; i < 2; i++) { Disposable[] parents = {Disposer.newDisposable("1"), Disposer.newDisposable("2")}; Disposer.dispose(parents[i]); - NonBlockingReadAction nbra = ReadAction - .nonBlocking(() -> { - fail(); - return "a"; - }); - for (Disposable parent : parents) { - nbra = nbra.expireWith(parent); + try { + NonBlockingReadAction nbra = ReadAction + .nonBlocking(() -> { + fail(); + return "a"; + }); + for (Disposable parent : parents) { + nbra = nbra.expireWith(parent); + } + CancellablePromise promise = nbra.submit(AppExecutorUtil.getAppExecutorService()); + assertTrue(promise.isCancelled()); + assertNull(promise.get()); + } + finally { + Disposer.dispose(parents[1 - i]); } - CancellablePromise promise = nbra.submit(AppExecutorUtil.getAppExecutorService()); - assertTrue(promise.isCancelled()); - assertNull(promise.get()); } } }