[Test] Add flag to full pipeline test which allows to use build file instead of regular args

This commit is contained in:
Dmitriy Novozhilov
2021-08-23 13:25:29 +03:00
parent 4a75222491
commit 455ed1bdc0
@@ -22,6 +22,8 @@ import java.io.PrintStream
import java.nio.file.Files
import java.nio.file.Path
private val USE_BUILD_FILE: Boolean = System.getProperty("fir.bench.use.build.file", "true").toBooleanLenient()!!
abstract class AbstractFullPipelineModularizedTest : AbstractModularizedTest() {
private val asyncProfilerControl = AsyncProfilerControl()
@@ -126,6 +128,25 @@ abstract class AbstractFullPipelineModularizedTest : AbstractModularizedTest() {
}
private fun configureBaseArguments(args: K2JVMCompilerArguments, moduleData: ModuleData, tmp: Path) {
args.reportPerf = true
args.jvmTarget = "1.8"
args.allowKotlinPackage = true
if (USE_BUILD_FILE) {
configureArgsUsingBuildFile(args, moduleData, tmp)
} else {
configureRegularArgs(args, moduleData, tmp)
}
}
private fun configureRegularArgs(args: K2JVMCompilerArguments, moduleData: ModuleData, tmp: Path) {
args.classpath = moduleData.classpath.joinToString(separator = ":") { it.absolutePath }
args.javaSourceRoots = moduleData.javaSourceRoots.map { it.path.absolutePath }.toTypedArray()
args.freeArgs = moduleData.sources.map { it.absolutePath }
args.destination = tmp.toAbsolutePath().toFile().toString()
args.friendPaths = moduleData.friendDirs.map { it.canonicalPath }.toTypedArray()
}
private fun configureArgsUsingBuildFile(args: K2JVMCompilerArguments, moduleData: ModuleData, tmp: Path) {
val builder = KotlinModuleXmlBuilder()
builder.addModule(
moduleData.name,
@@ -142,10 +163,6 @@ abstract class AbstractFullPipelineModularizedTest : AbstractModularizedTest() {
)
val modulesFile = tmp.toFile().resolve("modules.xml")
modulesFile.writeText(builder.asText().toString())
args.reportPerf = true
args.jvmTarget = "1.8"
args.allowKotlinPackage = true
args.buildFile = modulesFile.absolutePath
}
@@ -338,4 +355,4 @@ abstract class AbstractFullPipelineModularizedTest : AbstractModularizedTest() {
}
}
}