[Gradle, Wasm] Add nodeJs setup task dependency to wasi test task

^KT-61971 fixed
This commit is contained in:
Ilya Goncharov
2023-09-19 16:54:42 +00:00
committed by Space Team
parent 46093c686e
commit 24e8c9c90d
4 changed files with 31 additions and 33 deletions
@@ -5,30 +5,11 @@
package org.jetbrains.kotlin.gradle
import com.google.gson.Gson
import com.google.gson.JsonNull
import com.google.gson.JsonObject
import org.gradle.testkit.runner.BuildResult
import org.gradle.util.GradleVersion
import org.jetbrains.kotlin.gradle.targets.js.dsl.Distribution
import org.jetbrains.kotlin.gradle.targets.js.ir.KLIB_TYPE
import org.jetbrains.kotlin.gradle.targets.js.npm.NpmProject
import org.jetbrains.kotlin.gradle.targets.js.npm.PackageJson
import org.jetbrains.kotlin.gradle.targets.js.npm.fromSrcPackageJson
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockCopyTask.Companion.STORE_YARN_LOCK_NAME
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockCopyTask.Companion.UPGRADE_YARN_LOCK
import org.jetbrains.kotlin.gradle.targets.js.yarn.YarnLockCopyTask.Companion.YARN_LOCK_MISMATCH_MESSAGE
import org.jetbrains.kotlin.gradle.tasks.USING_JS_IR_BACKEND_MESSAGE
import org.jetbrains.kotlin.gradle.testbase.*
import org.jetbrains.kotlin.gradle.testbase.TestVersions.Gradle.G_7_6
import org.jetbrains.kotlin.gradle.util.modify
import org.junit.jupiter.api.DisplayName
import org.junit.jupiter.api.condition.DisabledIf
import java.nio.file.Files
import java.util.zip.ZipFile
import kotlin.io.path.*
import kotlin.streams.toList
import kotlin.test.*
import kotlin.test.assertTrue
@MppGradlePluginTests
class KotlinWasmGradlePluginIT : KGPBaseTest() {
@@ -39,14 +20,27 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() {
project("new-mpp-wasm-wasi-test", gradleVersion) {
buildGradleKts.modify(::transformBuildScriptWithPluginsDsl)
build(
// TODO remove as soon as KT-61971 fixed
":kotlinNodeJsSetup",
":wasmWasiTest"
) {
build(":wasmWasiTest") {
assertTasksExecuted(":kotlinNodeJsSetup")
assertTasksExecuted(":compileKotlinWasmWasi")
assertTasksExecuted(":wasmWasiNodeTest")
}
projectPath.resolve("src/wasmWasiTest/kotlin/Test.kt").modify {
it.replace(
"fun test2() = assertEquals(foo(), 2)",
"fun test2() = assertEquals(foo(), 2)" + "\n" +
"""
@Test
fun test3() = assertEquals(foo(), 3)
"""
)
}
buildAndFail(":wasmWasiTest") {
assertTasksUpToDate(":compileKotlinWasmWasi")
assertTasksFailed(":wasmWasiNodeTest")
}
}
}
@@ -79,8 +73,10 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() {
assertTasksExecuted(":compileProductionExecutableKotlinWasmWasi")
assertTasksExecuted(":compileProductionExecutableKotlinWasmWasiOptimize")
val original = projectPath.resolve("build/compileSync/wasmWasi/main/productionExecutable/kotlin/new-mpp-wasm-wasi-test-wasm-wasi.wasm")
val optimized = projectPath.resolve("build/compileSync/wasmWasi/main/productionExecutable/optimized/new-mpp-wasm-wasi-test-wasm-wasi.wasm")
val original =
projectPath.resolve("build/compileSync/wasmWasi/main/productionExecutable/kotlin/new-mpp-wasm-wasi-test-wasm-wasi.wasm")
val optimized =
projectPath.resolve("build/compileSync/wasmWasi/main/productionExecutable/optimized/new-mpp-wasm-wasi-test-wasm-wasi.wasm")
assertTrue {
Files.size(original) > Files.size(optimized)
}
@@ -101,8 +97,10 @@ class KotlinWasmGradlePluginIT : KGPBaseTest() {
assertTasksExecuted(":compileProductionExecutableKotlinWasmJs")
assertTasksExecuted(":compileProductionExecutableKotlinWasmJsOptimize")
val original = projectPath.resolve("build/compileSync/wasmJs/main/productionExecutable/kotlin/redefined-wasm-module-name.wasm")
val optimized = projectPath.resolve("build/compileSync/wasmJs/main/productionExecutable/optimized/redefined-wasm-module-name.wasm")
val original =
projectPath.resolve("build/compileSync/wasmJs/main/productionExecutable/kotlin/redefined-wasm-module-name.wasm")
val optimized =
projectPath.resolve("build/compileSync/wasmJs/main/productionExecutable/optimized/redefined-wasm-module-name.wasm")
assertTrue {
Files.size(original) > Files.size(optimized)
}
@@ -1,3 +1,3 @@
package my.pack.name
fun foo(): Int = 2
fun foo(): Int = 1
@@ -6,11 +6,11 @@ import kotlin.test.assertEquals
class WasmTest {
@Test
fun test1() = assertEquals(foo(), 2)
fun test1() = assertEquals(foo(), 1)
@Test
@Ignore
fun test2() = assertEquals(foo(), 1)
fun test2() = assertEquals(foo(), 2)
@Ignore
class InnerIgnored {
@@ -58,11 +58,11 @@ abstract class KotlinNodeJsIr @Inject constructor(target: KotlinJsIrTarget) :
}
override fun configureTestDependencies(test: KotlinJsTest) {
test.dependsOn(nodeJsTaskProviders.nodeJsSetupTaskProvider)
if (target.wasmTargetType != KotlinWasmTargetType.WASI) {
test.dependsOn(
nodeJsTaskProviders.npmInstallTaskProvider,
nodeJsTaskProviders.storeYarnLockTaskProvider,
nodeJsTaskProviders.nodeJsSetupTaskProvider
)
}
}