Bump d8 used in box tests to 2.1.75

This commit is contained in:
Dmitry Petrov
2021-03-10 11:34:10 +03:00
committed by TeamCityServer
parent 737fbe271f
commit 0cca07fa19
7 changed files with 53 additions and 33 deletions
@@ -6,6 +6,8 @@
package org.jetbrains.kotlin.test.backend.handlers
import org.jetbrains.kotlin.codegen.D8Checker
import org.jetbrains.kotlin.codegen.getClassFiles
import org.jetbrains.kotlin.generators.util.GeneratorsFileUtil
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_DEXING
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.RUN_DEX_CHECKER
@@ -13,6 +15,7 @@ import org.jetbrains.kotlin.test.directives.model.DirectivesContainer
import org.jetbrains.kotlin.test.model.BinaryArtifacts
import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.TestServices
import org.jetbrains.kotlin.test.services.jvm.compiledClassesManager
class DxCheckerHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) {
override val directivesContainers: List<DirectivesContainer>
@@ -20,12 +23,23 @@ class DxCheckerHandler(testServices: TestServices) : JvmBinaryArtifactHandler(te
override fun processModule(module: TestModule, info: BinaryArtifacts.Jvm) {
if (RUN_DEX_CHECKER !in module.directives || IGNORE_DEXING in module.directives) return
val reportProblems = module.targetBackend !in module.directives[CodegenTestDirectives.IGNORE_BACKEND]
val compiledClassesManager = testServices.compiledClassesManager
try {
D8Checker.check(info.classFileFactory)
} catch (e: Throwable) {
if (reportProblems) {
if (!GeneratorsFileUtil.isTeamCityBuild &&
module.targetBackend !in module.directives[CodegenTestDirectives.IGNORE_BACKEND]
) {
try {
val javaDir = compiledClassesManager.getCompiledJavaDirForModule(module)
if (javaDir != null) {
println("Compiled Java files: ${javaDir.absolutePath}")
}
val kotlinDir = compiledClassesManager.getCompiledKotlinDirForModule(module)
println("Compiled Kotlin files: ${kotlinDir.absolutePath}")
info.classFileFactory.getClassFiles().forEach {
println(" * ${it.relativePath}")
}
println(info.classFileFactory.createText())
} catch (_: Throwable) {
// In FIR we have factory which can't print bytecode