diff --git a/compiler/android-tests/android-tests.iml b/compiler/android-tests/android-tests.iml
index 69e9986eeff..7394c76b537 100644
--- a/compiler/android-tests/android-tests.iml
+++ b/compiler/android-tests/android-tests.iml
@@ -17,5 +17,6 @@
+
\ No newline at end of file
diff --git a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/AndroidJpsBuildTestCase.java b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/AndroidJpsBuildTestCase.java
index af0a2381e37..842b63ffbfc 100644
--- a/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/AndroidJpsBuildTestCase.java
+++ b/compiler/android-tests/tests/org/jetbrains/kotlin/android/tests/AndroidJpsBuildTestCase.java
@@ -16,12 +16,12 @@
package org.jetbrains.kotlin.android.tests;
-import org.jetbrains.jps.builders.JpsBuildTestCase;
+import org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase;
import java.io.File;
import java.io.IOException;
-public class AndroidJpsBuildTestCase extends JpsBuildTestCase {
+public class AndroidJpsBuildTestCase extends BaseKotlinJpsBuildTestCase {
private static final String PROJECT_NAME = "android-module";
private static final String SDK_NAME = "Android_SDK";
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 2dc4b5a4432..957e78df221 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
@@ -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-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java
index fff2c55bdab..474836e87d2 100644
--- a/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/AbstractKotlinJpsBuildTestCase.java
+++ b/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-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt b/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/BaseKotlinJpsBuildTestCase.kt
new file mode 100644
index 00000000000..16eb3ac8d4a
--- /dev/null
+++ b/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
diff --git a/plugins/plugins-tests/plugins-tests.iml b/plugins/plugins-tests/plugins-tests.iml
index 8d3f9e05538..6e288b5b2cd 100755
--- a/plugins/plugins-tests/plugins-tests.iml
+++ b/plugins/plugins-tests/plugins-tests.iml
@@ -35,5 +35,6 @@
+
\ No newline at end of file
diff --git a/plugins/plugins-tests/tests/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt b/plugins/plugins-tests/tests/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt
index a1f90facf2a..7b2420dff39 100644
--- a/plugins/plugins-tests/tests/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt
+++ b/plugins/plugins-tests/tests/org/jetbrains/kotlin/jps/build/android/AbstractAndroidJpsTestCase.kt
@@ -17,24 +17,19 @@
package org.jetbrains.kotlin.jps.build.android
import com.intellij.openapi.util.io.FileUtil
-import org.jetbrains.jps.builders.JpsBuildTestCase
import org.jetbrains.jps.android.model.JpsAndroidSdkProperties
import org.jetbrains.jps.model.JpsSimpleElement
import org.jetbrains.jps.model.library.sdk.JpsSdk
import org.jetbrains.jps.android.model.JpsAndroidSdkType
import org.jetbrains.jps.model.impl.JpsSimpleElementImpl
import org.jetbrains.jps.model.library.JpsOrderRootType
+import org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase
import java.io.File
-abstract class AbstractAndroidJpsTestCase : JpsBuildTestCase() {
+abstract class AbstractAndroidJpsTestCase : BaseKotlinJpsBuildTestCase() {
private val SDK_NAME = "Android API 23 Platform"
- override fun setUp() {
- super.setUp()
- System.setProperty("kotlin.jps.tests", "true")
- }
-
fun doTest(path: String) {
addJdkAndAndroidSdk()
loadProject(path + getTestName(true) + ".ipr")