Modularized tests. Extract common class for FE1/FIR tests
^KT-56075
This commit is contained in:
committed by
Space Team
parent
52890ca601
commit
f54453950e
+38
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||
*/
|
||||
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||
import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot
|
||||
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
|
||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
||||
import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
|
||||
import org.jetbrains.kotlin.config.*
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
|
||||
abstract class AbstractFrontendModularizedTest : AbstractModularizedTest() {
|
||||
fun createDefaultConfiguration(moduleData: ModuleData): CompilerConfiguration {
|
||||
val configuration = KotlinTestUtils.newConfiguration()
|
||||
moduleData.javaSourceRoots.forEach {
|
||||
configuration.addJavaSourceRoot(it.path, it.packagePrefix)
|
||||
}
|
||||
configuration.addJvmClasspathRoots(moduleData.classpath)
|
||||
configuration.languageVersionSettings = LanguageVersionSettingsImpl(
|
||||
LanguageVersion.LATEST_STABLE,
|
||||
ApiVersion.LATEST_STABLE,
|
||||
analysisFlags = mutableMapOf(AnalysisFlags.optIn to moduleData.optInAnnotations)
|
||||
)
|
||||
configuration.configureJdkClasspathRoots()
|
||||
|
||||
// in case of modular jdk only
|
||||
configuration.putIfNotNull(JVMConfigurationKeys.JDK_HOME, moduleData.modularJdkRoot)
|
||||
|
||||
configuration.addAll(
|
||||
CLIConfigurationKeys.CONTENT_ROOTS,
|
||||
moduleData.sources.filter { it.extension == "kt" || it.isDirectory }.map { KotlinSourceRoot(it.absolutePath, false) })
|
||||
return configuration
|
||||
}
|
||||
}
|
||||
-29
@@ -5,14 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir
|
||||
|
||||
import org.jetbrains.kotlin.cli.common.CLIConfigurationKeys
|
||||
import org.jetbrains.kotlin.cli.common.config.KotlinSourceRoot
|
||||
import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots
|
||||
import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot
|
||||
import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots
|
||||
import org.jetbrains.kotlin.config.*
|
||||
import org.jetbrains.kotlin.fir.scopes.ProcessorAction
|
||||
import org.jetbrains.kotlin.test.KotlinTestUtils
|
||||
import org.jetbrains.kotlin.test.testFramework.KtUsefulTestCase
|
||||
import org.jetbrains.kotlin.types.AbstractTypeChecker
|
||||
import org.w3c.dom.Node
|
||||
@@ -96,28 +89,6 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() {
|
||||
AbstractTypeChecker.RUN_SLOW_ASSERTIONS = true
|
||||
}
|
||||
|
||||
fun createDefaultConfiguration(moduleData: ModuleData): CompilerConfiguration {
|
||||
val configuration = KotlinTestUtils.newConfiguration()
|
||||
moduleData.javaSourceRoots.forEach {
|
||||
configuration.addJavaSourceRoot(it.path, it.packagePrefix)
|
||||
}
|
||||
configuration.addJvmClasspathRoots(moduleData.classpath)
|
||||
configuration.languageVersionSettings = LanguageVersionSettingsImpl(
|
||||
LanguageVersion.LATEST_STABLE,
|
||||
ApiVersion.LATEST_STABLE,
|
||||
analysisFlags = mutableMapOf(AnalysisFlags.optIn to moduleData.optInAnnotations)
|
||||
)
|
||||
configuration.configureJdkClasspathRoots()
|
||||
|
||||
// in case of modular jdk only
|
||||
configuration.putIfNotNull(JVMConfigurationKeys.JDK_HOME, moduleData.modularJdkRoot)
|
||||
|
||||
configuration.addAll(
|
||||
CLIConfigurationKeys.CONTENT_ROOTS,
|
||||
moduleData.sources.filter { it.extension == "kt" || it.isDirectory }.map { KotlinSourceRoot(it.absolutePath, false) })
|
||||
return configuration
|
||||
}
|
||||
|
||||
private fun loadModule(file: File): ModuleData {
|
||||
|
||||
val factory = DocumentBuilderFactory.newInstance()
|
||||
|
||||
+1
-1
@@ -112,7 +112,7 @@ class PassEventReporter(private val stream: PrintStream) : AutoCloseable {
|
||||
}
|
||||
}
|
||||
|
||||
class FirResolveModularizedTotalKotlinTest : AbstractModularizedTest() {
|
||||
class FirResolveModularizedTotalKotlinTest : AbstractFrontendModularizedTest() {
|
||||
|
||||
private lateinit var dump: MultiModuleHtmlFirDump
|
||||
private lateinit var bench: FirResolveBench
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ import kotlin.system.measureNanoTime
|
||||
|
||||
private val USE_NI = System.getProperty("fir.bench.oldfe.ni", "true") == "true"
|
||||
|
||||
class NonFirResolveModularizedTotalKotlinTest : AbstractModularizedTest() {
|
||||
class NonFirResolveModularizedTotalKotlinTest : AbstractFrontendModularizedTest() {
|
||||
private var totalTime = 0L
|
||||
private var files = 0
|
||||
private var lines = 0
|
||||
|
||||
Reference in New Issue
Block a user