From 1fb325d56e25df1856394e3fbed80777681d91d9 Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Tue, 21 Apr 2020 18:04:22 +0200 Subject: [PATCH] Fix generateTests task adding TestMessageCollector that was moved with daemon tests back --- .../cli/test/AbstractArgumentParsingTest.kt | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt b/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt index 88d91d4b571..a88f5acf204 100644 --- a/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt +++ b/plugins/kapt3/kapt3-cli/test/org/jetbrains/kotlin/kapt/cli/test/AbstractArgumentParsingTest.kt @@ -5,7 +5,9 @@ package org.jetbrains.kotlin.kapt.cli.test import junit.framework.TestCase -import org.jetbrains.kotlin.daemon.TestMessageCollector +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageLocation +import org.jetbrains.kotlin.cli.common.messages.CompilerMessageSeverity +import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.kapt.cli.transformArgs import org.jetbrains.kotlin.test.JUnit3RunnerWithInners import org.jetbrains.kotlin.test.KotlinTestUtils @@ -29,4 +31,24 @@ abstract class AbstractArgumentParsingTest : TestCase() { KotlinTestUtils.assertEqualsToFile(testFile, actual) } -} \ No newline at end of file +} + +class TestMessageCollector : MessageCollector { + data class Message(val severity: CompilerMessageSeverity, val message: String, val location: CompilerMessageLocation?) + + val messages = arrayListOf() + + override fun clear() { + messages.clear() + } + + override fun report(severity: CompilerMessageSeverity, message: String, location: CompilerMessageLocation?) { + messages.add(Message(severity, message, location)) + } + + override fun hasErrors(): Boolean = messages.any { it.severity == CompilerMessageSeverity.EXCEPTION || it.severity == CompilerMessageSeverity.ERROR } + + override fun toString(): String { + return messages.joinToString("\n") { "${it.severity}: ${it.message}${it.location?.let{" at $it"} ?: ""}" } + } +}