Fix leaked thread for AbstractScriptConfigurationTest
This commit is contained in:
@@ -75,6 +75,8 @@ class ScriptDependenciesUpdater(
|
|||||||
if (file.fileType != KotlinFileType.INSTANCE) return
|
if (file.fileType != KotlinFileType.INSTANCE) return
|
||||||
val ktFile = PsiManager.getInstance(project).findFile(file) as? KtFile ?: return
|
val ktFile = PsiManager.getInstance(project).findFile(file) as? KtFile ?: return
|
||||||
|
|
||||||
|
if (ApplicationManager.getApplication().isUnitTestMode && ApplicationManager.getApplication().isScriptDependenciesUpdaterDisabled == true) return
|
||||||
|
|
||||||
val scriptDef = findScriptDefinition(ktFile) ?: return
|
val scriptDef = findScriptDefinition(ktFile) ?: return
|
||||||
|
|
||||||
if (!ScriptDefinitionsManager.getInstance(project).isInExpectedLocation(ktFile, scriptDef)) return
|
if (!ScriptDefinitionsManager.getInstance(project).isInExpectedLocation(ktFile, scriptDef)) return
|
||||||
|
|||||||
@@ -84,16 +84,6 @@ abstract class AbstractScriptConfigurationHighlightingTest : AbstractScriptConfi
|
|||||||
updateScriptDependenciesSynchronously(myFile.virtualFile, project)
|
updateScriptDependenciesSynchronously(myFile.virtualFile, project)
|
||||||
checkHighlighting(editor, false, false)
|
checkHighlighting(editor, false, false)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun setUp() {
|
|
||||||
super.setUp()
|
|
||||||
ApplicationManager.getApplication().isScriptDependenciesUpdaterDisabled = true
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun tearDown() {
|
|
||||||
ApplicationManager.getApplication().isScriptDependenciesUpdaterDisabled = false
|
|
||||||
super.tearDown()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
abstract class AbstractScriptConfigurationNavigationTest : AbstractScriptConfigurationTest() {
|
abstract class AbstractScriptConfigurationNavigationTest : AbstractScriptConfigurationTest() {
|
||||||
@@ -188,6 +178,16 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
|||||||
createFileAndSyncDependencies(mainScriptFile)
|
createFileAndSyncDependencies(mainScriptFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun setUp() {
|
||||||
|
super.setUp()
|
||||||
|
ApplicationManager.getApplication().isScriptDependenciesUpdaterDisabled = true
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun tearDown() {
|
||||||
|
ApplicationManager.getApplication().isScriptDependenciesUpdaterDisabled = false
|
||||||
|
super.tearDown()
|
||||||
|
}
|
||||||
|
|
||||||
private fun createTestModuleByName(name: String): Module {
|
private fun createTestModuleByName(name: String): Module {
|
||||||
val newModuleDir = runWriteAction { VfsUtil.createDirectoryIfMissing(project.baseDir, name) }
|
val newModuleDir = runWriteAction { VfsUtil.createDirectoryIfMissing(project.baseDir, name) }
|
||||||
val newModule = createModuleAtWrapper(name, project, JavaModuleType.getModuleType(), newModuleDir.path)
|
val newModule = createModuleAtWrapper(name, project, JavaModuleType.getModuleType(), newModuleDir.path)
|
||||||
@@ -267,10 +267,11 @@ abstract class AbstractScriptConfigurationTest : KotlinCompletionTestCase() {
|
|||||||
script = LocalFileSystem.getInstance().findFileByPath(target.path)
|
script = LocalFileSystem.getInstance().findFileByPath(target.path)
|
||||||
}
|
}
|
||||||
|
|
||||||
assert(script != null)
|
if (script == null) error("Test file with script couldn't be found in test project")
|
||||||
configureByExistingFile(script!!)
|
|
||||||
|
|
||||||
|
configureByExistingFile(script)
|
||||||
updateScriptDependenciesSynchronously(script, project)
|
updateScriptDependenciesSynchronously(script, project)
|
||||||
|
|
||||||
VfsUtil.markDirtyAndRefresh(false, true, true, project.baseDir)
|
VfsUtil.markDirtyAndRefresh(false, true, true, project.baseDir)
|
||||||
// This is needed because updateScriptDependencies invalidates psiFile that was stored in myFile field
|
// This is needed because updateScriptDependencies invalidates psiFile that was stored in myFile field
|
||||||
myFile = psiManager.findFile(script)
|
myFile = psiManager.findFile(script)
|
||||||
|
|||||||
Reference in New Issue
Block a user