From 5f9bad59056773a30f570910aba5510ecc570713 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Thu, 24 Aug 2017 04:11:28 +0300 Subject: [PATCH] Add JS specific build logs to inline properties IC tests Unlike the JVM target platform, the JS back-end does not track getters' and setters' usages separately, so when either accessor of some property is changed, all usages of that property will be rebuilt. --- .../testingUtils/BuildLogFinder.kt | 7 +++++-- ...stractIncrementalCompilerRunnerTestBase.kt | 5 +++-- ...AbstractIncrementalJsCompilerRunnerTest.kt | 4 ++++ .../inlinePropertyInClass/js-build.log | 19 +++++++++++++++++++ .../inlinePropertyOnTopLevel/js-build.log | 19 +++++++++++++++++++ 5 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 jps-plugin/testData/incremental/pureKotlin/inlinePropertyInClass/js-build.log create mode 100644 jps-plugin/testData/incremental/pureKotlin/inlinePropertyOnTopLevel/js-build.log diff --git a/build-common/test/org/jetbrains/kotlin/incremental/testingUtils/BuildLogFinder.kt b/build-common/test/org/jetbrains/kotlin/incremental/testingUtils/BuildLogFinder.kt index b8ae57d2b9c..d8fc8aa5b6a 100644 --- a/build-common/test/org/jetbrains/kotlin/incremental/testingUtils/BuildLogFinder.kt +++ b/build-common/test/org/jetbrains/kotlin/incremental/testingUtils/BuildLogFinder.kt @@ -18,11 +18,13 @@ package org.jetbrains.kotlin.incremental.testingUtils import java.io.File -class BuildLogFinder( +data class BuildLogFinder( private val isDataContainerBuildLogEnabled: Boolean = false, - private val isGradleEnabled: Boolean = false + private val isGradleEnabled: Boolean = false, + private val isJsEnabled: Boolean = false ) { companion object { + private const val JS_LOG = "js-build.log" private const val GRADLE_LOG = "gradle-build.log" private const val DATA_CONTAINER_LOG = "data-container-version-build.log" private const val SIMPLE_LOG = "build.log" @@ -32,6 +34,7 @@ class BuildLogFinder( val names = dir.list() ?: arrayOf() val files = names.filter { File(dir, it).isFile }.toSet() val matchedName = when { + isJsEnabled && JS_LOG in files -> JS_LOG isGradleEnabled && GRADLE_LOG in files -> GRADLE_LOG isDataContainerBuildLogEnabled && DATA_CONTAINER_LOG in files -> DATA_CONTAINER_LOG SIMPLE_LOG in files -> SIMPLE_LOG diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt index 97c5cb93837..11fce2f55f3 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/AbstractIncrementalCompilerRunnerTestBase.kt @@ -102,6 +102,9 @@ abstract class AbstractIncrementalCompilerRunnerTestBase, args: Args): TestCompilationResult private fun stepLogAsString(step: Int, ktSources: Iterable, errors: Collection, includeErrors: Boolean = true): String { @@ -134,7 +137,5 @@ abstract class AbstractIncrementalCompilerRunnerTestBase