[JS, IR] Fix wasm tests

This commit is contained in:
Ilya Goncharov
2022-07-29 13:36:29 +02:00
committed by teamcity
parent 9685b0a86b
commit 71ab99c47f
3 changed files with 17 additions and 6 deletions
@@ -42,10 +42,8 @@ constructor(
private fun configureBinaryen(binary: JsIrBinary, binaryenDsl: BinaryenExec.() -> Unit) {
val linkTask = binary.linkTask
val compiledMjsFile = linkTask.flatMap { it.outputFileProperty }
val compiledWasmFile = compiledMjsFile.map {
it.parentFile.resolve("${it.nameWithoutExtension}.wasm")
val compiledWasmFile = linkTask.map { link ->
link.destinationDirectory.asFile.get().resolve(link.outputName.get() + ".wasm")
}
//TODO This is temporary solution that overrides compiled files that triggers recompile and reoptimize wasm every time (when binaryen is enabled)
@@ -60,7 +60,8 @@ abstract class KotlinJsIrLink @Inject constructor(
@get:Internal
internal lateinit var compilation: KotlinCompilationData<*>
private val platformType by project.provider {
@get:Internal
val platformType by project.provider {
compilation.platformType
}
@@ -124,8 +124,20 @@ abstract class KotlinJsIrSubTarget(
testJs.inputFileProperty.set(
project.layout.file(
binary.linkSyncTask.map {
val linkTask = binary.linkTask.get()
val extension = when (linkTask.platformType) {
KotlinPlatformType.wasm -> {
".mjs"
}
KotlinPlatformType.js -> {
".js"
}
else -> error("Only JS and WASM supported for KotlinJsTest")
}
it.destinationDir
.resolve(binary.linkTask.get().outputName.get() + ".js")
.resolve(linkTask.outputName.get() + extension)
}
)
)