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.
This commit is contained in:
Ilya Chernikov
2016-03-21 12:13:01 +01:00
parent 00cb2705da
commit e5b5a8db42
2 changed files with 14 additions and 1 deletions
@@ -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();
}
}
@@ -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)