[Test] Add flag to full pipeline test which allows to use build file instead of regular args
This commit is contained in:
+22
-5
@@ -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() {
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user