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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user