Skip to content

Commit d945b73

Browse files
committed
Fix test runner for header mode.
^KT-78422
1 parent e53099a commit d945b73

File tree

3 files changed

+37
-37
lines changed

3 files changed

+37
-37
lines changed

compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/configuration/BaseCodegenConfiguration.kt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -237,17 +237,14 @@ fun TestConfigurationBuilder.baseFirBlackBoxCodegenTestDirectivesConfiguration()
237237
/**
238238
* Setups the backend-specific handlers and directives exclusively used by JVM box tests
239239
*/
240-
fun TestConfigurationBuilder.configureJvmBoxCodegenSettings(includeAllDumpHandlers: Boolean) {
240+
fun TestConfigurationBuilder.configureJvmBoxCodegenSettings(includeAllDumpHandlers: Boolean, includeBytecodeTextHandler: Boolean = true) {
241241
configureJvmArtifactsHandlersStep {
242242
if (includeAllDumpHandlers) {
243-
useHandlers(
244-
::BytecodeListingHandler,
245-
)
243+
useHandlers(::BytecodeListingHandler,)
244+
}
245+
if (includeBytecodeTextHandler) {
246+
useHandlers(::BytecodeTextHandler.bind(true))
246247
}
247-
248-
useHandlers(
249-
::BytecodeTextHandler.bind(true)
250-
)
251248
}
252249

253250
defaultDirectives {

compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/directives/CodegenTestDirectives.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ object CodegenTestDirectives : SimpleDirectivesContainer() {
4545

4646
val IGNORE_HMPP by enumDirective<TargetBackend>("Ignore test in HMPP setup")
4747

48+
val IGNORE_HEADER_MODE by enumDirective<TargetBackend>("Ignore test in header mode setup")
49+
4850
val IGNORE_ANALYSIS_API_BASED_TYPESCRIPT_EXPORT by enumDirective<TargetBackend>("Ignore failures of the new AA-based TypeScript Export")
4951

5052
val JAVAC_OPTIONS by stringDirective(

compiler/tests-common-new/testFixtures/org/jetbrains/kotlin/test/runners/codegen/AbstractFirHeaderModeCodegenTest.kt

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,50 +5,51 @@
55

66
package org.jetbrains.kotlin.test.runners.codegen
77

8-
import org.jetbrains.kotlin.test.Constructor
98
import org.jetbrains.kotlin.test.FirParser
9+
import org.jetbrains.kotlin.test.TargetBackend
10+
import org.jetbrains.kotlin.test.backend.BlackBoxCodegenSuppressor
1011
import org.jetbrains.kotlin.test.backend.ir.BackendCliJvmFacade
11-
import org.jetbrains.kotlin.test.backend.ir.IrBackendInput
12-
import org.jetbrains.kotlin.test.backend.ir.IrConstCheckerHandler
13-
import org.jetbrains.kotlin.test.backend.ir.IrDiagnosticsHandler
1412
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
1513
import org.jetbrains.kotlin.test.builders.configureFirHandlersStep
16-
import org.jetbrains.kotlin.test.builders.configureIrHandlersStep
17-
import org.jetbrains.kotlin.test.configuration.configureDumpHandlersForCodegenTest
18-
import org.jetbrains.kotlin.test.directives.FirDiagnosticsDirectives.FIR_PARSER
14+
import org.jetbrains.kotlin.test.configuration.commonConfigurationForJvmTest
15+
import org.jetbrains.kotlin.test.configuration.configureJvmBoxCodegenSettings
16+
import org.jetbrains.kotlin.test.directives.CodegenTestDirectives.IGNORE_HEADER_MODE
1917
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.HEADER_MODE
20-
import org.jetbrains.kotlin.test.configuration.configureBlackBoxTestSettings
2118
import org.jetbrains.kotlin.test.directives.configureFirParser
2219
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrCliJvmFacade
2320
import org.jetbrains.kotlin.test.frontend.fir.FirCliJvmFacade
24-
import org.jetbrains.kotlin.test.frontend.fir.FirOutputArtifact
25-
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirCfgDumpHandler
26-
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDumpHandler
27-
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirResolvedTypesVerifier
28-
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirScopeDumpHandler
29-
import org.jetbrains.kotlin.test.model.*
21+
import org.jetbrains.kotlin.test.frontend.fir.handlers.FirDiagnosticsHandler
22+
import org.jetbrains.kotlin.test.model.FrontendKinds
23+
import org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerWithTargetBackendTest
3024

3125
abstract class AbstractFirHeaderModeCodegenTestBase(
3226
val parser: FirParser
33-
) : AbstractJvmBlackBoxCodegenTestBase<FirOutputArtifact>(FrontendKinds.FIR) {
34-
override val frontendFacade: Constructor<FrontendFacade<FirOutputArtifact>>
35-
get() = ::FirCliJvmFacade
27+
) : AbstractKotlinCompilerWithTargetBackendTest(TargetBackend.JVM_IR) {
28+
override fun configure(builder: TestConfigurationBuilder): Unit = with(builder) {
29+
configureFirParser(parser)
3630

37-
override val frontendToBackendConverter: Constructor<Frontend2BackendConverter<FirOutputArtifact, IrBackendInput>>
38-
get() = ::Fir2IrCliJvmFacade
31+
defaultDirectives {
32+
+HEADER_MODE
33+
}
3934

40-
override val backendFacade: Constructor<BackendFacade<IrBackendInput, BinaryArtifacts.Jvm>>
41-
get() = ::BackendCliJvmFacade
35+
commonConfigurationForJvmTest(
36+
FrontendKinds.FIR,
37+
::FirCliJvmFacade,
38+
::Fir2IrCliJvmFacade,
39+
::BackendCliJvmFacade,
40+
)
41+
42+
configureFirHandlersStep {
43+
useHandlers(
44+
::FirDiagnosticsHandler
45+
)
46+
}
4247

43-
override fun configure(builder: TestConfigurationBuilder) {
44-
super.configure(builder)
45-
with(builder) {
46-
configureFirParser(parser)
48+
useAfterAnalysisCheckers(
49+
{ BlackBoxCodegenSuppressor(it, customIgnoreDirective = IGNORE_HEADER_MODE) },
50+
)
4751

48-
defaultDirectives {
49-
+HEADER_MODE
50-
}
51-
}
52+
configureJvmBoxCodegenSettings(includeAllDumpHandlers = false, includeBytecodeTextHandler = false)
5253
}
5354
}
5455

0 commit comments

Comments
 (0)