From 48a05e36889890bd50fb0491173eb69244008815 Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Tue, 10 Dec 2019 19:57:37 +0300 Subject: [PATCH] Support prefixed modularized test-data installation --- .../kotlin/fir/AbstractModularizedTest.kt | 29 ++++++++++++------- 1 file changed, 18 insertions(+), 11 deletions(-) diff --git a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractModularizedTest.kt b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractModularizedTest.kt index a0578364101..e308fcf755f 100644 --- a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractModularizedTest.kt +++ b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/AbstractModularizedTest.kt @@ -17,14 +17,19 @@ import javax.xml.parsers.DocumentBuilderFactory data class ModuleData( val name: String, - val outputDir: String, + val rawOutputDir: String, val qualifier: String, - val classpath: List, - val sources: List, - val javaSourceRoots: List, + val rawClasspath: List, + val rawSources: List, + val rawJavaSourceRoots: List, val isCommon: Boolean ) { val qualifiedName get() = if (name in qualifier) qualifier else "$name.$qualifier" + + val outputDir = File(ROOT_PATH_PREFIX, rawOutputDir.removePrefix("/")) + val classpath = rawClasspath.map { File(ROOT_PATH_PREFIX, it.removePrefix("/")) } + val sources = rawSources.map { File(ROOT_PATH_PREFIX, it.removePrefix("/")) } + val javaSourceRoots = rawJavaSourceRoots.map { File(ROOT_PATH_PREFIX, it.removePrefix("/")) } } private fun NodeList.toList(): List { @@ -38,6 +43,8 @@ private fun NodeList.toList(): List { private val Node.childNodesList get() = childNodes.toList() +private val ROOT_PATH_PREFIX = System.getProperty("fir.bench.prefix", "/") + abstract class AbstractModularizedTest : KtUsefulTestCase() { private val folderDateFormat = SimpleDateFormat("yyyy-MM-dd") private lateinit var startDate: Date @@ -74,9 +81,9 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() { val moduleName = moduleElement.attributes.getNamedItem("name").nodeValue val outputDir = moduleElement.attributes.getNamedItem("outputDir").nodeValue val moduleNameQualifier = outputDir.substringAfterLast("/") - val javaSourceRoots = mutableListOf() - val classpath = mutableListOf() - val sources = mutableListOf() + val javaSourceRoots = mutableListOf() + val classpath = mutableListOf() + val sources = mutableListOf() var isCommon = false for (index in 0 until moduleElement.childNodes.length) { @@ -85,14 +92,14 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() { if (item.nodeName == "classpath") { val path = item.attributes.getNamedItem("path").nodeValue if (path != outputDir) { - classpath += File(path) + classpath += path } } if (item.nodeName == "javaSourceRoots") { - javaSourceRoots += File(item.attributes.getNamedItem("path").nodeValue) + javaSourceRoots += item.attributes.getNamedItem("path").nodeValue } if (item.nodeName == "sources") { - sources += File(item.attributes.getNamedItem("path").nodeValue) + sources += item.attributes.getNamedItem("path").nodeValue } if (item.nodeName == "commonSources") { isCommon = true @@ -118,7 +125,7 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() { val filterRegex = (System.getProperty("fir.bench.filter") ?: ".*").toRegex() val modules = root.listFiles().sortedBy { it.lastModified() }.map { loadModule(it) } - .filter { it.outputDir.matches(filterRegex) } + .filter { it.rawOutputDir.matches(filterRegex) } .filter { !it.isCommon }