diff options
author | Yuriy Solodkyy <solodkyy@google.com> | 2022-06-01 11:38:10 +0100 |
---|---|---|
committer | Yuriy Solodkyy <solodkyy@google.com> | 2022-06-01 13:16:55 +0000 |
commit | 4846c73c96d94acf1a85f26d4ceb6a6a168fa345 (patch) | |
tree | 12d75dd73f7ab698354790c325e58839ebdd083b /android-test-framework | |
parent | 9b243f800fad007950666f9f64a5f29a40de46cb (diff) | |
download | idea-4846c73c96d94acf1a85f26d4ceb6a6a168fa345.tar.gz |
Process events when sync ends in tests
Events scheduled by sync often as a result of refreshing the file system
may keep references to various objects and trigger leak hunter errors.
Bug: 233899186
Test: n/a
Change-Id: I3f97c8e3a6620b6d9a7f85d63d9a4938690a4a49
Diffstat (limited to 'android-test-framework')
-rw-r--r-- | android-test-framework/testSrc/com/android/tools/idea/testing/AndroidGradleTests.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/android-test-framework/testSrc/com/android/tools/idea/testing/AndroidGradleTests.java b/android-test-framework/testSrc/com/android/tools/idea/testing/AndroidGradleTests.java index 417ddc11eff..7400130f116 100644 --- a/android-test-framework/testSrc/com/android/tools/idea/testing/AndroidGradleTests.java +++ b/android-test-framework/testSrc/com/android/tools/idea/testing/AndroidGradleTests.java @@ -30,6 +30,7 @@ import static com.android.tools.idea.testing.FileSubject.file; import static com.google.common.truth.Truth.assertAbout; import static com.google.common.truth.Truth.assertThat; import static com.intellij.ide.impl.NewProjectUtil.applyJdkToProject; +import static com.intellij.openapi.application.ActionsKt.invokeAndWaitIfNeeded; import static com.intellij.openapi.application.ActionsKt.runWriteAction; import static com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction; import static com.intellij.openapi.projectRoots.JavaSdkVersion.JDK_1_8; @@ -63,6 +64,8 @@ import com.google.common.base.Strings; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.intellij.openapi.Disposable; +import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.application.WriteAction; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.externalSystem.service.project.manage.SourceFolderManager; @@ -94,6 +97,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; import junit.framework.TestCase; +import kotlin.Unit; import org.jetbrains.android.AndroidTestBase; import org.jetbrains.android.facet.AndroidFacet; import org.jetbrains.annotations.NotNull; @@ -634,6 +638,10 @@ public class AndroidGradleTests { TestGradleSyncListener syncListener = new TestGradleSyncListener(); GradleSyncInvoker.getInstance().requestProjectSync(project, request, syncListener); syncListener.await(); + invokeAndWaitIfNeeded(null, () -> { + PlatformTestUtil.dispatchAllEventsInIdeEventQueue(); + return Unit.INSTANCE; + }); return syncListener; } |