From c5617f1274ef0d1fb6176cd05661a6e4922550fb Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Fri, 29 Jan 2016 10:51:03 +0100 Subject: [PATCH] Adding automated parametrized tests for all jps-plugin tests KT-8487 --- .../KotlinGradlePluginParametrizedIT.kt | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginParametrizedIT.kt diff --git a/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginParametrizedIT.kt b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginParametrizedIT.kt new file mode 100644 index 00000000000..979252535dc --- /dev/null +++ b/libraries/tools/kotlin-gradle-plugin/src/test/kotlin/org/jetbrains/kotlin/gradle/KotlinGradlePluginParametrizedIT.kt @@ -0,0 +1,56 @@ +package org.jetbrains.kotlin.gradle + +import org.junit.Ignore +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.Parameterized +import java.io.File + +@Ignore +@RunWith(Parameterized::class) +class KotlinGradlePluginJpsParametrizedIT : BaseIncrementalGradleIT() { + + @Parameterized.Parameter + @JvmField + var relativePath: String = "" + + @Test + fun testFromJps() { + try { + JpsTestProject(jpsResourcesPath, relativePath).performAndAssertBuildStages() + } + finally { + if (defaultBuildOptions().withDaemon) + checkRecycleDaemon() + } + } + + override fun defaultBuildOptions(): BuildOptions = BuildOptions(withDaemon = true) + + companion object { + + private val jpsResourcesPath = File("../../../jps-plugin/testData/incremental") + + val MAX_TESTS_ON_SINGLE_DAEMON = 20 + private var testsCounter = 0 + + @Suppress("unused") + @Parameterized.Parameters(name = "{index}: {0}") + @JvmStatic + fun data(): List> = + jpsResourcesPath.walk() + .filter { it.isDirectory && isJpsTestProject(it) } + .map { arrayOf(it.toRelativeString(jpsResourcesPath)) } + .toList() +// .take(30) + + @Synchronized + fun checkRecycleDaemon() { + if (testsCounter++ > MAX_TESTS_ON_SINGLE_DAEMON) { + BaseGradleIT.tearDownAll() + testsCounter = 0 + } + } + } +} +