Ensure jps caches are always cleared in tests

Original commit: ea93ec3eec
This commit is contained in:
Alexey Tsvetkov
2016-10-19 21:28:28 +03:00
parent 1521275a5d
commit 765f02f9ac
3 changed files with 36 additions and 20 deletions
@@ -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)
@@ -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);
@@ -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()
}
}