Do not ever run JVM test handlers after previous errors

If there's a frontend error in a test, or bytecode generation crashed
with an exception, it makes no sense to run JVM test handlers such as
lambda inlining checker or D8 checker.
This commit is contained in:
Alexander Udalov
2021-02-24 19:59:02 +01:00
parent 27846f4532
commit b026de768d
3 changed files with 3 additions and 4 deletions
@@ -13,12 +13,11 @@ import org.jetbrains.kotlin.test.services.TestServices
abstract class JvmBinaryArtifactHandler( abstract class JvmBinaryArtifactHandler(
testServices: TestServices, testServices: TestServices,
failureDisablesNextSteps: Boolean = false, failureDisablesNextSteps: Boolean = false,
doNotRunIfThereWerePreviousFailures: Boolean = false
) : BinaryArtifactHandler<BinaryArtifacts.Jvm>( ) : BinaryArtifactHandler<BinaryArtifacts.Jvm>(
testServices, testServices,
ArtifactKinds.Jvm, ArtifactKinds.Jvm,
failureDisablesNextSteps, failureDisablesNextSteps,
doNotRunIfThereWerePreviousFailures doNotRunIfThereWerePreviousFailures = true,
) )
abstract class JsBinaryArtifactHandler( abstract class JsBinaryArtifactHandler(
@@ -14,7 +14,7 @@ import org.jetbrains.kotlin.test.model.BinaryArtifacts
import org.jetbrains.kotlin.test.model.TestModule import org.jetbrains.kotlin.test.model.TestModule
import org.jetbrains.kotlin.test.services.TestServices import org.jetbrains.kotlin.test.services.TestServices
class DxCheckerHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices, doNotRunIfThereWerePreviousFailures = true) { class DxCheckerHandler(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) {
override val directivesContainers: List<DirectivesContainer> override val directivesContainers: List<DirectivesContainer>
get() = listOf(CodegenTestDirectives) get() = listOf(CodegenTestDirectives)
@@ -28,7 +28,7 @@ import java.lang.reflect.Method
import java.net.URL import java.net.URL
import java.net.URLClassLoader import java.net.URLClassLoader
class JvmBoxRunner(testServices: TestServices) : JvmBinaryArtifactHandler(testServices, doNotRunIfThereWerePreviousFailures = true) { class JvmBoxRunner(testServices: TestServices) : JvmBinaryArtifactHandler(testServices) {
companion object { companion object {
private val BOX_IN_SEPARATE_PROCESS_PORT = System.getProperty("kotlin.test.box.in.separate.process.port") private val BOX_IN_SEPARATE_PROCESS_PORT = System.getProperty("kotlin.test.box.in.separate.process.port")
} }