[TEST] Introduce test-infrastructure-utils module and extract common test utilities here

This commit is contained in:
Dmitriy Novozhilov
2020-12-02 16:00:43 +03:00
parent 1c91b74ff0
commit c8f3a4802e
189 changed files with 791 additions and 630 deletions
@@ -33,7 +33,10 @@ import org.jetbrains.kotlin.cli.common.messages.MessageRenderer
import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment
import org.jetbrains.kotlin.cli.jvm.config.JvmClasspathRoot
import org.jetbrains.kotlin.codegen.*
import org.jetbrains.kotlin.codegen.ClassBuilderMode
import org.jetbrains.kotlin.codegen.CodegenTestFiles
import org.jetbrains.kotlin.codegen.GenerationUtils
import org.jetbrains.kotlin.codegen.OriginCollectingClassBuilderFactory
import org.jetbrains.kotlin.extensions.StorageComponentContainerContributor
import org.jetbrains.kotlin.kapt.base.test.JavaKaptContextTest
import org.jetbrains.kotlin.kapt3.Kapt3ComponentRegistrar.KaptComponentContributor
@@ -52,6 +55,7 @@ import org.jetbrains.kotlin.resolve.jvm.extensions.PartialAnalysisHandlerExtensi
import org.jetbrains.kotlin.test.ConfigurationKind
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.TestJdkKind
import org.jetbrains.kotlin.test.util.KtTestUtil
import org.jetbrains.kotlin.test.util.trimTrailingWhitespacesAndAddNewlineAtEOF
import org.jetbrains.kotlin.utils.PathUtil
import org.jetbrains.kotlin.utils.addToStdlib.firstIsInstance
@@ -85,7 +89,7 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
val project = myEnvironment.project
val psiManager = PsiManager.getInstance(project)
val tmpDir = KotlinTestUtils.tmpDir("kaptTest")
val tmpDir = KtTestUtil.tmpDir("kaptTest")
val ktFiles = ArrayList<KtFile>(files.size)
for (file in files.sorted()) {
@@ -119,7 +123,7 @@ abstract class AbstractKotlinKapt3Test : KotlinKapt3TestBase() {
projectBaseDir = project.basePath?.let { File(it) }
compileClasspath.addAll(PathUtil.getJdkClassesRootsFromCurrentJre() + PathUtil.kotlinPathsForIdeaPlugin.stdlibPath)
sourcesOutputDir = KotlinTestUtils.tmpDir("kaptRunner")
sourcesOutputDir = KtTestUtil.tmpDir("kaptRunner")
classesOutputDir = sourcesOutputDir
stubsOutputDir = sourcesOutputDir
incrementalDataOutputDir = sourcesOutputDir
@@ -353,4 +357,4 @@ private fun addAnnotationProcessingRuntimeLibrary(environment: KotlinCoreEnviron
val runtimeLibrary = File(PathUtil.kotlinPathsForCompiler.libPath, "kotlin-annotation-processing-runtime.jar")
updateClasspath(listOf(JvmClasspathRoot(runtimeLibrary)))
}
}
}
@@ -18,9 +18,8 @@ package org.jetbrains.kotlin.kapt3.test
import com.intellij.openapi.application.PathManager
import com.intellij.openapi.util.SystemInfoRt
import org.jetbrains.kotlin.kapt3.base.util.isJava11OrLater
import org.jetbrains.kotlin.kapt3.base.util.isJava9OrLater
import org.jetbrains.kotlin.test.KotlinTestUtils
import org.jetbrains.kotlin.test.util.KtTestUtil
import java.io.File
import java.net.URL
import java.net.URLClassLoader
@@ -31,12 +30,12 @@ interface CustomJdkTestLauncher {
// Already under Java 9
if (isJava9OrLater()) return
doTestCustomJdk(mainClass, arg, KotlinTestUtils.getJdk9Home())
doTestCustomJdk(mainClass, arg, KtTestUtil.getJdk9Home())
}
fun doTestWithJdk11(mainClass: Class<*>, arg: String) {
if (isJava9OrLater()) return
KotlinTestUtils.getJdk11Home()?.let { doTestCustomJdk(mainClass, arg, it) }
KtTestUtil.getJdk11Home()?.let { doTestCustomJdk(mainClass, arg, it) }
}
private fun doTestCustomJdk(mainClass: Class<*>, arg: String, javaHome: File) {
@@ -79,4 +78,4 @@ interface CustomJdkTestLauncher {
else -> emptyList()
}
}
}