Get rid of KTUsefulTestCase, improve stability of the tests
This commit is contained in:
@@ -7,8 +7,6 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
testRuntimeOnly(intellijDep()) // Should come before compiler, because of "progarded" stuff needed for tests
|
|
||||||
|
|
||||||
compileOnly(project(":compiler:frontend"))
|
compileOnly(project(":compiler:frontend"))
|
||||||
compileOnly(project(":compiler:frontend.java"))
|
compileOnly(project(":compiler:frontend.java"))
|
||||||
compileOnly(project(":compiler:psi"))
|
compileOnly(project(":compiler:psi"))
|
||||||
@@ -35,6 +33,7 @@ dependencies {
|
|||||||
testCompile(commonDep("junit:junit"))
|
testCompile(commonDep("junit:junit"))
|
||||||
|
|
||||||
testImplementation(intellijCoreDep()) { includeJars("intellij-core") }
|
testImplementation(intellijCoreDep()) { includeJars("intellij-core") }
|
||||||
|
testRuntimeOnly(intellijDep()) { includeJars("jps-model") }
|
||||||
}
|
}
|
||||||
|
|
||||||
sourceSets {
|
sourceSets {
|
||||||
@@ -58,7 +57,7 @@ javadocJar()
|
|||||||
|
|
||||||
testsJar()
|
testsJar()
|
||||||
|
|
||||||
projectTest {
|
projectTest(parallel = true) {
|
||||||
dependsOn(":dist")
|
dependsOn(":dist")
|
||||||
workingDir = rootDir
|
workingDir = rootDir
|
||||||
systemProperty("kotlin.test.script.classpath", testSourceSet.output.classesDirs.joinToString(File.pathSeparator))
|
systemProperty("kotlin.test.script.classpath", testSourceSet.output.classesDirs.joinToString(File.pathSeparator))
|
||||||
|
|||||||
+10
@@ -223,4 +223,14 @@ internal fun <R> withDisposable(body: (Disposable) -> R) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class TestDisposable : Disposable {
|
||||||
|
@Volatile
|
||||||
|
var isDisposed = false
|
||||||
|
private set
|
||||||
|
|
||||||
|
override fun dispose() {
|
||||||
|
isDisposed = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+5
-2
@@ -5,25 +5,28 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.scripting.compiler.test
|
package org.jetbrains.kotlin.scripting.compiler.test
|
||||||
|
|
||||||
|
import com.intellij.openapi.Disposable
|
||||||
import junit.framework.TestCase
|
import junit.framework.TestCase
|
||||||
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoot
|
import org.jetbrains.kotlin.cli.common.config.addKotlinSourceRoot
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
|
import org.jetbrains.kotlin.cli.jvm.config.jvmClasspathRoots
|
||||||
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
||||||
|
import org.jetbrains.kotlin.scripting.compiler.plugin.TestDisposable
|
||||||
import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys
|
import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys
|
||||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.script.experimental.host.ScriptingHostConfiguration
|
import kotlin.script.experimental.host.ScriptingHostConfiguration
|
||||||
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
||||||
|
|
||||||
private const val testDataPath = "plugins/scripting/scripting-compiler/testData/compiler/collectDependencies"
|
private const val testDataPath = "plugins/scripting/scripting-compiler/testData/compiler/collectDependencies"
|
||||||
|
|
||||||
class CollectScriptCompilationDependenciesTest : KtUsefulTestCase() {
|
class CollectScriptCompilationDependenciesTest : TestCase() {
|
||||||
|
|
||||||
|
protected val testRootDisposable: Disposable = TestDisposable()
|
||||||
|
|
||||||
fun testCascadeImport() {
|
fun testCascadeImport() {
|
||||||
runTest("imp_imp_leaf.req1.kts", listOf("imp_leaf.req1.kts", "leaf.req1.kts"))
|
runTest("imp_imp_leaf.req1.kts", listOf("imp_leaf.req1.kts", "leaf.req1.kts"))
|
||||||
|
|||||||
+6
-2
@@ -5,19 +5,21 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.scripting.compiler.test
|
package org.jetbrains.kotlin.scripting.compiler.test
|
||||||
|
|
||||||
|
import com.intellij.openapi.Disposable
|
||||||
|
import junit.framework.TestCase
|
||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY
|
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY
|
||||||
import org.jetbrains.kotlin.cli.common.ExitCode
|
import org.jetbrains.kotlin.cli.common.ExitCode
|
||||||
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
import org.jetbrains.kotlin.cli.common.messages.MessageCollector
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
|
||||||
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
import org.jetbrains.kotlin.script.loadScriptingPlugin
|
||||||
|
import org.jetbrains.kotlin.scripting.compiler.plugin.TestDisposable
|
||||||
import org.jetbrains.kotlin.scripting.compiler.plugin.TestMessageCollector
|
import org.jetbrains.kotlin.scripting.compiler.plugin.TestMessageCollector
|
||||||
import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys
|
import org.jetbrains.kotlin.scripting.configuration.ScriptingConfigurationKeys
|
||||||
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
import org.jetbrains.kotlin.scripting.definitions.ScriptDefinition
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
|
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -29,7 +31,9 @@ import kotlin.script.experimental.jvm.*
|
|||||||
|
|
||||||
private const val testDataPath = "plugins/scripting/scripting-compiler/testData/cliCompilation"
|
private const val testDataPath = "plugins/scripting/scripting-compiler/testData/cliCompilation"
|
||||||
|
|
||||||
class ScriptCliCompilationTest : KtUsefulTestCase() {
|
class ScriptCliCompilationTest : TestCase() {
|
||||||
|
|
||||||
|
protected val testRootDisposable: Disposable = TestDisposable()
|
||||||
|
|
||||||
fun testPrerequisites() {
|
fun testPrerequisites() {
|
||||||
Assert.assertTrue(thisClasspath.isNotEmpty())
|
Assert.assertTrue(thisClasspath.isNotEmpty())
|
||||||
|
|||||||
+2
-2
@@ -7,6 +7,7 @@
|
|||||||
package org.jetbrains.kotlin.scripting.compiler.test
|
package org.jetbrains.kotlin.scripting.compiler.test
|
||||||
|
|
||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
|
import junit.framework.TestCase
|
||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||||
import org.jetbrains.kotlin.cli.common.messages.*
|
import org.jetbrains.kotlin.cli.common.messages.*
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
@@ -24,7 +25,6 @@ import org.jetbrains.kotlin.scripting.resolve.KotlinScriptDefinitionFromAnnotate
|
|||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
|
|
||||||
import org.jetbrains.kotlin.utils.PathUtil
|
import org.jetbrains.kotlin.utils.PathUtil
|
||||||
import org.jetbrains.kotlin.utils.tryConstructClassFromStringArgs
|
import org.jetbrains.kotlin.utils.tryConstructClassFromStringArgs
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
@@ -48,7 +48,7 @@ import kotlin.script.templates.standard.ScriptTemplateWithArgs
|
|||||||
// TODO: the contetnts of this file should go into ScriptTest.kt and replace appropriate xml-based functionality,
|
// TODO: the contetnts of this file should go into ScriptTest.kt and replace appropriate xml-based functionality,
|
||||||
// as soon as the the latter is removed from the codebase
|
// as soon as the the latter is removed from the codebase
|
||||||
|
|
||||||
class ScriptTemplateTest : KtUsefulTestCase() {
|
class ScriptTemplateTest : TestCase() {
|
||||||
fun testScriptWithParam() {
|
fun testScriptWithParam() {
|
||||||
val messageCollector = TestMessageCollector()
|
val messageCollector = TestMessageCollector()
|
||||||
val aClass = compileScript("fib.kts", ScriptWithIntParam::class, null, messageCollector = messageCollector)
|
val aClass = compileScript("fib.kts", ScriptWithIntParam::class, null, messageCollector = messageCollector)
|
||||||
|
|||||||
+2
-2
@@ -6,6 +6,7 @@
|
|||||||
package org.jetbrains.kotlin.scripting.compiler.test
|
package org.jetbrains.kotlin.scripting.compiler.test
|
||||||
|
|
||||||
import com.intellij.openapi.util.Disposer
|
import com.intellij.openapi.util.Disposer
|
||||||
|
import junit.framework.TestCase
|
||||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||||
import org.jetbrains.kotlin.cli.common.messages.*
|
import org.jetbrains.kotlin.cli.common.messages.*
|
||||||
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles
|
||||||
@@ -20,7 +21,6 @@ import org.jetbrains.kotlin.scripting.definitions.StandardScriptDefinition
|
|||||||
import org.jetbrains.kotlin.test.ConfigurationKind
|
import org.jetbrains.kotlin.test.ConfigurationKind
|
||||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.test.TestJdkKind
|
import org.jetbrains.kotlin.test.TestJdkKind
|
||||||
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
|
|
||||||
import org.jetbrains.kotlin.utils.tryConstructClassFromStringArgs
|
import org.jetbrains.kotlin.utils.tryConstructClassFromStringArgs
|
||||||
import org.junit.Assert
|
import org.junit.Assert
|
||||||
import java.io.File
|
import java.io.File
|
||||||
@@ -28,7 +28,7 @@ import java.net.URLClassLoader
|
|||||||
import kotlin.script.experimental.host.toScriptSource
|
import kotlin.script.experimental.host.toScriptSource
|
||||||
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
|
||||||
|
|
||||||
class ScriptTest : KtUsefulTestCase() {
|
class ScriptTest : TestCase() {
|
||||||
fun testStandardScriptWithParams() {
|
fun testStandardScriptWithParams() {
|
||||||
val aClass = compileScript("fib_std.kts", StandardScriptDefinition)
|
val aClass = compileScript("fib_std.kts", StandardScriptDefinition)
|
||||||
Assert.assertNotNull(aClass)
|
Assert.assertNotNull(aClass)
|
||||||
|
|||||||
Reference in New Issue
Block a user