Skip to content

Commit e53099a

Browse files
committed
Create test runner for header compilation.
^KT-78422
1 parent 1fbefd2 commit e53099a

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

compiler/fir/fir2ir/testFixtures/org/jetbrains/kotlin/test/TestGeneratorForFir2IrTests.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ fun main(args: Array<String>) {
3030
model("codegen/box", excludeDirs = k1BoxTestDir + excludedScriptDirs)
3131
}
3232

33+
testClass<AbstractFirLightTreeHeaderModeCodegenTest> {
34+
model("codegen/box", excludeDirs = k1BoxTestDir + excludedScriptDirs)
35+
}
36+
3337
testClass<AbstractFirPsiBlackBoxCodegenTest> {
3438
model("codegen/box", excludeDirs = k1BoxTestDir)
3539
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
/*
2+
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
3+
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
4+
*/
5+
6+
package org.jetbrains.kotlin.test.runners.codegen
7+
8+
import org.jetbrains.kotlin.test.Constructor
9+
import org.jetbrains.kotlin.test.FirParser
10+
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
14+
import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder
15+
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
19+
import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives.HEADER_MODE
20+
import org.jetbrains.kotlin.test.configuration.configureBlackBoxTestSettings
21+
import org.jetbrains.kotlin.test.directives.configureFirParser
22+
import org.jetbrains.kotlin.test.frontend.fir.Fir2IrCliJvmFacade
23+
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.*
30+
31+
abstract class AbstractFirHeaderModeCodegenTestBase(
32+
val parser: FirParser
33+
) : AbstractJvmBlackBoxCodegenTestBase<FirOutputArtifact>(FrontendKinds.FIR) {
34+
override val frontendFacade: Constructor<FrontendFacade<FirOutputArtifact>>
35+
get() = ::FirCliJvmFacade
36+
37+
override val frontendToBackendConverter: Constructor<Frontend2BackendConverter<FirOutputArtifact, IrBackendInput>>
38+
get() = ::Fir2IrCliJvmFacade
39+
40+
override val backendFacade: Constructor<BackendFacade<IrBackendInput, BinaryArtifacts.Jvm>>
41+
get() = ::BackendCliJvmFacade
42+
43+
override fun configure(builder: TestConfigurationBuilder) {
44+
super.configure(builder)
45+
with(builder) {
46+
configureFirParser(parser)
47+
48+
defaultDirectives {
49+
+HEADER_MODE
50+
}
51+
}
52+
}
53+
}
54+
55+
open class AbstractFirLightTreeHeaderModeCodegenTest : AbstractFirHeaderModeCodegenTestBase(FirParser.LightTree)

0 commit comments

Comments
 (0)