From 250040bab7248938d307d82467b73bc9faab1357 Mon Sep 17 00:00:00 2001 From: Alexander Dudinsky Date: Fri, 5 Feb 2021 17:49:28 +0300 Subject: [PATCH] Common fix GradleQuickFixTest and GradleUpdateConfigurationQuickFixTest Started as a result of postponed jdk dispose 71e7449 CodeInsightTestFixtureImpl assertPointersAreDisposed is invoked before actually removing pointers. com.intellij.openapi.util.TraceableDisposable$DisposalException: 1708093728 at com.intellij.openapi.util.TraceableDisposable.getStackTrace(TraceableDisposable.java:121) at com.intellij.openapi.vfs.impl.VirtualFilePointerTracker.assertPointersAreDisposed(VirtualFilePointerTracker.java:86) at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.lambda$tearDown$38(CodeInsightTestFixtureImpl.java:1281) at com.intellij.testFramework.RunAll.collectExceptions(RunAll.java:57) at com.intellij.testFramework.RunAll.runAll(RunAll.java:35) at com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl.tearDown(CodeInsightTestFixtureImpl.java:1234) at org.jetbrains.kotlin.idea.codeInsight.gradle.GradleQuickFixTest.tearDownFixtures(GradleQuickFixTest.kt:41) at org.jetbrains.kotlin.idea.codeInsight.gradle.ExternalSystemTestCase.lambda$null$5(ExternalSystemTestCase.java:185) --- .../idea/codeInsight/gradle/GradleImportingTestCase.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt index cdee509f01a..31e71f73240 100644 --- a/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt +++ b/idea/idea-gradle/tests/org/jetbrains/kotlin/idea/codeInsight/gradle/GradleImportingTestCase.kt @@ -15,6 +15,7 @@ */ package org.jetbrains.kotlin.idea.codeInsight.gradle +import com.intellij.openapi.Disposable import com.intellij.openapi.application.PathManager import com.intellij.openapi.application.Result import com.intellij.openapi.application.WriteAction @@ -36,6 +37,7 @@ import com.intellij.openapi.projectRoots.impl.SdkConfigurationUtil import com.intellij.openapi.roots.ProjectRootManager import com.intellij.openapi.ui.Messages import com.intellij.openapi.ui.TestDialog +import com.intellij.openapi.util.Disposer import com.intellij.openapi.util.io.FileUtil import com.intellij.openapi.vfs.LocalFileSystem import com.intellij.openapi.vfs.VirtualFile @@ -178,6 +180,9 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() { runWrite { Arrays.stream(ProjectJdkTable.getInstance().allJdks).forEach { jdk: Sdk -> (ProjectJdkTable.getInstance() as ProjectJdkTableImpl).removeTestJdk(jdk) + if (jdk is Disposable) { + Disposer.dispose((jdk as Disposable)) + } } for (sdk in removedSdks) { SdkConfigurationUtil.addSdk(sdk)