From e5b5a8db4229d4196da9c2536383cc7702cc37ed Mon Sep 17 00:00:00 2001 From: Ilya Chernikov Date: Mon, 21 Mar 2016 12:13:01 +0100 Subject: [PATCH] Rollback partially a commit that dropped removePerfOutput functionality, fixes CompilerDaemonTest.testHelloApp The commit was done by @yole in assumption that the function only affects PARF lines generated by compiler, but similar lines generated by daemon infrastructure were affected as well, the mentioned test was failing since. CliBaseTest class was refactored, I place the removePerfOutput function into AbstractCliTest class. --- .../org/jetbrains/kotlin/cli/AbstractCliTest.java | 12 ++++++++++++ .../jetbrains/kotlin/daemon/CompilerDaemonTest.kt | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/compiler/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java b/compiler/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java index af321726b79..743561957e6 100644 --- a/compiler/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java +++ b/compiler/tests/org/jetbrains/kotlin/cli/AbstractCliTest.java @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.cli; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.ArrayUtil; import kotlin.Pair; import kotlin.collections.CollectionsKt; @@ -156,4 +157,15 @@ public abstract class AbstractCliTest extends TestCaseWithTmpdir { protected void doJsTest(@NotNull String fileName) throws Exception { doTest(fileName, new K2JSCompiler()); } + + public static String removePerfOutput(String output) { + String[] lines = StringUtil.splitByLinesKeepSeparators(output); + StringBuilder result = new StringBuilder(); + for (String line : lines) { + if (!line.contains("PERF:")) { + result.append(line); + } + } + return result.toString(); + } } diff --git a/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt b/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt index 326c976cef3..7ef88adbd3c 100644 --- a/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/daemon/CompilerDaemonTest.kt @@ -16,6 +16,7 @@ package org.jetbrains.kotlin.daemon +import org.jetbrains.kotlin.cli.AbstractCliTest import org.jetbrains.kotlin.daemon.client.DaemonReportingTargets import org.jetbrains.kotlin.daemon.client.KotlinCompilerClient import org.jetbrains.kotlin.daemon.common.* @@ -55,7 +56,7 @@ class CompilerDaemonTest : KotlinIntegrationTestBase() { assertEquals("first compilation failed:\n${res1.out}", 0, res1.resultCode) val res2 = compileOnDaemon(clientAliveFile, compilerId, daemonJVMOptions, daemonOptions, *args) assertEquals("second compilation failed:\n${res2.out}", 0, res2.resultCode) - assertEquals("build results differ", res1.out, res2.out) + assertEquals("build results differ", AbstractCliTest.removePerfOutput(res1.out), AbstractCliTest.removePerfOutput(res2.out)) } private fun getTestBaseDir(): String = KotlinTestUtils.getTestDataPathBase() + "/integration/smoke/" + getTestName(true)