Ensure jps caches are always cleared in tests
This commit is contained in:
@@ -17,5 +17,6 @@
|
||||
<orderEntry type="module" module-name="util" />
|
||||
<orderEntry type="module" module-name="descriptor.loader.java" scope="TEST" />
|
||||
<orderEntry type="module" module-name="frontend.java" scope="TEST" />
|
||||
<orderEntry type="module" module-name="jps-tests" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
+2
-2
@@ -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";
|
||||
|
||||
|
||||
+2
-7
@@ -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)
|
||||
|
||||
|
||||
+1
-13
@@ -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);
|
||||
|
||||
+33
@@ -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()
|
||||
}
|
||||
}
|
||||
@@ -35,5 +35,6 @@
|
||||
<orderEntry type="library" scope="TEST" name="junit-plugin" level="project" />
|
||||
<orderEntry type="module" module-name="annotation-processing" scope="TEST" />
|
||||
<orderEntry type="module" module-name="build-common" scope="TEST" />
|
||||
<orderEntry type="module" module-name="jps-tests" scope="TEST" />
|
||||
</component>
|
||||
</module>
|
||||
+2
-7
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user