From 51bd0fd2db13c04fb700513193c5f8ca022824f1 Mon Sep 17 00:00:00 2001 From: Dmitriy Novozhilov Date: Sun, 3 Apr 2022 17:49:02 +0400 Subject: [PATCH] [FIR] Add ability to specify module name in modularized test Use `fir.bench.filter.name` property to specify module name instead of module path regex --- .../org/jetbrains/kotlin/fir/AbstractModularizedTest.kt | 9 ++++++--- 1 file changed, 6 insertions(+), 3 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 ba4996a8232..4dcef7c913d 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 @@ -7,7 +7,6 @@ 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.common.setupLanguageVersionSettings import org.jetbrains.kotlin.cli.jvm.config.configureJdkClasspathRoots import org.jetbrains.kotlin.cli.jvm.config.addJavaSourceRoot import org.jetbrains.kotlin.cli.jvm.config.addJvmClasspathRoots @@ -63,7 +62,9 @@ private fun NodeList.toList(): List { private val Node.childNodesList get() = childNodes.toList() -private val ROOT_PATH_PREFIX = System.getProperty("fir.bench.prefix", "/") +private val ROOT_PATH_PREFIX:String = System.getProperty("fir.bench.prefix", "/") +private val OUTPUT_DIR_REGEX_FILTER:String = System.getProperty("fir.bench.filter", ".*") +private val MODULE_NAME_FILTER: String? = System.getProperty("fir.bench.filter.name") abstract class AbstractModularizedTest : KtUsefulTestCase() { private val folderDateFormat = SimpleDateFormat("yyyy-MM-dd") @@ -195,13 +196,15 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() { println("BASE PATH: ${root.absolutePath}") - val filterRegex = (System.getProperty("fir.bench.filter") ?: ".*").toRegex() + val filterRegex = OUTPUT_DIR_REGEX_FILTER.toRegex() + val moduleName = MODULE_NAME_FILTER val files = root.listFiles() ?: emptyArray() val modules = files.filter { it.extension == "xml" } .sortedBy { it.lastModified() } .map { loadModule(it) } .sortedBy { it.timestamp } .filter { it.rawOutputDir.matches(filterRegex) } + .filter { (moduleName == null) || it.name == moduleName } .filter { !it.isCommon }