Skip to content

Commit f7c622d

Browse files
vsukharevSpace Team
authored andcommitted
[Tests][Wasm] Add splitting testrunners for stepping tests
^KT-78930
1 parent c399785 commit f7c622d

File tree

5 files changed

+2593
-2
lines changed

5 files changed

+2593
-2
lines changed

wasm/wasm.tests/testFixtures/org/jetbrains/kotlin/generators/tests/GenerateWasmTests.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,15 @@ fun main(args: Array<String>) {
134134
testClass<AbstractFirWasmJsSteppingTest> {
135135
model("debug/stepping")
136136
}
137+
testClass<AbstractFirWasmJsSteppingWithInlinedFunInKlibTest> {
138+
model("debug/stepping")
139+
}
140+
testClass<AbstractFirWasmJsSteppingSplitTest> {
141+
model("debug/stepping")
142+
}
143+
testClass<AbstractFirWasmJsSteppingSplitWithInlinedFunInKlibTest> {
144+
model("debug/stepping")
145+
}
137146
}
138147
testGroup("wasm/wasm.tests/tests-gen", "js/js.translator/testData", testRunnerMethodName = "runTest0") {
139148
testClass<AbstractFirWasmTypeScriptExportTest> {

wasm/wasm.tests/testFixtures/org/jetbrains/kotlin/wasm/test/AbstractFirWasmTest.kt

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,11 @@ open class AbstractFirWasmJsTranslatorTest : AbstractFirWasmJsTest(
179179
"js.translator/firBox"
180180
)
181181

182-
open class AbstractFirWasmJsSteppingTest : AbstractFirWasmJsTest(
182+
open class AbstractFirWasmJsSteppingTest(
183+
testGroupOutputDirPrefix: String = "debug/stepping/firBox"
184+
) : AbstractFirWasmJsTest(
183185
"compiler/testData/debug/stepping/",
184-
"debug/stepping/firBox"
186+
testGroupOutputDirPrefix
185187
) {
186188
override val wasmBoxTestRunner: Constructor<AnalysisHandler<BinaryArtifacts.Wasm>>
187189
get() = ::WasmDebugRunner
@@ -199,6 +201,60 @@ open class AbstractFirWasmJsSteppingTest : AbstractFirWasmJsTest(
199201
}
200202
}
201203

204+
open class AbstractFirWasmJsSteppingWithInlinedFunInKlibTest(
205+
testGroupOutputDirPrefix: String = "debug/firSteppingWithInlinedFunInKlib/"
206+
) : AbstractFirWasmJsSteppingTest(
207+
testGroupOutputDirPrefix = testGroupOutputDirPrefix
208+
) {
209+
override fun configure(builder: TestConfigurationBuilder) {
210+
super.configure(builder)
211+
with(builder) {
212+
defaultDirectives {
213+
LANGUAGE with listOf(
214+
"+${LanguageFeature.IrIntraModuleInlinerBeforeKlibSerialization.name}",
215+
"+${LanguageFeature.IrCrossModuleInlinerBeforeKlibSerialization.name}"
216+
)
217+
}
218+
}
219+
}
220+
}
221+
222+
open class AbstractFirWasmJsSteppingSplitTest : AbstractFirWasmJsSteppingTest(
223+
testGroupOutputDirPrefix = "debug/firSteppingSplit/"
224+
) {
225+
override val additionalIgnoreDirectives: List<ValueDirective<TargetBackend>>?
226+
get() = listOf(IGNORE_BACKEND_K2_MULTI_MODULE)
227+
228+
override fun configure(builder: TestConfigurationBuilder) {
229+
super.configure(builder)
230+
with(builder) {
231+
@OptIn(TestInfrastructureInternals::class)
232+
useModuleStructureTransformers(
233+
::SplittingModuleTransformerForBoxTests
234+
)
235+
useMetaTestConfigurators(::SplittingTestConfigurator)
236+
}
237+
}
238+
}
239+
240+
open class AbstractFirWasmJsSteppingSplitWithInlinedFunInKlibTest : AbstractFirWasmJsSteppingWithInlinedFunInKlibTest(
241+
testGroupOutputDirPrefix = "debug/firSteppingSplit/"
242+
) {
243+
override val additionalIgnoreDirectives: List<ValueDirective<TargetBackend>>?
244+
get() = listOf(IGNORE_BACKEND_K2_MULTI_MODULE)
245+
246+
override fun configure(builder: TestConfigurationBuilder) {
247+
super.configure(builder)
248+
with(builder) {
249+
@OptIn(TestInfrastructureInternals::class)
250+
useModuleStructureTransformers(
251+
::SplittingModuleTransformerForBoxTests
252+
)
253+
useMetaTestConfigurators(::SplittingTestConfigurator)
254+
}
255+
}
256+
}
257+
202258
open class AbstractFirWasmWasiTest(
203259
pathToTestDir: String,
204260
testGroupOutputDirPrefix: String,

0 commit comments

Comments
 (0)