From 2f6d6186c16d6458753192fc35ccd71eeb3cf0ab Mon Sep 17 00:00:00 2001 From: Stefan Haustein Date: Wed, 10 Jul 2024 07:04:23 -0700 Subject: [PATCH] Switch FutureCallbackTest to an explicit monitor for j2kt compatibility. PiperOrigin-RevId: 651003834 --- .../util/concurrent/FutureCallbackTest.java | 30 ++++++++++++------- .../util/concurrent/FutureCallbackTest.java | 30 ++++++++++++------- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/android/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java b/android/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java index 2efdebec57b8..10604682ce2d 100644 --- a/android/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java +++ b/android/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java @@ -62,6 +62,7 @@ public void testCancel() { SettableFuture f = SettableFuture.create(); FutureCallback callback = new FutureCallback() { + private final Object monitor = new Object(); private boolean called = false; @Override @@ -70,10 +71,12 @@ public void onSuccess(String result) { } @Override - public synchronized void onFailure(Throwable t) { - assertFalse(called); - assertThat(t).isInstanceOf(CancellationException.class); - called = true; + public void onFailure(Throwable t) { + synchronized (monitor) { + assertFalse(called); + assertThat(t).isInstanceOf(CancellationException.class); + called = true; + } } }; addCallback(f, callback, directExecutor()); @@ -180,6 +183,7 @@ private final class MockCallback implements FutureCallback { @Nullable private String value = null; @Nullable private Throwable failure = null; private boolean wasCalled = false; + private final Object monitor = new Object(); MockCallback(String expectedValue) { this.value = expectedValue; @@ -190,17 +194,21 @@ public MockCallback(Throwable expectedFailure) { } @Override - public synchronized void onSuccess(String result) { - assertFalse(wasCalled); - wasCalled = true; - assertEquals(value, result); + public void onSuccess(String result) { + synchronized (monitor) { + assertFalse(wasCalled); + wasCalled = true; + assertEquals(value, result); + } } @Override public synchronized void onFailure(Throwable t) { - assertFalse(wasCalled); - wasCalled = true; - assertEquals(failure, t); + synchronized (monitor) { + assertFalse(wasCalled); + wasCalled = true; + assertEquals(failure, t); + } } } } diff --git a/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java b/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java index 2efdebec57b8..10604682ce2d 100644 --- a/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java +++ b/guava-tests/test/com/google/common/util/concurrent/FutureCallbackTest.java @@ -62,6 +62,7 @@ public void testCancel() { SettableFuture f = SettableFuture.create(); FutureCallback callback = new FutureCallback() { + private final Object monitor = new Object(); private boolean called = false; @Override @@ -70,10 +71,12 @@ public void onSuccess(String result) { } @Override - public synchronized void onFailure(Throwable t) { - assertFalse(called); - assertThat(t).isInstanceOf(CancellationException.class); - called = true; + public void onFailure(Throwable t) { + synchronized (monitor) { + assertFalse(called); + assertThat(t).isInstanceOf(CancellationException.class); + called = true; + } } }; addCallback(f, callback, directExecutor()); @@ -180,6 +183,7 @@ private final class MockCallback implements FutureCallback { @Nullable private String value = null; @Nullable private Throwable failure = null; private boolean wasCalled = false; + private final Object monitor = new Object(); MockCallback(String expectedValue) { this.value = expectedValue; @@ -190,17 +194,21 @@ public MockCallback(Throwable expectedFailure) { } @Override - public synchronized void onSuccess(String result) { - assertFalse(wasCalled); - wasCalled = true; - assertEquals(value, result); + public void onSuccess(String result) { + synchronized (monitor) { + assertFalse(wasCalled); + wasCalled = true; + assertEquals(value, result); + } } @Override public synchronized void onFailure(Throwable t) { - assertFalse(wasCalled); - wasCalled = true; - assertEquals(failure, t); + synchronized (monitor) { + assertFalse(wasCalled); + wasCalled = true; + assertEquals(failure, t); + } } } }