[Test] Wrap Disposer.dispose calls in finally

- This ensures that disposables are disposed on test failure as well.

^KT-64099
This commit is contained in:
Marco Pennekamp
2023-12-05 21:05:49 +01:00
committed by Space Team
parent 76a4b32c1f
commit 5f6ffc55b8
2 changed files with 17 additions and 11 deletions
@@ -154,16 +154,20 @@ class FirResolveModularizedTotalKotlinTest : AbstractFrontendModularizedTest() {
override fun processModule(moduleData: ModuleData): ProcessorAction {
val disposable = Disposer.newDisposable("Disposable for ${FirResolveModularizedTotalKotlinTest::class.simpleName}.processModule")
val configuration = createDefaultConfiguration(moduleData)
configureLanguageVersionSettings(configuration, moduleData, LanguageVersion.fromVersionString(LANGUAGE_VERSION_K2)!!)
val environment = KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
PsiElementFinder.EP.getPoint(environment.project)
.unregisterExtension(JavaElementFinder::class.java)
try {
val configuration = createDefaultConfiguration(moduleData)
configureLanguageVersionSettings(configuration, moduleData, LanguageVersion.fromVersionString(LANGUAGE_VERSION_K2)!!)
val environment = KotlinCoreEnvironment.createForTests(disposable, configuration, EnvironmentConfigFiles.JVM_CONFIG_FILES)
runAnalysis(moduleData, environment)
PsiElementFinder.EP.getPoint(environment.project)
.unregisterExtension(JavaElementFinder::class.java)
runAnalysis(moduleData, environment)
} finally {
Disposer.dispose(disposable)
}
Disposer.dispose(disposable)
if (bench.hasFiles && FAIL_FAST) return ProcessorAction.STOP
return ProcessorAction.NEXT
}
@@ -123,11 +123,13 @@ class NonFirResolveModularizedTotalKotlinTest : AbstractFrontendModularizedTest(
override fun processModule(moduleData: ModuleData): ProcessorAction {
val disposable = Disposer.newDisposable("Disposable for ${NonFirResolveModularizedTotalKotlinTest::class.simpleName}.processModule")
val environment = configureAndSetupEnvironment(moduleData, disposable)
try {
val environment = configureAndSetupEnvironment(moduleData, disposable)
runAnalysis(environment)
} finally {
Disposer.dispose(disposable)
}
runAnalysis(environment)
Disposer.dispose(disposable)
return ProcessorAction.NEXT
}