From 98aad3e00c906607d706c5e86709d4ce9560070b Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Sun, 21 Jul 2019 21:04:23 +0300 Subject: [PATCH] Extract EnableICFixture --- .../jps/build/AbstractIncrementalJpsTest.kt | 16 ++++------ .../AbstractIncrementalLazyCachesTest.kt | 8 ++--- .../jps/build/AbstractLookupTrackerTest.kt | 9 +++--- .../build/KotlinJpsBuildTestIncremental.kt | 15 +++------- .../jps/build/fixtures/EnableICFixture.kt | 29 +++++++++++++++++++ 5 files changed, 46 insertions(+), 31 deletions(-) create mode 100644 jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/fixtures/EnableICFixture.kt diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index d0b7eada4ac..7da9b6c9102 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -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() } diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt index cc530f70284..9cb1353cc30 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalLazyCachesTest.kt @@ -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() } diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt index 614a9ea9c1e..d8fda914349 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractLookupTrackerTest.kt @@ -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() } diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt index 63d4bbf0036..52c1d681c1d 100644 --- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/KotlinJpsBuildTestIncremental.kt @@ -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() } diff --git a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/fixtures/EnableICFixture.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/fixtures/EnableICFixture.kt new file mode 100644 index 00000000000..68bff03674f --- /dev/null +++ b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/fixtures/EnableICFixture.kt @@ -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) + } +} \ No newline at end of file