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:
+5
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user