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="util" />
|
||||||
<orderEntry type="module" module-name="descriptor.loader.java" scope="TEST" />
|
<orderEntry type="module" module-name="descriptor.loader.java" scope="TEST" />
|
||||||
<orderEntry type="module" module-name="frontend.java" scope="TEST" />
|
<orderEntry type="module" module-name="frontend.java" scope="TEST" />
|
||||||
|
<orderEntry type="module" module-name="jps-tests" scope="TEST" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
+2
-2
@@ -16,12 +16,12 @@
|
|||||||
|
|
||||||
package org.jetbrains.kotlin.android.tests;
|
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.File;
|
||||||
import java.io.IOException;
|
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 PROJECT_NAME = "android-module";
|
||||||
private static final String SDK_NAME = "Android_SDK";
|
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.api.CanceledStatus
|
||||||
import org.jetbrains.jps.builders.BuildResult
|
import org.jetbrains.jps.builders.BuildResult
|
||||||
import org.jetbrains.jps.builders.CompileScopeTestBuilder
|
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.BuildDataPathsImpl
|
||||||
import org.jetbrains.jps.builders.impl.logging.ProjectBuilderLoggerBase
|
import org.jetbrains.jps.builders.impl.logging.ProjectBuilderLoggerBase
|
||||||
import org.jetbrains.jps.builders.java.dependencyView.Callbacks
|
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.test.KotlinTestUtils
|
||||||
import org.jetbrains.kotlin.utils.Printer
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
import org.jetbrains.kotlin.utils.keysToMap
|
import org.jetbrains.kotlin.utils.keysToMap
|
||||||
import java.io.ByteArrayInputStream
|
import java.io.*
|
||||||
import java.io.ByteArrayOutputStream
|
|
||||||
import java.io.File
|
|
||||||
import java.io.PrintStream
|
|
||||||
import java.util.*
|
import java.util.*
|
||||||
import kotlin.reflect.jvm.javaField
|
import kotlin.reflect.jvm.javaField
|
||||||
|
|
||||||
@@ -66,7 +62,7 @@ abstract class AbstractIncrementalJpsTest(
|
|||||||
private val allowNoFilesWithSuffixInTestData: Boolean = false,
|
private val allowNoFilesWithSuffixInTestData: Boolean = false,
|
||||||
private val checkDumpsCaseInsensitively: Boolean = false,
|
private val checkDumpsCaseInsensitively: Boolean = false,
|
||||||
private val allowNoBuildLogFileInTestData: Boolean = false
|
private val allowNoBuildLogFileInTestData: Boolean = false
|
||||||
) : JpsBuildTestCase() {
|
) : BaseKotlinJpsBuildTestCase() {
|
||||||
companion object {
|
companion object {
|
||||||
init {
|
init {
|
||||||
disableJava6FileManager()
|
disableJava6FileManager()
|
||||||
@@ -120,7 +116,6 @@ abstract class AbstractIncrementalJpsTest(
|
|||||||
|
|
||||||
override fun setUp() {
|
override fun setUp() {
|
||||||
super.setUp()
|
super.setUp()
|
||||||
System.setProperty("kotlin.jps.tests", "true")
|
|
||||||
lookupsDuringTest = hashSetOf()
|
lookupsDuringTest = hashSetOf()
|
||||||
IncrementalCompilation.setIsExperimental(enableExperimentalIncrementalCompilation)
|
IncrementalCompilation.setIsExperimental(enableExperimentalIncrementalCompilation)
|
||||||
|
|
||||||
|
|||||||
+1
-13
@@ -39,7 +39,7 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.Collection;
|
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/";
|
public static final String TEST_DATA_PATH = "jps-plugin/testData/";
|
||||||
|
|
||||||
static {
|
static {
|
||||||
@@ -48,18 +48,6 @@ public abstract class AbstractKotlinJpsBuildTestCase extends JpsBuildTestCase {
|
|||||||
|
|
||||||
protected File workDir;
|
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 {
|
protected static File copyTestDataToTmpDir(File testDataDir) throws IOException {
|
||||||
assert testDataDir.exists() : "Cannot find source folder " + testDataDir.getAbsolutePath();
|
assert testDataDir.exists() : "Cannot find source folder " + testDataDir.getAbsolutePath();
|
||||||
File tmpDir = FileUtil.createTempDirectory("jps-build", null);
|
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="library" scope="TEST" name="junit-plugin" level="project" />
|
||||||
<orderEntry type="module" module-name="annotation-processing" scope="TEST" />
|
<orderEntry type="module" module-name="annotation-processing" scope="TEST" />
|
||||||
<orderEntry type="module" module-name="build-common" scope="TEST" />
|
<orderEntry type="module" module-name="build-common" scope="TEST" />
|
||||||
|
<orderEntry type="module" module-name="jps-tests" scope="TEST" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
+2
-7
@@ -17,24 +17,19 @@
|
|||||||
package org.jetbrains.kotlin.jps.build.android
|
package org.jetbrains.kotlin.jps.build.android
|
||||||
|
|
||||||
import com.intellij.openapi.util.io.FileUtil
|
import com.intellij.openapi.util.io.FileUtil
|
||||||
import org.jetbrains.jps.builders.JpsBuildTestCase
|
|
||||||
import org.jetbrains.jps.android.model.JpsAndroidSdkProperties
|
import org.jetbrains.jps.android.model.JpsAndroidSdkProperties
|
||||||
import org.jetbrains.jps.model.JpsSimpleElement
|
import org.jetbrains.jps.model.JpsSimpleElement
|
||||||
import org.jetbrains.jps.model.library.sdk.JpsSdk
|
import org.jetbrains.jps.model.library.sdk.JpsSdk
|
||||||
import org.jetbrains.jps.android.model.JpsAndroidSdkType
|
import org.jetbrains.jps.android.model.JpsAndroidSdkType
|
||||||
import org.jetbrains.jps.model.impl.JpsSimpleElementImpl
|
import org.jetbrains.jps.model.impl.JpsSimpleElementImpl
|
||||||
import org.jetbrains.jps.model.library.JpsOrderRootType
|
import org.jetbrains.jps.model.library.JpsOrderRootType
|
||||||
|
import org.jetbrains.kotlin.jps.build.BaseKotlinJpsBuildTestCase
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
abstract class AbstractAndroidJpsTestCase : JpsBuildTestCase() {
|
abstract class AbstractAndroidJpsTestCase : BaseKotlinJpsBuildTestCase() {
|
||||||
|
|
||||||
private val SDK_NAME = "Android API 23 Platform"
|
private val SDK_NAME = "Android API 23 Platform"
|
||||||
|
|
||||||
override fun setUp() {
|
|
||||||
super.setUp()
|
|
||||||
System.setProperty("kotlin.jps.tests", "true")
|
|
||||||
}
|
|
||||||
|
|
||||||
fun doTest(path: String) {
|
fun doTest(path: String) {
|
||||||
addJdkAndAndroidSdk()
|
addJdkAndAndroidSdk()
|
||||||
loadProject(path + getTestName(true) + ".ipr")
|
loadProject(path + getTestName(true) + ".ipr")
|
||||||
|
|||||||
Reference in New Issue
Block a user