Introduce IGNORE_BACKEND_FIR_MULTI_MODULE directive
This commit is contained in:
committed by
Alexander Udalov
parent
571ba9298e
commit
5605463ecf
@@ -4,6 +4,7 @@
|
||||
// IGNORE_BACKEND: JVM, JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_IR, JVM_MULTI_MODULE_OLD_AGAINST_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
|
||||
interface Flow<T> {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// FULL_JDK
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// FULL_JDK
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// FULL_JDK
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// FULL_JDK
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// TARGET_BACKEND: JVM
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// IGNORE_BACKEND: JVM, JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_IR, JVM_MULTI_MODULE_OLD_AGAINST_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
|
||||
+1
@@ -2,6 +2,7 @@
|
||||
// !LANGUAGE: -UseCorrectExecutionOrderForVarargArguments
|
||||
// IGNORE_BACKEND: JS
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
// FILE: 1.kt
|
||||
|
||||
+1
@@ -7,6 +7,7 @@
|
||||
// IGNORE_BACKEND: JS_IR_ES6
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
// FILE: 1.kt
|
||||
|
||||
compiler/testData/codegen/boxInline/multiplatform/defaultArguments/receiversAndParametersInLambda.kt
Vendored
+1
@@ -1,6 +1,7 @@
|
||||
// !LANGUAGE: +MultiPlatformProjects
|
||||
// IGNORE_BACKEND: WASM
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// TODO: replace all references on expected declarations and their members to actuals,
|
||||
// otherwise DCE keeps members of expect D referenced from lambdas in default arguments instead of members of actual D
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// IGNORE_BACKEND: JVM
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_MULTI_MODULE_OLD_AGAINST_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
package builders
|
||||
inline fun call(crossinline init: () -> Unit) {
|
||||
|
||||
+11
-11
@@ -11,20 +11,20 @@ _2Kt
|
||||
+ 2 1.kt
|
||||
builders/_1Kt
|
||||
*L
|
||||
1#1,32:1
|
||||
17#1,3:34
|
||||
20#1,6:38
|
||||
8#2:33
|
||||
8#2:37
|
||||
1#1,33:1
|
||||
18#1,3:35
|
||||
21#1,6:39
|
||||
9#2:34
|
||||
9#2:38
|
||||
*S KotlinDebug
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
30#1:34,3
|
||||
30#1:38,6
|
||||
19#1:33
|
||||
30#1:37
|
||||
31#1:35,3
|
||||
31#1:39,6
|
||||
20#1:34
|
||||
31#1:38
|
||||
*E
|
||||
|
||||
SMAP
|
||||
@@ -35,7 +35,7 @@ Kotlin
|
||||
+ 1 2.kt
|
||||
_2Kt$test$1$1
|
||||
*L
|
||||
1#1,32:1
|
||||
1#1,33:1
|
||||
*E
|
||||
|
||||
SMAP
|
||||
@@ -46,6 +46,6 @@ Kotlin
|
||||
+ 1 2.kt
|
||||
_2Kt$test$1$1
|
||||
*L
|
||||
1#1,32:1
|
||||
1#1,33:1
|
||||
*E
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
||||
// IGNORE_BACKEND: JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// FILE: 1.kt
|
||||
package builders
|
||||
|
||||
+11
-11
@@ -11,20 +11,20 @@ _2Kt
|
||||
+ 2 1.kt
|
||||
builders/_1Kt
|
||||
*L
|
||||
1#1,34:1
|
||||
17#1,3:36
|
||||
20#1,8:40
|
||||
8#2:35
|
||||
8#2:39
|
||||
1#1,35:1
|
||||
18#1,3:37
|
||||
21#1,8:41
|
||||
9#2:36
|
||||
9#2:40
|
||||
*S KotlinDebug
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
32#1:36,3
|
||||
32#1:40,8
|
||||
19#1:35
|
||||
32#1:39
|
||||
33#1:37,3
|
||||
33#1:41,8
|
||||
20#1:36
|
||||
33#1:40
|
||||
*E
|
||||
|
||||
SMAP
|
||||
@@ -35,7 +35,7 @@ Kotlin
|
||||
+ 1 2.kt
|
||||
_2Kt$test$1$1
|
||||
*L
|
||||
1#1,34:1
|
||||
1#1,35:1
|
||||
*E
|
||||
|
||||
SMAP
|
||||
@@ -46,6 +46,6 @@ Kotlin
|
||||
+ 1 2.kt
|
||||
_2Kt$test$1$1
|
||||
*L
|
||||
1#1,34:1
|
||||
1#1,35:1
|
||||
*E
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// IGNORE
|
||||
// NO_CHECK_LAMBDA_INLINING
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_IR, JVM_MULTI_MODULE_OLD_AGAINST_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
// NO_SMAP_DUMP
|
||||
|
||||
|
||||
+5
-5
@@ -9,15 +9,15 @@ _2Kt
|
||||
+ 2 1.kt
|
||||
builders/_1Kt
|
||||
*L
|
||||
1#1,35:1
|
||||
14#2,3:36
|
||||
10#2,15:39
|
||||
1#1,36:1
|
||||
15#2,3:37
|
||||
11#2,15:40
|
||||
*S KotlinDebug
|
||||
*F
|
||||
+ 1 2.kt
|
||||
_2Kt
|
||||
*L
|
||||
33#1:36,3
|
||||
33#1:39,15
|
||||
34#1:37,3
|
||||
34#1:40,15
|
||||
*E
|
||||
|
||||
|
||||
+1
@@ -4,6 +4,7 @@
|
||||
// IGNORE_BACKEND: JVM, JVM_IR
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_MULTI_MODULE: JVM, JVM_IR, JVM_MULTI_MODULE_OLD_AGAINST_IR, JVM_MULTI_MODULE_IR_AGAINST_OLD
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// FILE: 1.kt
|
||||
package test
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// !LANGUAGE: -ProhibitSuperCallsFromPublicInline
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
+1
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// !LANGUAGE: -ProhibitSuperCallsFromPublicInline
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
// IGNORE_BACKEND_FIR: JVM_IR
|
||||
// IGNORE_BACKEND_FIR_MULTI_MODULE: JVM_IR
|
||||
// !LANGUAGE: -ProhibitSuperCallsFromPublicInline
|
||||
// FILE: 1.kt
|
||||
|
||||
|
||||
+1
-1
@@ -61,7 +61,7 @@ class BlackBoxCodegenSuppressor(
|
||||
fun extractIgnoreDirective(module: TestModule): ValueDirective<TargetBackend>? {
|
||||
return when (module.frontendKind) {
|
||||
FrontendKinds.ClassicFrontend -> customIgnoreDirective ?: IGNORE_BACKEND
|
||||
FrontendKinds.FIR -> IGNORE_BACKEND_FIR
|
||||
FrontendKinds.FIR -> customIgnoreDirective ?: IGNORE_BACKEND_FIR
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
+5
@@ -29,6 +29,11 @@ object CodegenTestDirectives : SimpleDirectivesContainer() {
|
||||
applicability = Global
|
||||
)
|
||||
|
||||
val IGNORE_BACKEND_FIR_MULTI_MODULE by enumDirective<TargetBackend>(
|
||||
description = "Ignore failures of multimodule test on target backend if test uses FIR",
|
||||
applicability = Global
|
||||
)
|
||||
|
||||
val USE_JAVAC_BASED_ON_JVM_TARGET by directive(
|
||||
description = """
|
||||
Determine version of javac for compilation of java files based
|
||||
|
||||
+6
-1
@@ -18,8 +18,10 @@ import org.jetbrains.kotlin.test.backend.ir.JvmIrBackendFacade
|
||||
import org.jetbrains.kotlin.test.bind
|
||||
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
|
||||
import org.jetbrains.kotlin.test.builders.configureIrHandlersStep
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_BACKEND_FIR_MULTI_MODULE
|
||||
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_BACKEND_MULTI_MODULE
|
||||
import org.jetbrains.kotlin.test.directives.JvmEnvironmentConfigurationDirectives.SERIALIZE_IR
|
||||
import org.jetbrains.kotlin.test.directives.model.ValueDirective
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2ClassicBackendConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontend2IrConverter
|
||||
import org.jetbrains.kotlin.test.frontend.classic.ClassicFrontendFacade
|
||||
@@ -40,6 +42,7 @@ abstract class AbstractCompileKotlinAgainstInlineKotlinTestBase<R : ResultingArt
|
||||
abstract val frontendFacade: Constructor<FrontendFacade<R>>
|
||||
abstract val frontendToBackendConverter: Constructor<Frontend2BackendConverter<R, I>>
|
||||
abstract val backendFacade: Constructor<BackendFacade<I, BinaryArtifacts.Jvm>>
|
||||
open val directiveToSuppressTest: ValueDirective<TargetBackend> = IGNORE_BACKEND_MULTI_MODULE
|
||||
|
||||
override fun TestConfigurationBuilder.configuration() {
|
||||
commonConfigurationForCodegenTest(targetFrontend, frontendFacade, frontendToBackendConverter, backendFacade)
|
||||
@@ -48,7 +51,7 @@ abstract class AbstractCompileKotlinAgainstInlineKotlinTestBase<R : ResultingArt
|
||||
useModuleStructureTransformers(
|
||||
SplittingModuleTransformerForBoxTests()
|
||||
)
|
||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor.bind(IGNORE_BACKEND_MULTI_MODULE))
|
||||
useAfterAnalysisCheckers(::BlackBoxCodegenSuppressor.bind(directiveToSuppressTest))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -111,6 +114,8 @@ open class AbstractFirSerializeCompileKotlinAgainstInlineKotlinTest :
|
||||
override val backendFacade: Constructor<BackendFacade<IrBackendInput, BinaryArtifacts.Jvm>>
|
||||
get() = ::JvmIrBackendFacade
|
||||
|
||||
override val directiveToSuppressTest = IGNORE_BACKEND_FIR_MULTI_MODULE
|
||||
|
||||
override fun configure(builder: TestConfigurationBuilder) {
|
||||
super.configure(builder)
|
||||
builder.configureForSerialization()
|
||||
|
||||
Reference in New Issue
Block a user