From 953038958371f8ebf0b9a91f8491b17aa7b2539f Mon Sep 17 00:00:00 2001 From: Simon Ogorodnik Date: Mon, 26 Aug 2019 15:31:58 +0300 Subject: [PATCH] [FIR] Group multiple pass logs into one --- .../kotlin/fir/AbstractModularizedTest.kt | 4 +- .../FirResolveModularizedTotalKotlinTest.kt | 39 +++++++++++++++---- ...NonFirResolveModularizedTotalKotlinTest.kt | 2 +- 3 files changed, 35 insertions(+), 10 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 841c7f3a752..4be97dc9599 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 @@ -81,7 +81,7 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() { protected abstract fun beforePass() - protected abstract fun afterPass() + protected abstract fun afterPass(pass: Int) protected abstract fun processModule(moduleData: ModuleData): ProcessorAction protected fun runTestOnce(pass: Int) { @@ -103,6 +103,6 @@ abstract class AbstractModularizedTest : KtUsefulTestCase() { } } - afterPass() + afterPass(pass) } } diff --git a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt index d1b8c558a76..f19dd5ef18f 100644 --- a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt +++ b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/FirResolveModularizedTotalKotlinTest.kt @@ -26,6 +26,7 @@ import org.jetbrains.kotlin.test.ConfigurationKind import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.test.TestJdkKind import java.io.File +import java.io.FileOutputStream import java.io.PrintStream import java.text.SimpleDateFormat import java.util.* @@ -124,22 +125,46 @@ class FirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { if (DUMP_FIR) dump = MultiModuleHtmlFirDump(File(FIR_HTML_DUMP_PATH)) } - override fun afterPass() { + override fun afterPass(pass: Int) { bench.report(System.out, errorTypeReports = false) - saveReport() + saveReport(pass) if (FAIL_FAST) { bench.throwFailure() } } - private fun saveReport() { + private val folderDateFormat = SimpleDateFormat("yyyy-MM-dd") + private lateinit var startDate: Date + + override fun setUp() { + startDate = Date() + super.setUp() + } + + private fun reportDir() = File(FIR_LOGS_PATH, folderDateFormat.format(startDate)) + .also { + it.mkdirs() + } + + private val reportDateStr by lazy { + val reportDateFormat = SimpleDateFormat("yyyy-MM-dd__HH-mm") + reportDateFormat.format(startDate) + } + + private fun saveReport(pass: Int) { if (DUMP_FIR) dump.finish() - val format = SimpleDateFormat("yyyy-MM-dd__HH-mm") - val logDir = File(FIR_LOGS_PATH) - logDir.mkdirs() - PrintStream(logDir.resolve("report-${format.format(Date())}.log").outputStream()).use { stream -> + PrintStream( + FileOutputStream( + reportDir().resolve("report-$reportDateStr.log"), + true + ) + ).use { stream -> + val sep = "=".repeat(10) + stream.println("$sep PASS $pass $sep") bench.report(stream) + stream.println() + stream.println() } } diff --git a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt index 44d7cfe1daf..89b22eea5df 100644 --- a/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt +++ b/compiler/fir/modularized-tests/tests/org/jetbrains/kotlin/fir/NonFirResolveModularizedTotalKotlinTest.kt @@ -82,7 +82,7 @@ class NonFirResolveModularizedTotalKotlinTest : AbstractModularizedTest() { } - override fun afterPass() {} + override fun afterPass(pass: Int) {} override fun beforePass() {} fun testTotalKotlin() {