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)
This commit is contained in:
Alexander Dudinsky
2021-02-05 17:49:28 +03:00
parent 94e66acd54
commit 250040bab7
@@ -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)