Extract EnableICFixture

This commit is contained in:
Alexey Tsvetkov
2019-07-21 21:04:23 +03:00
parent a4c62d156f
commit 98aad3e00c
5 changed files with 46 additions and 31 deletions
@@ -46,11 +46,11 @@ import org.jetbrains.jps.util.JpsPathUtil
import org.jetbrains.kotlin.cli.common.KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.common.arguments.K2MetadataCompilerArguments
import org.jetbrains.kotlin.config.IncrementalCompilation
import org.jetbrains.kotlin.incremental.LookupSymbol
import org.jetbrains.kotlin.incremental.testingUtils.*
import org.jetbrains.kotlin.jps.build.dependeciestxt.ModulesTxt
import org.jetbrains.kotlin.jps.build.dependeciestxt.ModulesTxtBuilder
import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture
import org.jetbrains.kotlin.jps.incremental.*
import org.jetbrains.kotlin.jps.model.JpsKotlinFacetModuleExtension
import org.jetbrains.kotlin.jps.model.kotlinFacet
@@ -121,18 +121,15 @@ abstract class AbstractIncrementalJpsTest(
System.setProperties(props)
}
private val enableICFixture = EnableICFixture()
override fun setUp() {
super.setUp()
enableICFixture.setUp()
lookupsDuringTest = hashSetOf()
isJvmICEnabledBackup = IncrementalCompilation.isEnabledForJvm()
isJsICEnabledBackup = IncrementalCompilation.isEnabledForJs()
System.setProperty(KOTLIN_COMPILER_ENVIRONMENT_KEEPALIVE_PROPERTY, "true")
IncrementalCompilation.setIsEnabledForJvm(true)
IncrementalCompilation.setIsEnabledForJs(true)
if (DEBUG_LOGGING_ENABLED) {
enableDebugLogging()
}
@@ -146,10 +143,7 @@ abstract class AbstractIncrementalJpsTest(
(AbstractIncrementalJpsTest::systemPropertiesBackup).javaField!![this] = null
lookupsDuringTest.clear()
IncrementalCompilation.setIsEnabledForJvm(isJvmICEnabledBackup)
IncrementalCompilation.setIsEnabledForJs(isJsICEnabledBackup)
enableICFixture.tearDown()
super.tearDown()
}
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.incremental.KOTLIN_CACHE_DIRECTORY_NAME
import org.jetbrains.kotlin.incremental.storage.BasicMapsOwner
import org.jetbrains.kotlin.incremental.testingUtils.Modification
import org.jetbrains.kotlin.incremental.testingUtils.ModifyContent
import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture
import org.jetbrains.kotlin.jps.incremental.KotlinDataContainerTarget
import org.jetbrains.kotlin.jps.targets.KotlinModuleBuildTarget
import org.jetbrains.kotlin.utils.Printer
@@ -33,16 +34,15 @@ abstract class AbstractIncrementalLazyCachesTest : AbstractIncrementalJpsTest()
private val expectedCachesFileName: String
get() = "expected-kotlin-caches.txt"
private var isICEnabledBackup: Boolean = false
private val enableICFixture = EnableICFixture()
override fun setUp() {
super.setUp()
isICEnabledBackup = IncrementalCompilation.isEnabledForJvm()
IncrementalCompilation.setIsEnabledForJvm(true)
enableICFixture.setUp()
}
override fun tearDown() {
IncrementalCompilation.setIsEnabledForJvm(isICEnabledBackup)
enableICFixture.tearDown()
super.tearDown()
}
@@ -26,7 +26,6 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments
import org.jetbrains.kotlin.cli.jvm.K2JVMCompiler
import org.jetbrains.kotlin.codegen.forTestCompile.ForTestCompileRuntime
import org.jetbrains.kotlin.compilerRunner.*
import org.jetbrains.kotlin.config.IncrementalCompilation
import org.jetbrains.kotlin.config.Services
import org.jetbrains.kotlin.incremental.components.LookupInfo
import org.jetbrains.kotlin.incremental.components.LookupTracker
@@ -39,6 +38,7 @@ import org.jetbrains.kotlin.incremental.testingUtils.TouchPolicy
import org.jetbrains.kotlin.incremental.testingUtils.copyTestSources
import org.jetbrains.kotlin.incremental.testingUtils.getModificationsToPerform
import org.jetbrains.kotlin.incremental.utils.TestMessageCollector
import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture
import org.jetbrains.kotlin.jps.incremental.createTestingCompilerEnvironment
import org.jetbrains.kotlin.jps.incremental.runJSCompiler
import org.jetbrains.kotlin.test.KotlinTestUtils
@@ -158,18 +158,17 @@ abstract class AbstractLookupTrackerTest : TestWithWorkingDir() {
protected lateinit var srcDir: File
protected lateinit var outDir: File
private var isICEnabledBackup: Boolean = false
private val enableICFixture = EnableICFixture()
override fun setUp() {
super.setUp()
srcDir = File(workingDir, "src").apply { mkdirs() }
outDir = File(workingDir, "out")
isICEnabledBackup = IncrementalCompilation.isEnabledForJvm()
IncrementalCompilation.setIsEnabledForJvm(true)
enableICFixture.setUp()
}
override fun tearDown() {
IncrementalCompilation.setIsEnabledForJvm(isICEnabledBackup)
enableICFixture.tearDown()
super.tearDown()
}
@@ -22,35 +22,28 @@ import org.jetbrains.kotlin.cli.common.arguments.CommonCompilerArguments
import org.jetbrains.jps.builders.JpsBuildTestCase
import org.jetbrains.jps.builders.logging.BuildLoggingManager
import org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner
import org.jetbrains.kotlin.config.IncrementalCompilation
import org.jetbrains.kotlin.config.LanguageVersion
import kotlin.reflect.KMutableProperty1
import org.jetbrains.kotlin.daemon.common.COMPILE_DAEMON_CUSTOM_RUN_FILES_PATH_FOR_TESTS
import org.jetbrains.kotlin.daemon.common.COMPILE_DAEMON_ENABLED_PROPERTY
import org.jetbrains.kotlin.daemon.common.isDaemonEnabled
import org.jetbrains.kotlin.incremental.LookupSymbol
import org.jetbrains.kotlin.jps.build.fixtures.EnableICFixture
import org.jetbrains.kotlin.jps.model.kotlinCommonCompilerArguments
import org.jetbrains.kotlin.jps.model.kotlinCompilerArguments
import org.junit.Assert
import java.io.File
class KotlinJpsBuildTestIncremental : KotlinJpsBuildTest() {
var isICEnabledBackup: Boolean = false
var isICEnabledForJsBackup: Boolean = false
private val enableICFixture = EnableICFixture()
override fun setUp() {
super.setUp()
isICEnabledBackup = IncrementalCompilation.isEnabledForJvm()
IncrementalCompilation.setIsEnabledForJvm(true)
isICEnabledForJsBackup = IncrementalCompilation.isEnabledForJs()
IncrementalCompilation.setIsEnabledForJs(true)
enableICFixture.setUp()
}
override fun tearDown() {
IncrementalCompilation.setIsEnabledForJvm(isICEnabledBackup)
IncrementalCompilation.setIsEnabledForJs(isICEnabledForJsBackup)
enableICFixture.tearDown()
super.tearDown()
}
@@ -0,0 +1,29 @@
/*
* Copyright 2010-2019 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.jps.build.fixtures
import org.jetbrains.kotlin.config.IncrementalCompilation
class EnableICFixture(
private val enableJvmIC: Boolean = true,
private val enableJsIC: Boolean = true
) {
private var isICEnabledBackup: Boolean = false
private var isICEnabledForJsBackup: Boolean = false
fun setUp() {
isICEnabledBackup = IncrementalCompilation.isEnabledForJvm()
IncrementalCompilation.setIsEnabledForJvm(enableJvmIC)
isICEnabledForJsBackup = IncrementalCompilation.isEnabledForJs()
IncrementalCompilation.setIsEnabledForJs(enableJsIC)
}
fun tearDown() {
IncrementalCompilation.setIsEnabledForJvm(isICEnabledBackup)
IncrementalCompilation.setIsEnabledForJs(isICEnabledForJsBackup)
}
}