[Test] Set static field with application to null after tests are completed
This commit is contained in:
+5
@@ -6,10 +6,12 @@
|
||||
package org.jetbrains.kotlin.test
|
||||
|
||||
import com.intellij.openapi.Disposable
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.util.Disposer
|
||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||
import org.junit.platform.launcher.TestExecutionListener
|
||||
import org.junit.platform.launcher.TestPlan
|
||||
import java.lang.reflect.Field
|
||||
|
||||
class ApplicationEnvironmentDisposer : TestExecutionListener {
|
||||
companion object {
|
||||
@@ -19,5 +21,8 @@ class ApplicationEnvironmentDisposer : TestExecutionListener {
|
||||
override fun testPlanExecutionFinished(testPlan: TestPlan) {
|
||||
KotlinCoreEnvironment.disposeApplicationEnvironment()
|
||||
Disposer.dispose(ROOT_DISPOSABLE)
|
||||
val ourApplicationField: Field = ApplicationManager::class.java.getDeclaredField("ourApplication")
|
||||
ourApplicationField.isAccessible = true
|
||||
ourApplicationField.set(null, null)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user