diff --git a/idea/build.gradle.kts b/idea/build.gradle.kts index 161a9c4b6e9..991fe3791e1 100644 --- a/idea/build.gradle.kts +++ b/idea/build.gradle.kts @@ -194,6 +194,7 @@ dependencies { performanceTestCompile(sourceSets["test"].output) performanceTestCompile(sourceSets["main"].output) performanceTestCompile(project(":nj2k")) + performanceTestCompile(project(":idea:idea-gradle-tooling-api")) performanceTestCompile(intellijPluginDep("gradle")) performanceTestRuntime(sourceSets["performanceTest"].output) } @@ -220,6 +221,7 @@ projectTest(taskName = "performanceTest") { jvmArgs?.removeAll { it.startsWith("-Xmx") } maxHeapSize = "3g" + jvmArgs("-Didea.debug.mode=true") jvmArgs("-XX:SoftRefLRUPolicyMSPerMB=50") jvmArgs( "-XX:ReservedCodeCacheSize=240m", diff --git a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt index 9e3ab1b4d78..b85e0390f35 100644 --- a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt +++ b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/AbstractPerformanceProjectsTest.kt @@ -213,7 +213,7 @@ abstract class AbstractPerformanceProjectsTest : UsefulTestCase() { }.get() val modules = ModuleManager.getInstance(project).modules - assertTrue("project has to have at least one module", modules.isNotEmpty()) + assertTrue("project $name has to have at least one module", modules.isNotEmpty()) logMessage { "modules of $name: ${modules.map { m -> m.name }}" } diff --git a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/Stats.kt b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/Stats.kt index e761dc79fc5..2429351ae7c 100644 --- a/idea/performanceTests/org/jetbrains/kotlin/idea/perf/Stats.kt +++ b/idea/performanceTests/org/jetbrains/kotlin/idea/perf/Stats.kt @@ -235,8 +235,11 @@ class Stats( warmUpStatInfosArray.filterNotNull().map { it[ERROR_KEY] as? Throwable }.firstOrNull()?.let { throw it } } - private fun mainPhase(phaseData: PhaseData): Array = - phase(phaseData, "") + private fun mainPhase(phaseData: PhaseData): Array { + val statInfosArray = phase(phaseData, "") + statInfosArray.filterNotNull().map { it[ERROR_KEY] as? Throwable }.firstOrNull()?.let { throw it } + return statInfosArray + } private fun phase(phaseData: PhaseData, phaseName: String): Array { val statInfosArray = Array(phaseData.iterations) { null }