From c66bf23b9314c11d4380c83c990f39ec83b65211 Mon Sep 17 00:00:00 2001 From: mvicsokolova Date: Thu, 16 Mar 2023 19:41:56 +0100 Subject: [PATCH] Removed gradle plugin application tests for JS legacy backend --- .../plugin/gradle/test/JsProjectTest.kt | 52 -------- .../plugin/gradle/test/MppProjectTest.kt | 113 ------------------ .../js-simple/gradle.properties_js_legacy | 1 - .../projects/js-simple/js-simple.gradle.kts | 38 ------ .../projects/js-simple/settings.gradle.kts | 1 - .../src/main/kotlin/IntArithmetic.kt | 16 --- .../src/test/kotlin/ArithmeticTest.kt | 14 --- .../mpp-simple/gradle.properties_js_legacy | 1 - .../projects/mpp-simple/gradle.properties_jvm | 2 - 9 files changed, 238 deletions(-) delete mode 100644 atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/JsProjectTest.kt delete mode 100644 atomicfu-gradle-plugin/src/test/resources/projects/js-simple/gradle.properties_js_legacy delete mode 100644 atomicfu-gradle-plugin/src/test/resources/projects/js-simple/js-simple.gradle.kts delete mode 100644 atomicfu-gradle-plugin/src/test/resources/projects/js-simple/settings.gradle.kts delete mode 100644 atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/main/kotlin/IntArithmetic.kt delete mode 100644 atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/test/kotlin/ArithmeticTest.kt delete mode 100644 atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_js_legacy delete mode 100644 atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_jvm diff --git a/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/JsProjectTest.kt b/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/JsProjectTest.kt deleted file mode 100644 index e1c4469a..00000000 --- a/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/JsProjectTest.kt +++ /dev/null @@ -1,52 +0,0 @@ -package kotlinx.atomicfu.plugin.gradle.test - -import kotlinx.atomicfu.plugin.gradle.internal.* -import kotlinx.atomicfu.plugin.gradle.internal.BaseKotlinScope -import org.junit.Test - -/** - * Test that ensures correctness of `atomicfu-gradle-plugin` application to the JS project: - * - post-compilation js transformation tasks are created - * (legacy transformation is tested here, compiler plugin is not applied). - * - original non-transformed classes are not left in compile/runtime classpath. - */ -class JsLegacyTransformationTest : BaseKotlinGradleTest("js-simple") { - - override fun BaseKotlinScope.createProject() { - buildGradleKts { - resolve("projects/js-simple/js-simple.gradle.kts") - } - settingsGradleKts { - resolve("projects/js-simple/settings.gradle.kts") - } - gradleProperties { - resolve("projects/mpp-simple/gradle.properties_js_legacy") - } - dir("src/main/kotlin") {} - kotlin("IntArithmetic.kt", "main") { - resolve("projects/js-simple/src/main/kotlin/IntArithmetic.kt") - } - dir("src/test/kotlin") {} - kotlin("ArithmeticTest.kt", "test") { - resolve("projects/js-simple/src/test/kotlin/ArithmeticTest.kt") - } - } - - @Test - fun testPluginApplication() = - checkTaskOutcomes( - executedTasks = listOf( - ":compileKotlinJs", - ":transformJsMainAtomicfu", - ":compileTestKotlinJs", - ":transformJsTestAtomicfu" - ), - excludedTasks = emptyList() - ) - - @Test - fun testClasspath() { - runner.build() - checkJsCompilationClasspath() - } -} diff --git a/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/MppProjectTest.kt b/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/MppProjectTest.kt index 8e0aa502..f138b3cc 100644 --- a/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/MppProjectTest.kt +++ b/atomicfu-gradle-plugin/src/test/kotlin/kotlinx/atomicfu/plugin/gradle/test/MppProjectTest.kt @@ -3,119 +3,6 @@ package kotlinx.atomicfu.plugin.gradle.test import kotlinx.atomicfu.plugin.gradle.internal.* import org.junit.* -/** - * Test that ensures correctness of `atomicfu-gradle-plugin` application to the MPP project: - * - post-compilation bytecode transformation tasks are created - * (legacy transformation is tested here, compiler plugin is not applied). - * - original non-transformed classes are not left in compile/runtime classpath. - * - no `kotlinx/atomicfu` references are left in the transformed bytecode. - */ -class MppLegacyTransformationTest : BaseKotlinGradleTest("mpp-simple") { - - override fun BaseKotlinScope.createProject() { - buildGradleKts { - resolve("projects/mpp-simple/mpp-simple.gradle.kts") - } - settingsGradleKts { - resolve("projects/mpp-simple/settings.gradle.kts") - } - gradleProperties { - resolve("projects/mpp-simple/gradle.properties_js_legacy") - } - dir("src/commonMain/kotlin") {} - kotlin("IntArithmetic.kt", "commonMain") { - resolve("projects/mpp-simple/src/commonMain/kotlin/IntArithmetic.kt") - } - dir("src/commonTest/kotlin") {} - kotlin("ArithmeticTest.kt", "commonTest") { - resolve("projects/mpp-simple/src/commonTest/kotlin/ArithmeticTest.kt") - } - } - - @Test - fun testPluginApplication() = - checkTaskOutcomes( - executedTasks = listOf( - ":compileKotlinJvm", - ":compileTestKotlinJvm", - ":transformJvmMainAtomicfu", - ":transformJvmTestAtomicfu", - ":compileKotlinJs", - ":transformJsMainAtomicfu" - ), - excludedTasks = emptyList() - ) - - @Test - fun testClasspath() { - runner.build() - checkJvmCompilationClasspath( - originalClassFile = "build/classes/kotlin/jvm/main/IntArithmetic.class", - transformedClassFile = "build/classes/atomicfu/jvm/main/IntArithmetic.class" - ) - checkJsCompilationClasspath() - } - - @Test - fun testAtomicfuReferences() { - runner.build() - checkBytecode("build/classes/atomicfu/jvm/main/IntArithmetic.class") - } -} - -/** - * Test that ensures correctness of `atomicfu-gradle-plugin` application to the MPP project, - * - JVM IR compiler plugin transformation (kotlinx.atomicfu.enableJvmIrTransformation=true) - * - no post-compilation bytecode transformation tasks are created - * - post-compilation js file transformation task created (as only JVM IR transformation applied, js is transformed in legacy mode) - * - no `kotlinx/atomicfu` references are left in the transformed bytecode. - */ -class MppJvmIrTransformationTest : BaseKotlinGradleTest("mpp-simple") { - - override fun BaseKotlinScope.createProject() { - buildGradleKts { - resolve("projects/mpp-simple/mpp-simple.gradle.kts") - } - settingsGradleKts { - resolve("projects/mpp-simple/settings.gradle.kts") - } - gradleProperties { - resolve("projects/mpp-simple/gradle.properties_jvm") - } - dir("src/commonMain/kotlin") {} - kotlin("IntArithmetic.kt", "commonMain") { - resolve("projects/mpp-simple/src/commonMain/kotlin/IntArithmetic.kt") - } - dir("src/commonTest/kotlin") {} - kotlin("ArithmeticTest.kt", "commonTest") { - resolve("projects/mpp-simple/src/commonTest/kotlin/ArithmeticTest.kt") - } - } - - @Test - fun testPluginApplication() = - checkTaskOutcomes( - executedTasks = listOf( - ":compileKotlinJvm", - ":compileTestKotlinJvm", - ":compileKotlinJs", - // legacy JS transformation - ":transformJsMainAtomicfu", - ":transformJsTestAtomicfu" - ), - excludedTasks = listOf( - ":transformJvmMainAtomicfu", - ":transformJvmTestAtomicfu" - ) - ) - - @Test - fun testAtomicfuReferences() { - runner.build() - checkBytecode("build/classes/kotlin/jvm/main/IntArithmetic.class") - } -} - /** * Test that ensures correctness of `atomicfu-gradle-plugin` application to the MPP project, * - JS IR compiler plugin transformation (kotlinx.atomicfu.enableJsIrTransformation=true) diff --git a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/gradle.properties_js_legacy b/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/gradle.properties_js_legacy deleted file mode 100644 index 31585e0e..00000000 --- a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/gradle.properties_js_legacy +++ /dev/null @@ -1 +0,0 @@ -kotlin.js.compiler=legacy diff --git a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/js-simple.gradle.kts b/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/js-simple.gradle.kts deleted file mode 100644 index 52f597cf..00000000 --- a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/js-simple.gradle.kts +++ /dev/null @@ -1,38 +0,0 @@ -import kotlinx.atomicfu.plugin.gradle.* - -buildscript { - dependencies { - classpath("org.jetbrains.kotlinx:atomicfu-gradle-plugin:0.17.0") - } -} - -plugins { - kotlin("js") -} - -apply(plugin = "kotlinx-atomicfu") - -repositories { - mavenCentral() - maven("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev") -} - -dependencies { - implementation(kotlin("stdlib-js")) - implementation(kotlin("test-junit")) - implementation("org.jetbrains.kotlin:kotlin-test-js") -} - -kotlin { - js { - nodejs() - } - - tasks.named("compileTestKotlinJs") { - doLast { - file("$buildDir/test_compile_js_classpath.txt").writeText( - target.compilations["test"].compileDependencyFiles.joinToString("\n") - ) - } - } -} diff --git a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/settings.gradle.kts b/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/settings.gradle.kts deleted file mode 100644 index bd39e748..00000000 --- a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/settings.gradle.kts +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = "js-simple" \ No newline at end of file diff --git a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/main/kotlin/IntArithmetic.kt b/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/main/kotlin/IntArithmetic.kt deleted file mode 100644 index 5becfff6..00000000 --- a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/main/kotlin/IntArithmetic.kt +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright 2017-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -import kotlinx.atomicfu.* - -class IntArithmetic { - val _x = atomic(0) - val x get() = _x.value -} - -fun doWork(a: IntArithmetic) { - a._x.getAndSet(3) - a._x.compareAndSet(3, 8) -} - diff --git a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/test/kotlin/ArithmeticTest.kt b/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/test/kotlin/ArithmeticTest.kt deleted file mode 100644 index ab10e9bb..00000000 --- a/atomicfu-gradle-plugin/src/test/resources/projects/js-simple/src/test/kotlin/ArithmeticTest.kt +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Copyright 2017-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license. - */ - -import kotlin.test.* - -class ArithmeticTest { - @Test - fun testInt() { - val a = IntArithmetic() - doWork(a) - check(a.x == 8) - } -} \ No newline at end of file diff --git a/atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_js_legacy b/atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_js_legacy deleted file mode 100644 index 31585e0e..00000000 --- a/atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_js_legacy +++ /dev/null @@ -1 +0,0 @@ -kotlin.js.compiler=legacy diff --git a/atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_jvm b/atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_jvm deleted file mode 100644 index 399d39c6..00000000 --- a/atomicfu-gradle-plugin/src/test/resources/projects/mpp-simple/gradle.properties_jvm +++ /dev/null @@ -1,2 +0,0 @@ -kotlinx.atomicfu.enableJvmIrTransformation=true -kotlin.js.compiler=ir