mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
[Gradle|Sync|Test] cleanup: migrated tests on the source roots assertions
GitOrigin-RevId: 5f749fc5c1970ef22d38356f64d65f05915a46c3
This commit is contained in:
committed by
intellij-monorepo-bot
parent
323f3a0015
commit
a1c5c737ba
@@ -13,5 +13,6 @@
|
||||
<orderEntry type="module" module-name="intellij.platform.ide.util.io" />
|
||||
<orderEntry type="library" name="assertJ" level="project" />
|
||||
<orderEntry type="module" module-name="intellij.java.impl" />
|
||||
<orderEntry type="module" module-name="intellij.platform.workspace.jps" />
|
||||
</component>
|
||||
</module>
|
||||
@@ -12,6 +12,7 @@ import com.intellij.openapi.externalSystem.importing.ImportSpecBuilder;
|
||||
import com.intellij.openapi.externalSystem.model.DataNode;
|
||||
import com.intellij.openapi.externalSystem.model.ExternalProjectInfo;
|
||||
import com.intellij.openapi.externalSystem.model.ProjectSystemId;
|
||||
import com.intellij.openapi.externalSystem.model.project.ExternalSystemSourceType;
|
||||
import com.intellij.openapi.externalSystem.model.project.ProjectData;
|
||||
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId;
|
||||
import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListener;
|
||||
@@ -39,11 +40,13 @@ import com.intellij.openapi.util.io.FileUtil;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vfs.VfsUtilCore;
|
||||
import com.intellij.openapi.vfs.VirtualFileManager;
|
||||
import com.intellij.platform.externalSystem.testFramework.utils.module.ExternalSystemSourceRootAssertion;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.testFramework.IndexingTestUtil;
|
||||
import com.intellij.testFramework.PlatformTestUtil;
|
||||
import com.intellij.testFramework.RunAll;
|
||||
import com.intellij.testFramework.utils.module.ModuleAssertions;
|
||||
import com.intellij.testFramework.utils.module.SourceRootAssertions;
|
||||
import com.intellij.usageView.UsageInfo;
|
||||
import com.intellij.util.CommonProcessors;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
@@ -58,8 +61,10 @@ import java.io.PrintStream;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
import java.util.function.BiPredicate;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import static com.intellij.platform.externalSystem.testFramework.utils.module.ExternalSystemSourceRootAssertions.getExType;
|
||||
import static com.intellij.testFramework.EdtTestUtil.runInEdtAndGet;
|
||||
import static com.intellij.testFramework.EdtTestUtil.runInEdtAndWait;
|
||||
|
||||
@@ -116,36 +121,21 @@ public abstract class ExternalSystemImportingTestCase extends ExternalSystemTest
|
||||
ModuleAssertions.assertContentRoots(myProject, moduleName, expectedRootPaths);
|
||||
}
|
||||
|
||||
protected void assertSources(String moduleName, String... expectedSources) {
|
||||
assertSourceFolders(moduleName, JavaSourceRootType.SOURCE, Arrays.asList(expectedSources));
|
||||
protected void assertNoSourceRoots(String moduleName) {
|
||||
assertSourceRoots(moduleName, it -> {});
|
||||
}
|
||||
|
||||
protected void assertResources(String moduleName, String... expectedSources) {
|
||||
assertSourceFolders(moduleName, JavaResourceRootType.RESOURCE, Arrays.asList(expectedSources));
|
||||
protected void assertSourceRoots(String moduleName, Consumer<ExternalSystemSourceRootAssertion<String>> applyAssertion) {
|
||||
ExternalSystemSourceRootAssertion.assertSourceRoots(applyAssertion, (type, expectedRoots) -> {
|
||||
assertSourceRoots(moduleName, type, expectedRoots);
|
||||
});
|
||||
}
|
||||
|
||||
protected void assertTestSources(String moduleName, String... expectedSources) {
|
||||
assertSourceFolders(moduleName, JavaSourceRootType.TEST_SOURCE, Arrays.asList(expectedSources));
|
||||
}
|
||||
|
||||
protected void assertTestResources(String moduleName, String... expectedSources) {
|
||||
assertSourceFolders(moduleName, JavaResourceRootType.TEST_RESOURCE, Arrays.asList(expectedSources));
|
||||
}
|
||||
|
||||
protected void assertGeneratedSources(String moduleName, String... expectedSources) {
|
||||
assertGeneratedSourceFolders(moduleName, JavaSourceRootType.SOURCE, Arrays.asList(expectedSources));
|
||||
}
|
||||
|
||||
protected void assertGeneratedTestSources(String moduleName, String... expectedSources) {
|
||||
assertGeneratedSourceFolders(moduleName, JavaSourceRootType.TEST_SOURCE, Arrays.asList(expectedSources));
|
||||
}
|
||||
|
||||
protected void assertGeneratedResources(String moduleName, String... expectedSources) {
|
||||
assertGeneratedResourceFolders(moduleName, JavaResourceRootType.RESOURCE, Arrays.asList(expectedSources));
|
||||
}
|
||||
|
||||
protected void assertGeneratedTestResources(String moduleName, String... expectedSources) {
|
||||
assertGeneratedResourceFolders(moduleName, JavaResourceRootType.TEST_RESOURCE, Arrays.asList(expectedSources));
|
||||
protected void assertSourceRoots(String moduleName, ExternalSystemSourceType type, List<String> expectedRoots) {
|
||||
var expectedRootPaths = ContainerUtil.map(expectedRoots, it -> Path.of(it));
|
||||
SourceRootAssertions.assertSourceRoots(myProject, moduleName, it -> type.equals(getExType(it)), expectedRootPaths, () ->
|
||||
"%s source root of type %s".formatted(moduleName, type)
|
||||
);
|
||||
}
|
||||
|
||||
protected void assertExcludes(String moduleName, String... expectedExcludes) {
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package org.jetbrains.plugins.gradle.compiler;
|
||||
|
||||
import com.intellij.openapi.externalSystem.model.project.ExternalSystemSourceType;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -345,12 +346,18 @@ public class GradleJpsResourceProcessingTest extends GradleJpsCompilingTestCase
|
||||
);
|
||||
assertModules("project", "project.main", "project.test", "project.integrationTest");
|
||||
|
||||
assertSources("project.main", path("src/main/java"));
|
||||
assertResources("project.main", path("src/main/resources"));
|
||||
assertTestSources("project.test", path("src/test/java"));
|
||||
assertTestResources("project.test", path("src/test/resources"));
|
||||
assertSources("project.integrationTest", path("src/integrationTest/java"));
|
||||
assertResources("project.integrationTest", path("src/integrationTest/resources"));
|
||||
assertSourceRoots("project.main", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/main/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/main/resources"))
|
||||
);
|
||||
assertSourceRoots("project.test", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.TEST, path("src/test/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/test/resources"))
|
||||
);
|
||||
assertSourceRoots("project.integrationTest", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/integrationTest/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/integrationTest/resources"))
|
||||
);
|
||||
|
||||
compileModules("project.main", "project.test", "project.integrationTest");
|
||||
|
||||
@@ -391,12 +398,18 @@ public class GradleJpsResourceProcessingTest extends GradleJpsCompilingTestCase
|
||||
);
|
||||
assertModules("project", "project.main", "project.test", "project.integrationTest");
|
||||
|
||||
assertSources("project.main", path("src/main/java"));
|
||||
assertResources("project.main", path("src/main/resources"));
|
||||
assertTestSources("project.test", path("src/test/java"));
|
||||
assertTestResources("project.test", path("src/test/resources"));
|
||||
assertSources("project.integrationTest", path("src/integrationTest/java"));
|
||||
assertResources("project.integrationTest", path("src/integrationTest/resources"));
|
||||
assertSourceRoots("project.main", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/main/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/main/resources"))
|
||||
);
|
||||
assertSourceRoots("project.test", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.TEST, path("src/test/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/test/resources"))
|
||||
);
|
||||
assertSourceRoots("project.integrationTest", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/integrationTest/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/integrationTest/resources"))
|
||||
);
|
||||
|
||||
compileModules("project.main", "project.test", "project.integrationTest");
|
||||
|
||||
@@ -439,12 +452,18 @@ public class GradleJpsResourceProcessingTest extends GradleJpsCompilingTestCase
|
||||
);
|
||||
assertModules("project", "project.main", "project.test", "project.integrationTest");
|
||||
|
||||
assertSources("project.main", path("src/main/java"));
|
||||
assertResources("project.main", path("src/main/resources"));
|
||||
assertTestSources("project.test", path("src/test/java"));
|
||||
assertTestResources("project.test", path("src/test/resources"));
|
||||
assertSources("project.integrationTest", path("src/integrationTest/java"));
|
||||
assertResources("project.integrationTest", path("src/integrationTest/resources"));
|
||||
assertSourceRoots("project.main", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/main/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/main/resources"))
|
||||
);
|
||||
assertSourceRoots("project.test", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.TEST, path("src/test/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/test/resources"))
|
||||
);
|
||||
assertSourceRoots("project.integrationTest", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/integrationTest/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/integrationTest/resources"))
|
||||
);
|
||||
|
||||
compileModules("project.main", "project.test", "project.integrationTest");
|
||||
|
||||
@@ -486,12 +505,18 @@ public class GradleJpsResourceProcessingTest extends GradleJpsCompilingTestCase
|
||||
);
|
||||
assertModules("project", "project.main", "project.test", "project.integrationTest");
|
||||
|
||||
assertSources("project.main", path("src/main/java"));
|
||||
assertResources("project.main", path("src/main/resources"));
|
||||
assertTestSources("project.test", path("src/test/java"));
|
||||
assertTestResources("project.test", path("src/test/resources"));
|
||||
assertTestSources("project.integrationTest", path("src/integrationTest/java"));
|
||||
assertTestResources("project.integrationTest", path("src/integrationTest/resources"));
|
||||
assertSourceRoots("project.main", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/main/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/main/resources"))
|
||||
);
|
||||
assertSourceRoots("project.test", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.TEST, path("src/test/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/test/resources"))
|
||||
);
|
||||
assertSourceRoots("project.integrationTest", it -> it
|
||||
.sourceRoots(ExternalSystemSourceType.TEST, path("src/integrationTest/java"))
|
||||
.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/integrationTest/resources"))
|
||||
);
|
||||
|
||||
compileModules("project.main", "project.test", "project.integrationTest");
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ package org.jetbrains.plugins.gradle.quarantine.importing
|
||||
import com.intellij.compiler.CompilerConfiguration
|
||||
import com.intellij.compiler.CompilerConfigurationImpl
|
||||
import com.intellij.openapi.application.ApplicationManager
|
||||
import com.intellij.openapi.externalSystem.model.project.ExternalSystemSourceType
|
||||
import com.intellij.openapi.externalSystem.util.ExternalSystemApiUtil
|
||||
import com.intellij.openapi.module.ModuleManager
|
||||
import com.intellij.openapi.util.Computable
|
||||
@@ -173,29 +174,34 @@ class AnnotationProcessorConfigImportingTest: GradleImportingTestCase() {
|
||||
|
||||
// import with default settings: delegate build to gradle
|
||||
importProject()
|
||||
assertSources("project.main", path(gradleGeneratedDir))
|
||||
assertGeneratedSources("project.main", path(gradleGeneratedDir))
|
||||
|
||||
assertSourceRoots("project.main") {
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE_GENERATED, path(gradleGeneratedDir))
|
||||
}
|
||||
|
||||
currentExternalProjectSettings.delegatedBuild = false
|
||||
|
||||
// import with build by intellij idea
|
||||
importProject()
|
||||
assertSources("project.main", path(ideaGeneratedDir))
|
||||
assertGeneratedSources("project.main", path(ideaGeneratedDir))
|
||||
assertSourceRoots("project.main") {
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE_GENERATED, path(ideaGeneratedDir))
|
||||
}
|
||||
|
||||
// subscribe to build delegation changes in current project
|
||||
(ExternalSystemApiUtil.getManager(GradleConstants.SYSTEM_ID) as GradleManager).runActivity(myProject)
|
||||
// switch delegation to gradle
|
||||
currentExternalProjectSettings.delegatedBuild = true
|
||||
GradleSettings.getInstance(myProject).publisher.onBuildDelegationChange(true, projectPath)
|
||||
assertSources("project.main", path(gradleGeneratedDir))
|
||||
assertGeneratedSources("project.main", path(gradleGeneratedDir))
|
||||
assertSourceRoots("project.main") {
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE_GENERATED, path(gradleGeneratedDir))
|
||||
}
|
||||
|
||||
// switch delegation to idea
|
||||
currentExternalProjectSettings.delegatedBuild = false
|
||||
GradleSettings.getInstance(myProject).publisher.onBuildDelegationChange(false, projectPath)
|
||||
assertSources("project.main", path(ideaGeneratedDir))
|
||||
assertGeneratedSources("project.main", path(ideaGeneratedDir))
|
||||
assertSourceRoots("project.main") {
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE_GENERATED, path(ideaGeneratedDir))
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -406,40 +412,28 @@ class AnnotationProcessorConfigImportingTest: GradleImportingTestCase() {
|
||||
assertModules("project", "project.main", "project.test", "project.testFixtures")
|
||||
|
||||
assertContentRoots("project", projectPath)
|
||||
assertSources("project")
|
||||
assertResources("project")
|
||||
assertTestSources("project")
|
||||
assertTestResources("project")
|
||||
assertNoSourceRoots("project")
|
||||
|
||||
assertContentRoots("project.main", path("src/main"), path("$annotationProcessor/java/main"))
|
||||
assertSources("project.main", path("src/main/java"), path("$annotationProcessor/java/main"))
|
||||
assertGeneratedSources("project.main", path("$annotationProcessor/java/main"))
|
||||
assertResources("project.main", path("src/main/resources"))
|
||||
assertGeneratedResources("project.main")
|
||||
assertTestSources("project.main")
|
||||
assertGeneratedTestSources("project.main")
|
||||
assertTestResources("project.main")
|
||||
assertGeneratedTestResources("project.main")
|
||||
assertSourceRoots("project.main") {
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/main/java"))
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE_GENERATED, path("$annotationProcessor/java/main"))
|
||||
it.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/main/resources"))
|
||||
}
|
||||
|
||||
assertContentRoots("project.test", path("src/test"), path("$annotationProcessor/java/test"))
|
||||
assertSources("project.test")
|
||||
assertGeneratedSources("project.test")
|
||||
assertResources("project.test")
|
||||
assertGeneratedResources("project.test")
|
||||
assertTestSources("project.test", path("src/test/java"), path("$annotationProcessor/java/test"))
|
||||
assertGeneratedTestSources("project.test", path("$annotationProcessor/java/test"))
|
||||
assertTestResources("project.test", path("src/test/resources"))
|
||||
assertGeneratedTestResources("project.test")
|
||||
assertSourceRoots("project.test") {
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST, path("src/test/java"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_GENERATED, path("$annotationProcessor/java/test"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/test/resources"))
|
||||
}
|
||||
|
||||
assertContentRoots("project.testFixtures", path("src/testFixtures"), path("$annotationProcessor/java/testFixtures"))
|
||||
assertSources("project.testFixtures")
|
||||
assertGeneratedSources("project.testFixtures")
|
||||
assertResources("project.testFixtures")
|
||||
assertGeneratedResources("project.testFixtures")
|
||||
assertTestSources("project.testFixtures", path("src/testFixtures/java"), path("$annotationProcessor/java/testFixtures"))
|
||||
assertGeneratedTestSources("project.testFixtures", path("$annotationProcessor/java/testFixtures"))
|
||||
assertTestResources("project.testFixtures", path("src/testFixtures/resources"))
|
||||
assertGeneratedTestResources("project.testFixtures")
|
||||
assertSourceRoots("project.testFixtures") {
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST, path("src/testFixtures/java"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_GENERATED, path("$annotationProcessor/java/testFixtures"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/testFixtures/resources"))
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -479,39 +473,27 @@ class AnnotationProcessorConfigImportingTest: GradleImportingTestCase() {
|
||||
assertModules("project", "project.main", "project.test", "project.integrationTest")
|
||||
|
||||
assertContentRoots("project", projectPath)
|
||||
assertSources("project")
|
||||
assertResources("project")
|
||||
assertTestSources("project")
|
||||
assertTestResources("project")
|
||||
assertNoSourceRoots("project")
|
||||
|
||||
assertContentRoots("project.main", path("src/main"), path("$annotationProcessor/java/main"))
|
||||
assertSources("project.main", path("src/main/java"), path("$annotationProcessor/java/main"))
|
||||
assertGeneratedSources("project.main", path("$annotationProcessor/java/main"))
|
||||
assertResources("project.main", path("src/main/resources"))
|
||||
assertGeneratedResources("project.main")
|
||||
assertTestSources("project.main")
|
||||
assertGeneratedTestSources("project.main")
|
||||
assertTestResources("project.main")
|
||||
assertGeneratedTestResources("project.main")
|
||||
assertSourceRoots("project.main") {
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE, path("src/main/java"))
|
||||
it.sourceRoots(ExternalSystemSourceType.SOURCE_GENERATED, path("$annotationProcessor/java/main"))
|
||||
it.sourceRoots(ExternalSystemSourceType.RESOURCE, path("src/main/resources"))
|
||||
}
|
||||
|
||||
assertContentRoots("project.test", path("src/test"), path("$annotationProcessor/java/test"))
|
||||
assertSources("project.test")
|
||||
assertGeneratedSources("project.test")
|
||||
assertResources("project.test")
|
||||
assertGeneratedResources("project.test")
|
||||
assertTestSources("project.test", path("src/test/java"), path("$annotationProcessor/java/test"))
|
||||
assertGeneratedTestSources("project.test", path("$annotationProcessor/java/test"))
|
||||
assertTestResources("project.test", path("src/test/resources"))
|
||||
assertGeneratedTestResources("project.test")
|
||||
assertSourceRoots("project.test") {
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST, path("src/test/java"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_GENERATED, path("$annotationProcessor/java/test"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/test/resources"))
|
||||
}
|
||||
|
||||
assertContentRoots("project.integrationTest", path("src/integrationTest"), path("$annotationProcessor/java/integrationTest"))
|
||||
assertSources("project.integrationTest")
|
||||
assertGeneratedSources("project.integrationTest")
|
||||
assertResources("project.integrationTest")
|
||||
assertGeneratedResources("project.integrationTest")
|
||||
assertTestSources("project.integrationTest", path("src/integrationTest/java"), path("$annotationProcessor/java/integrationTest"))
|
||||
assertGeneratedTestSources("project.integrationTest", path("$annotationProcessor/java/integrationTest"))
|
||||
assertTestResources("project.integrationTest", path("src/integrationTest/resources"))
|
||||
assertGeneratedTestResources("project.integrationTest")
|
||||
assertSourceRoots("project.integrationTest") {
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST, path("src/integrationTest/java"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_GENERATED, path("$annotationProcessor/java/integrationTest"))
|
||||
it.sourceRoots(ExternalSystemSourceType.TEST_RESOURCE, path("src/integrationTest/resources"))
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -358,14 +358,9 @@ public abstract class GradleImportingTestCase extends JavaExternalSystemImportin
|
||||
importProject();
|
||||
}
|
||||
|
||||
protected void importProjectUsingSingeModulePerGradleProject(@NonNls String config, Boolean skipIndexing)
|
||||
throws IOException {
|
||||
getCurrentExternalProjectSettings().setResolveModulePerSourceSet(false);
|
||||
importProject(config, skipIndexing);
|
||||
}
|
||||
|
||||
protected void importProjectUsingSingeModulePerGradleProject(@NonNls String config) throws IOException {
|
||||
importProjectUsingSingeModulePerGradleProject(config, null);
|
||||
getCurrentExternalProjectSettings().setResolveModulePerSourceSet(false);
|
||||
importProject(config);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user