FIR: add incremental compilation tests
This commit is contained in:
@@ -23,7 +23,8 @@ data class BuildLogFinder(
|
|||||||
private val isGradleEnabled: Boolean = false,
|
private val isGradleEnabled: Boolean = false,
|
||||||
private val isJsEnabled: Boolean = false,
|
private val isJsEnabled: Boolean = false,
|
||||||
private val isScopeExpansionEnabled: Boolean = false,
|
private val isScopeExpansionEnabled: Boolean = false,
|
||||||
private val isKlibEnabled: Boolean = false
|
private val isKlibEnabled: Boolean = false,
|
||||||
|
private val isFirEnabled: Boolean = false
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
private const val JS_LOG = "js-build.log"
|
private const val JS_LOG = "js-build.log"
|
||||||
@@ -48,6 +49,7 @@ data class BuildLogFinder(
|
|||||||
isGradleEnabled && GRADLE_LOG in files -> GRADLE_LOG
|
isGradleEnabled && GRADLE_LOG in files -> GRADLE_LOG
|
||||||
isJsEnabled && JS_JPS_LOG in files -> JS_JPS_LOG
|
isJsEnabled && JS_JPS_LOG in files -> JS_JPS_LOG
|
||||||
isDataContainerBuildLogEnabled && DATA_CONTAINER_LOG in files -> DATA_CONTAINER_LOG
|
isDataContainerBuildLogEnabled && DATA_CONTAINER_LOG in files -> DATA_CONTAINER_LOG
|
||||||
|
isFirEnabled && FIR_LOG in files -> FIR_LOG
|
||||||
SIMPLE_LOG in files -> SIMPLE_LOG
|
SIMPLE_LOG in files -> SIMPLE_LOG
|
||||||
else -> null
|
else -> null
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -350,6 +350,9 @@ object KotlinToJVMBytecodeCompiler {
|
|||||||
)
|
)
|
||||||
performanceManager?.notifyAnalysisFinished()
|
performanceManager?.notifyAnalysisFinished()
|
||||||
|
|
||||||
|
// TODO: maybe we should not do it in presence of errors, but tests at the moment expect lookups to be reported
|
||||||
|
session.firLookupTracker?.flushLookups()
|
||||||
|
|
||||||
if (syntaxErrors || firDiagnostics.any { it.severity == Severity.ERROR }) {
|
if (syntaxErrors || firDiagnostics.any { it.severity == Severity.ERROR }) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|||||||
+32
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2017 JetBrains s.r.o.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package org.jetbrains.kotlin.incremental
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
|
||||||
|
import org.jetbrains.kotlin.incremental.testingUtils.BuildLogFinder
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
|
abstract class AbstractIncrementalFirJvmCompilerRunnerTest : AbstractIncrementalJvmCompilerRunnerTest() {
|
||||||
|
override fun createCompilerArguments(destinationDir: File, testDir: File): K2JVMCompilerArguments =
|
||||||
|
super.createCompilerArguments(destinationDir, testDir).apply {
|
||||||
|
useFir = true
|
||||||
|
useIR = true
|
||||||
|
}
|
||||||
|
|
||||||
|
override val buildLogFinder: BuildLogFinder
|
||||||
|
get() = BuildLogFinder(isGradleEnabled = true, isFirEnabled = true) // TODO: investigate cases that need isGradleEnabled - the combination looks fragile
|
||||||
|
}
|
||||||
+2620
File diff suppressed because it is too large
Load Diff
@@ -1593,6 +1593,7 @@ fun main(args: Array<String>) {
|
|||||||
}
|
}
|
||||||
testClass<AbstractIncrementalJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR))
|
testClass<AbstractIncrementalJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR))
|
||||||
testClass<AbstractIncrementalJvmOldBackendCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM))
|
testClass<AbstractIncrementalJvmOldBackendCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM))
|
||||||
|
testClass<AbstractIncrementalFirJvmCompilerRunnerTest>(init = incrementalJvmTestData(TargetBackend.JVM_IR))
|
||||||
|
|
||||||
testClass<AbstractIncrementalJsCompilerRunnerTest> {
|
testClass<AbstractIncrementalJsCompilerRunnerTest> {
|
||||||
model("incremental/pureKotlin", extension = null, recursive = false)
|
model("incremental/pureKotlin", extension = null, recursive = false)
|
||||||
|
|||||||
Reference in New Issue
Block a user