From b601ed96937c58e2c0f5a20215ce30a94e6e8996 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Mon, 16 Nov 2020 09:59:37 +0300 Subject: [PATCH] Print Gradle version used in tests Also switch to JUnit 5, because the feature is not supported by JUnit 4 --- gradle-plugins/compose/build.gradle.kts | 8 +++++++- .../org/jetbrains/compose/DesktopApplicationTest.kt | 4 ++-- .../jetbrains/compose/test/GradlePluginTestBase.kt | 11 +++++------ .../jetbrains/compose/test/GradleTestNameGenerator.kt | 10 ++++++++++ .../src/test/resources/junit-platform.properties | 1 + 5 files changed, 25 insertions(+), 9 deletions(-) create mode 100644 gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradleTestNameGenerator.kt create mode 100644 gradle-plugins/compose/src/test/resources/junit-platform.properties diff --git a/gradle-plugins/compose/build.gradle.kts b/gradle-plugins/compose/build.gradle.kts index da30236e26..535eb36f6b 100644 --- a/gradle-plugins/compose/build.gradle.kts +++ b/gradle-plugins/compose/build.gradle.kts @@ -32,7 +32,8 @@ dependencies { compileOnly(kotlin("gradle-plugin-api")) compileOnly(kotlin("gradle-plugin")) testImplementation(gradleTestKit()) - testImplementation("junit:junit:4.13") + testImplementation(platform("org.junit:junit-bom:5.7.0")) + testImplementation("org.junit.jupiter:junit-jupiter") fun embeddedCompileOnly(dep: String) { compileOnly(dep) @@ -77,6 +78,11 @@ tasks.register("testMinGradleVersion", Test::class.java) { } fun Test.configureTest(gradleVersion: String) { + useJUnitPlatform() + testLogging { + events("passed", "skipped", "failed") + } + dependsOn("publishToMavenLocal") systemProperty("compose.plugin.version", BuildProperties.deployVersion(project)) systemProperty("gradle.version.for.tests", gradleVersion) diff --git a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/DesktopApplicationTest.kt b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/DesktopApplicationTest.kt index 225ff1b27d..c66f90ff79 100644 --- a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/DesktopApplicationTest.kt +++ b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/DesktopApplicationTest.kt @@ -4,8 +4,8 @@ import org.gradle.testkit.runner.TaskOutcome import org.jetbrains.compose.desktop.application.internal.OS import org.jetbrains.compose.desktop.application.internal.currentOS import org.jetbrains.compose.test.* -import org.junit.Assert.assertEquals -import org.junit.Test +import org.junit.jupiter.api.Assertions.assertEquals +import org.junit.jupiter.api.Test class DesktopApplicationTest : GradlePluginTestBase() { @Test diff --git a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradlePluginTestBase.kt b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradlePluginTestBase.kt index c7b19846a2..3cff59851c 100644 --- a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradlePluginTestBase.kt +++ b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradlePluginTestBase.kt @@ -1,13 +1,12 @@ package org.jetbrains.compose.test -import org.junit.Rule -import org.junit.rules.TemporaryFolder +import org.junit.jupiter.api.io.TempDir +import java.io.File abstract class GradlePluginTestBase { - @Rule - @JvmField - val testDir: TemporaryFolder = TemporaryFolder() + @TempDir + lateinit var testWorkDir: File fun testProject(name: String): TestProject = - TestProject(name, workingDir = testDir.root) + TestProject(name, workingDir = testWorkDir) } diff --git a/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradleTestNameGenerator.kt b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradleTestNameGenerator.kt new file mode 100644 index 0000000000..645284fd4e --- /dev/null +++ b/gradle-plugins/compose/src/test/kotlin/org/jetbrains/compose/test/GradleTestNameGenerator.kt @@ -0,0 +1,10 @@ +package org.jetbrains.compose.test + +import org.junit.jupiter.api.DisplayNameGenerator + +class GradleTestNameGenerator : DisplayNameGenerator.Standard() { + private val gradleVersion = "[Gradle '${TestProperties.gradleVersionForTests}']" + + override fun generateDisplayNameForClass(testClass: Class<*>?): String = + super.generateDisplayNameForClass(testClass) + gradleVersion +} \ No newline at end of file diff --git a/gradle-plugins/compose/src/test/resources/junit-platform.properties b/gradle-plugins/compose/src/test/resources/junit-platform.properties new file mode 100644 index 0000000000..58522aad15 --- /dev/null +++ b/gradle-plugins/compose/src/test/resources/junit-platform.properties @@ -0,0 +1 @@ +junit.jupiter.displayname.generator.default=org.jetbrains.compose.test.GradleTestNameGenerator \ No newline at end of file