From 765f02f9ac73ad26147d026ddc024ea3bd667838 Mon Sep 17 00:00:00 2001 From: Alexey Tsvetkov Date: Wed, 19 Oct 2016 21:28:28 +0300 Subject: [PATCH] Ensure jps caches are always cleared in tests Original commit: ea93ec3eecb939a6b2c7b6334932f9b2b32eba5d --- .../jps/build/AbstractIncrementalJpsTest.kt | 9 ++--- .../build/AbstractKotlinJpsBuildTestCase.java | 14 +------- .../jps/build/BaseKotlinJpsBuildTestCase.kt | 33 +++++++++++++++++++ 3 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt index 2dc4b5a4432..957e78df221 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractIncrementalJpsTest.kt @@ -31,7 +31,6 @@ import org.jetbrains.jps.ModuleChunk import org.jetbrains.jps.api.CanceledStatus import org.jetbrains.jps.builders.BuildResult import org.jetbrains.jps.builders.CompileScopeTestBuilder -import org.jetbrains.jps.builders.JpsBuildTestCase import org.jetbrains.jps.builders.impl.BuildDataPathsImpl import org.jetbrains.jps.builders.impl.logging.ProjectBuilderLoggerBase import org.jetbrains.jps.builders.java.dependencyView.Callbacks @@ -55,10 +54,7 @@ import org.jetbrains.kotlin.jps.incremental.getKotlinCache import org.jetbrains.kotlin.test.KotlinTestUtils import org.jetbrains.kotlin.utils.Printer import org.jetbrains.kotlin.utils.keysToMap -import java.io.ByteArrayInputStream -import java.io.ByteArrayOutputStream -import java.io.File -import java.io.PrintStream +import java.io.* import java.util.* import kotlin.reflect.jvm.javaField @@ -66,7 +62,7 @@ abstract class AbstractIncrementalJpsTest( private val allowNoFilesWithSuffixInTestData: Boolean = false, private val checkDumpsCaseInsensitively: Boolean = false, private val allowNoBuildLogFileInTestData: Boolean = false -) : JpsBuildTestCase() { +) : BaseKotlinJpsBuildTestCase() { companion object { init { disableJava6FileManager() @@ -120,7 +116,6 @@ abstract class AbstractIncrementalJpsTest( override fun setUp() { super.setUp() - System.setProperty("kotlin.jps.tests", "true") lookupsDuringTest = hashSetOf() IncrementalCompilation.setIsExperimental(enableExperimentalIncrementalCompilation) diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java index fff2c55bdab..474836e87d2 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java @@ -39,7 +39,7 @@ import java.io.File; import java.io.IOException; import java.util.Collection; -public abstract class AbstractKotlinJpsBuildTestCase extends JpsBuildTestCase { +public abstract class AbstractKotlinJpsBuildTestCase extends BaseKotlinJpsBuildTestCase { public static final String TEST_DATA_PATH = "jps-plugin/testData/"; static { @@ -48,18 +48,6 @@ public abstract class AbstractKotlinJpsBuildTestCase extends JpsBuildTestCase { protected File workDir; - @Override - public void setUp() throws Exception { - super.setUp(); - System.setProperty("kotlin.jps.tests", "true"); - } - - @Override - public void tearDown() throws Exception { - System.clearProperty("kotlin.jps.tests"); - super.tearDown(); - } - protected static File copyTestDataToTmpDir(File testDataDir) throws IOException { assert testDataDir.exists() : "Cannot find source folder " + testDataDir.getAbsolutePath(); File tmpDir = FileUtil.createTempDirectory("jps-build", null); diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt new file mode 100644 index 00000000000..16eb3ac8d4a --- /dev/null +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt @@ -0,0 +1,33 @@ +/* + * Copyright 2010-2016 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.jps.build + +import org.jetbrains.jps.builders.JpsBuildTestCase + +abstract class BaseKotlinJpsBuildTestCase : JpsBuildTestCase() { + override fun setUp() { + super.setUp() + JpsUtils.resetCaches() + System.setProperty("kotlin.jps.tests", "true") + } + + override fun tearDown() { + JpsUtils.resetCaches() + System.clearProperty("kotlin.jps.tests") + super.tearDown() + } +} \ No newline at end of file