Disable indexation ExternalSystem tests

This commit is contained in:
Andrey Uskov
2020-10-27 00:33:51 +03:00
parent 9318d401f7
commit e5be9601e6
10 changed files with 52 additions and 21 deletions
@@ -27,7 +27,7 @@ class ImportAndCheckHighlighting : MultiplePluginVersionGradleImportingTestCase(
private fun importAndCheckHighlighting(testLineMarkers: Boolean = true, checkWarnings: Boolean = true) { private fun importAndCheckHighlighting(testLineMarkers: Boolean = true, checkWarnings: Boolean = true) {
val files = configureByFiles() val files = configureByFiles()
importProject() importProject(skipIndexing = false)
val project = myTestFixture.project val project = myTestFixture.project
checkFiles( checkFiles(
files.filter { it.extension == "kt" || it.extension == "java" }, files.filter { it.extension == "kt" || it.extension == "java" },
@@ -6,9 +6,7 @@
package org.jetbrains.kotlin.gradle package org.jetbrains.kotlin.gradle
import com.intellij.openapi.vfs.VirtualFile import com.intellij.openapi.vfs.VirtualFile
import com.intellij.psi.PsiComment import com.intellij.psi.*
import com.intellij.psi.PsiReference
import com.intellij.psi.PsiWhiteSpace
import com.intellij.psi.util.PsiTreeUtil import com.intellij.psi.util.PsiTreeUtil
import com.intellij.testFramework.runInEdtAndGet import com.intellij.testFramework.runInEdtAndGet
import org.jetbrains.kotlin.idea.codeInsight.gradle.MasterPluginVersionGradleImportingTestCase import org.jetbrains.kotlin.idea.codeInsight.gradle.MasterPluginVersionGradleImportingTestCase
@@ -25,7 +23,7 @@ class ImportAndCheckNavigation : MasterPluginVersionGradleImportingTestCase() {
@Test @Test
@PluginTargetVersions(gradleVersion = "6.0+", pluginVersion = "1.4+", gradleVersionForLatestPlugin = mppImportTestMinVersionForMaster) @PluginTargetVersions(gradleVersion = "6.0+", pluginVersion = "1.4+", gradleVersionForLatestPlugin = mppImportTestMinVersionForMaster)
fun testNavigationToCommonizedLibrary() { fun testNavigationToCommonizedLibrary() {
val files = importProjectFromTestData() val files = configureAndImportProject()
files.forEach { vFile -> files.forEach { vFile ->
val referencesToTest = vFile.collectReferencesToTest() val referencesToTest = vFile.collectReferencesToTest()
@@ -50,6 +48,12 @@ class ImportAndCheckNavigation : MasterPluginVersionGradleImportingTestCase() {
override fun testDataDirName() = "importAndCheckNavigation" override fun testDataDirName() = "importAndCheckNavigation"
private fun configureAndImportProject(): List<VirtualFile> {
val files = configureByFiles()
importProject(skipIndexing = false)
return files
}
private fun VirtualFile.collectReferencesToTest(): Map<PsiReference, String> { private fun VirtualFile.collectReferencesToTest(): Map<PsiReference, String> {
if (extension != "kt") return emptyMap() if (extension != "kt") return emptyMap()
@@ -20,7 +20,7 @@ class KaptImportingTest : MultiplePluginVersionGradleImportingTestCase() {
val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories
currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true
try { try {
super.importProject() super.importProject(true)
} finally { } finally {
currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories
} }
@@ -368,7 +368,7 @@ class NewMultiplatformProjectImportingTest : MultiplePluginVersionGradleImportin
@PluginTargetVersions(gradleVersionForLatestPlugin = mppImportTestMinVersionForMaster) @PluginTargetVersions(gradleVersionForLatestPlugin = mppImportTestMinVersionForMaster)
fun testTestTasks() { fun testTestTasks() {
val files = configureByFiles() val files = configureByFiles()
importProject() importProject(skipIndexing = true)
checkProjectStructure(exhaustiveSourceSourceRootList = false) { checkProjectStructure(exhaustiveSourceSourceRootList = false) {
module("project") module("project")
@@ -47,7 +47,7 @@ class PackagePrefixImportingTest : MultiplePluginVersionGradleImportingTestCase(
val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories
currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true
try { try {
super.importProject() super.importProject(true)
} finally { } finally {
currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories
} }
@@ -449,13 +449,28 @@ public abstract class ExternalSystemImportingTestCase extends ExternalSystemTest
return getRootManager(moduleName).getContentEntries(); return getRootManager(moduleName).getContentEntries();
} }
protected void importProject(@NonNls String config) throws IOException { protected void importProject(@NonNls String config, Boolean skipIndexing) throws IOException {
createProjectConfig(config); createProjectConfig(config);
importProject(); importProject(skipIndexing);
} }
protected void importProject() { protected void importProject(Boolean skipIndexing) {
doImportProject(); String indexingPropertyName = "idea.skip.indices.initialization";
String previousIndexingState = System.getProperty(indexingPropertyName);
try {
if (skipIndexing != null) {
System.setProperty(indexingPropertyName, skipIndexing.toString());
}
doImportProject();
} finally {
if (skipIndexing != null) {
if (previousIndexingState == null) {
System.clearProperty(indexingPropertyName);
} else {
System.setProperty(indexingPropertyName, previousIndexingState);
}
}
}
} }
public boolean ensureIsNotGradleProxyObject( public boolean ensureIsNotGradleProxyObject(
@@ -889,7 +889,7 @@ class GradleFacetImportTest : GradleImportingTestCase() {
val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories val isCreateEmptyContentRootDirectories = currentExternalProjectSettings.isCreateEmptyContentRootDirectories
try { try {
currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true currentExternalProjectSettings.isCreateEmptyContentRootDirectories = true
super.importProject() super.importProject(true)
} finally { } finally {
currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories currentExternalProjectSettings.isCreateEmptyContentRootDirectories = isCreateEmptyContentRootDirectories
} }
@@ -219,12 +219,16 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() {
override fun getExternalSystemConfigFileName(): String = "build.gradle" override fun getExternalSystemConfigFileName(): String = "build.gradle"
@Throws(IOException::class) @Throws(IOException::class)
protected open fun importProjectUsingSingeModulePerGradleProject(config: String? = null) { protected open fun importProjectUsingSingeModulePerGradleProject(config: String? = null, skipIndexing: Boolean? = null) {
currentExternalProjectSettings.isResolveModulePerSourceSet = false currentExternalProjectSettings.isResolveModulePerSourceSet = false
importProject(config) importProject(config, skipIndexing)
} }
override fun importProject() { open fun importProject() {
importProject(skipIndexing = null)
}
override fun importProject(skipIndexing: Boolean?) {
ExternalSystemApiUtil.subscribe( ExternalSystemApiUtil.subscribe(
myProject, myProject,
GradleConstants.SYSTEM_ID, GradleConstants.SYSTEM_ID,
@@ -236,14 +240,14 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() {
} }
} }
}) })
super.importProject() super.importProject(skipIndexing)
} }
@Throws(IOException::class) @Throws(IOException::class)
override fun importProject(@NonNls @Language("Groovy") config: String?) { override fun importProject(@NonNls @Language("Groovy") config: String?, skipIndexing: Boolean?) {
var config = config var config = config
config = injectRepo(config) config = injectRepo(config)
super.importProject(config) super.importProject(config, skipIndexing)
} }
override fun handleImportFailure(errorMessage: String, errorDetails: String?) { override fun handleImportFailure(errorMessage: String, errorDetails: String?) {
@@ -385,9 +389,9 @@ abstract class GradleImportingTestCase : ExternalSystemImportingTestCase() {
}.toList() }.toList()
} }
protected fun importProjectFromTestData(): List<VirtualFile> { protected fun importProjectFromTestData(skipIndexing: Boolean? = null): List<VirtualFile> {
val files = configureByFiles() val files = configureByFiles()
importProject() importProject(skipIndexing)
return files return files
} }
@@ -42,6 +42,10 @@ class GradleKtsImportTest : GradleImportingTestCase() {
return "gradleKtsImportTest" return "gradleKtsImportTest"
} }
override fun importProject() {
importProject(true)
}
@Test @Test
@TargetVersions("6.0.1+") @TargetVersions("6.0.1+")
fun testEmpty() { fun testEmpty() {
@@ -35,6 +35,10 @@ abstract class MultiplePluginVersionGradleImportingTestCase : GradleImportingTes
) )
} }
override fun importProject() {
super.importProject(skipIndexing = true)
}
@JvmField @JvmField
@Parameterized.Parameter(1) @Parameterized.Parameter(1)
var gradleKotlinPluginVersionType: String = MINIMAL_SUPPORTED_VERSION var gradleKotlinPluginVersionType: String = MINIMAL_SUPPORTED_VERSION