[Test] Properly dispose class loader for running BB tests

This commit is contained in:
Dmitriy Novozhilov
2021-01-11 12:48:58 +03:00
committed by TeamCityServer
parent e6fd74f368
commit 5329a6ce8e
@@ -43,20 +43,24 @@ class JvmBoxRunner(testServices: TestServices) : JvmBinaryArtifactHandler(testSe
val ktFiles = info.classFileFactory.inputFiles val ktFiles = info.classFileFactory.inputFiles
val reportProblems = module.targetBackend !in module.directives[CodegenTestDirectives.IGNORE_BACKEND] val reportProblems = module.targetBackend !in module.directives[CodegenTestDirectives.IGNORE_BACKEND]
val classLoader = createAndVerifyClassLoader(module, info.classFileFactory, reportProblems) val classLoader = createAndVerifyClassLoader(module, info.classFileFactory, reportProblems)
for (ktFile in ktFiles) { try {
val className = ktFile.getFacadeFqName() ?: continue for (ktFile in ktFiles) {
val clazz = classLoader.getGeneratedClass(className) val className = ktFile.getFacadeFqName() ?: continue
val method = clazz.getBoxMethodOrNull() ?: continue val clazz = classLoader.getGeneratedClass(className)
boxMethodFound = true val method = clazz.getBoxMethodOrNull() ?: continue
callBoxMethodAndCheckResultWithCleanup( boxMethodFound = true
info.classFileFactory, callBoxMethodAndCheckResultWithCleanup(
classLoader, info.classFileFactory,
clazz, classLoader,
method, clazz,
unexpectedBehaviour = false, method,
reportProblems = reportProblems unexpectedBehaviour = false,
) reportProblems = reportProblems
return )
return
}
} finally {
classLoader.dispose()
} }
} }