[Gradle, Wasm] Add nodeJs setup task dependency to wasi test task
^KT-61971 fixed
This commit is contained in:
committed by
Space Team
parent
46093c686e
commit
24e8c9c90d
+27
-29
@@ -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
-1
@@ -1,3 +1,3 @@
|
||||
package my.pack.name
|
||||
|
||||
fun foo(): Int = 2
|
||||
fun foo(): Int = 1
|
||||
+2
-2
@@ -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 {
|
||||
|
||||
+1
-1
@@ -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
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user