[Wasm] Extract Fir compiler tests into :wasmFirCompilerTest task

This is needed to run K1 and K2 tests in parallel on separate CI agents
This commit is contained in:
Svyatoslav Kuzmich
2023-06-13 15:58:03 +02:00
parent 4ad6fd4cde
commit 29fa20e2aa
2 changed files with 39 additions and 17 deletions
+6 -1
View File
@@ -671,13 +671,18 @@ tasks {
} }
register("wasmCompilerTest") { register("wasmCompilerTest") {
dependsOn(":wasm:wasm.tests:test") dependsOn(":wasm:wasm.tests:testK1")
dependsOn(":wasm:wasm.tests:diagnosticTest")
// Windows WABT release requires Visual C++ Redistributable // Windows WABT release requires Visual C++ Redistributable
if (!kotlinBuildProperties.isTeamcityBuild || !org.gradle.internal.os.OperatingSystem.current().isWindows) { if (!kotlinBuildProperties.isTeamcityBuild || !org.gradle.internal.os.OperatingSystem.current().isWindows) {
dependsOn(":wasm:wasm.ir:test") dependsOn(":wasm:wasm.ir:test")
} }
} }
register("wasmFirCompilerTest") {
dependsOn(":wasm:wasm.tests:testFir")
}
register("nativeCompilerTest") { register("nativeCompilerTest") {
dependsOn(":native:kotlin-native-utils:test") dependsOn(":native:kotlin-native-utils:test")
} }
+23 -6
View File
@@ -133,20 +133,37 @@ val generateTests by generator("org.jetbrains.kotlin.generators.tests.GenerateWa
dependsOn(":compiler:generateTestData") dependsOn(":compiler:generateTestData")
} }
projectTest( fun Project.wasmProjectTest(
taskName = "test", taskName: String,
body: Test.() -> Unit = {}
): TaskProvider<Test> {
return projectTest(
taskName = taskName,
parallel = true, parallel = true,
jUnitMode = JUnitMode.JUnit5 jUnitMode = JUnitMode.JUnit5
) { ) {
workingDir = rootDir workingDir = rootDir
include("**/diagnostics/*.class")
include("**/FirWasm*.class")
include("**/K1Wasm*.class")
include("**/Wasm*.class")
setupV8() setupV8()
setupSpiderMonkey() setupSpiderMonkey()
useJUnitPlatform() useJUnitPlatform()
setupWasmStdlib() setupWasmStdlib()
setupGradlePropertiesForwarding() setupGradlePropertiesForwarding()
systemProperty("kotlin.wasm.test.root.out.dir", "$buildDir/") systemProperty("kotlin.wasm.test.root.out.dir", "$buildDir/")
body()
}
}
// Test everything
wasmProjectTest("test")
wasmProjectTest("testFir") {
include("**/Fir*.class")
}
wasmProjectTest("testK1") {
include("**/K1*.class")
}
wasmProjectTest("diagnosticTest") {
include("**/Diagnostics*.class")
} }