Fix sdk duplication in ProjectSdkTable in tests
This commit is contained in:
committed by
Sergey Rostov
parent
72aba2fce2
commit
5212054af6
@@ -26,6 +26,7 @@ import org.jetbrains.kotlin.idea.caches.project.ModuleTestSourceInfo
|
||||
import org.jetbrains.kotlin.idea.framework.CommonLibraryKind
|
||||
import org.jetbrains.kotlin.idea.framework.JSLibraryKind
|
||||
import org.jetbrains.kotlin.idea.framework.platform
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
||||
import org.jetbrains.kotlin.idea.util.application.runWriteAction
|
||||
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||
@@ -349,10 +350,8 @@ class IdeaModuleInfoTest : ModuleTestCase() {
|
||||
fun testSdkForScript() {
|
||||
// The first known jdk will be used for scripting if there is no jdk in the project
|
||||
runWriteAction {
|
||||
val jdkTable = getProjectJdkTableSafe()
|
||||
|
||||
jdkTable.addJdk(mockJdk6())
|
||||
jdkTable.addJdk(mockJdk9())
|
||||
addJdk(testRootDisposable, ::mockJdk6)
|
||||
addJdk(testRootDisposable, ::mockJdk9)
|
||||
|
||||
ProjectRootManager.getInstance(project).projectSdk = null
|
||||
}
|
||||
@@ -366,10 +365,8 @@ class IdeaModuleInfoTest : ModuleTestCase() {
|
||||
|
||||
fun testSdkForScriptProjectSdk() {
|
||||
runWriteAction {
|
||||
val jdkTable = getProjectJdkTableSafe()
|
||||
|
||||
jdkTable.addJdk(mockJdk6())
|
||||
jdkTable.addJdk(mockJdk9())
|
||||
addJdk(testRootDisposable, ::mockJdk6)
|
||||
addJdk(testRootDisposable, ::mockJdk9)
|
||||
|
||||
ProjectRootManager.getInstance(project).projectSdk = mockJdk9()
|
||||
}
|
||||
@@ -383,10 +380,8 @@ class IdeaModuleInfoTest : ModuleTestCase() {
|
||||
val a = module("a")
|
||||
|
||||
runWriteAction {
|
||||
val jdkTable = getProjectJdkTableSafe()
|
||||
|
||||
jdkTable.addJdk(mockJdk6())
|
||||
jdkTable.addJdk(mockJdk9())
|
||||
addJdk(testRootDisposable, ::mockJdk6)
|
||||
addJdk(testRootDisposable, ::mockJdk9)
|
||||
|
||||
ProjectRootManager.getInstance(project).projectSdk = mockJdk6()
|
||||
with(ModuleRootManager.getInstance(a).modifiableModel) {
|
||||
@@ -493,8 +488,6 @@ class IdeaModuleInfoTest : ModuleTestCase() {
|
||||
}
|
||||
|
||||
override fun tearDown() {
|
||||
clearSdkTable(testRootDisposable)
|
||||
|
||||
VfsRootAccess.disallowRootAccess(KotlinTestUtils.getHomeDirectory())
|
||||
|
||||
super.tearDown()
|
||||
|
||||
@@ -21,6 +21,7 @@ import junit.framework.TestCase
|
||||
import org.jetbrains.kotlin.idea.configuration.KotlinWithLibraryConfigurator.FileState
|
||||
import org.jetbrains.kotlin.idea.framework.KotlinSdkType
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase
|
||||
import org.jetbrains.kotlin.idea.test.PluginTestCaseBase.*
|
||||
import org.jetbrains.kotlin.idea.util.getProjectJdkTableSafe
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.isIgnoredInDatabaseWithLog
|
||||
@@ -47,18 +48,14 @@ abstract class AbstractConfigureKotlinTest : PlatformTestCase() {
|
||||
override fun initApplication() {
|
||||
super.initApplication()
|
||||
|
||||
KotlinSdkType.setUpIfNeeded()
|
||||
KotlinSdkType.setUpIfNeeded(testRootDisposable)
|
||||
|
||||
ApplicationManager.getApplication().runWriteAction {
|
||||
val jdkTable = getProjectJdkTableSafe()
|
||||
|
||||
jdkTable.addJdk(PluginTestCaseBase.mockJdk6())
|
||||
jdkTable.addJdk(PluginTestCaseBase.mockJdk8())
|
||||
jdkTable.addJdk(PluginTestCaseBase.mockJdk9())
|
||||
addJdk(testRootDisposable, ::mockJdk6)
|
||||
addJdk(testRootDisposable, ::mockJdk8)
|
||||
addJdk(testRootDisposable, ::mockJdk9)
|
||||
}
|
||||
|
||||
PluginTestCaseBase.clearSdkTable(testRootDisposable)
|
||||
|
||||
val tempLibDir = FileUtil.createTempDirectory("temp", null)
|
||||
PathMacros.getInstance().setMacro(TEMP_DIR_MACRO_KEY, FileUtilRt.toSystemDependentName(tempLibDir.absolutePath))
|
||||
}
|
||||
|
||||
@@ -77,12 +77,11 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
||||
}
|
||||
|
||||
private val sdk by lazy {
|
||||
val jdk = PluginTestCaseBase.jdk(TestJdkKind.MOCK_JDK)
|
||||
runWriteAction {
|
||||
getProjectJdkTableSafe().addJdk(jdk, testRootDisposable)
|
||||
ProjectRootManager.getInstance(project).projectSdk = jdk
|
||||
val sdk = PluginTestCaseBase.addJdk(testRootDisposable) { PluginTestCaseBase.jdk(TestJdkKind.MOCK_JDK) }
|
||||
ProjectRootManager.getInstance(project).projectSdk = sdk
|
||||
sdk
|
||||
}
|
||||
jdk
|
||||
}
|
||||
|
||||
protected fun configureScriptFile(path: String) {
|
||||
@@ -225,10 +224,8 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
||||
else -> TestJdkKind.MOCK_JDK
|
||||
}
|
||||
runWriteAction {
|
||||
val jdk = PluginTestCaseBase.jdk(jdkKind)
|
||||
val projectJdkTable = getProjectJdkTableSafe()
|
||||
if (jdk !in projectJdkTable.allJdks) {
|
||||
projectJdkTable.addJdk(jdk, testRootDisposable)
|
||||
val jdk = PluginTestCaseBase.addJdk(testRootDisposable) {
|
||||
PluginTestCaseBase.jdk(jdkKind)
|
||||
}
|
||||
env["javaHome"] = File(jdk.homePath)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user