From ac1d7effc90d9faa0531b14ba8485f33cbee63a4 Mon Sep 17 00:00:00 2001 From: Alexander Bubenchikov Date: Mon, 20 Jul 2026 13:27:40 +0200 Subject: [PATCH] IDEA-391550: maven: add real tests for maven compat into aggregator (cherry picked from commit e039ec22eafbffa277a650e3f9a3279ab7ceedf4) IJ-CR-214363 GitOrigin-RevId: 5b419d0e5222c1c86cb5615c7826e217a558a878 --- .../MavenCompatibilityProjectImportingTest.kt | 19 ++++++++++++++++--- .../importing/RealProjectsImportingTest.kt | 2 ++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compatibility/MavenCompatibilityProjectImportingTest.kt b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compatibility/MavenCompatibilityProjectImportingTest.kt index 3541a01c0ee7..7185f9560de7 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/compatibility/MavenCompatibilityProjectImportingTest.kt +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/compatibility/MavenCompatibilityProjectImportingTest.kt @@ -22,6 +22,7 @@ import com.intellij.pom.java.LanguageLevel import com.intellij.testFramework.junit5.TestApplication import com.intellij.util.text.VersionComparatorUtil import kotlinx.coroutines.runBlocking +import org.jetbrains.idea.maven.model.MavenConstants import org.jetbrains.idea.maven.model.MavenProjectProblem import org.jetbrains.idea.maven.server.MavenServerManager import org.junit.jupiter.api.Assertions.assertEquals @@ -50,15 +51,27 @@ private val MAVEN_VERSIONS = listOf( internal class MavenCompatibilityVersions : ArgumentsProvider { override fun provideArguments(parameters: ParameterDeclarations?, context: ExtensionContext?): Stream { - return MAVEN_VERSIONS.map { Arguments.of(it) }.stream() + return MAVEN_VERSIONS.flatMap { version -> + if (version.startsWith("4.")) { + listOf( + Arguments.of(version, MavenConstants.MODEL_VERSION_4_0_0), + Arguments.of(version, MavenConstants.MODEL_VERSION_4_1_0) + ) + } + else { + listOf( + Arguments.of(version, MavenConstants.MODEL_VERSION_4_0_0) + ) + } + }.stream() } } @TestApplication @ParameterizedClass @ArgumentsSource(MavenCompatibilityVersions::class) -class MavenCompatibilityProjectImportingTest(private val myMavenVersion: String) { - private val maven by mavenImportingFixture(mavenVersion = myMavenVersion, skipPluginResolution = false) +class MavenCompatibilityProjectImportingTest(private val myMavenVersion: String, private val myModelVersion: String) { + private val maven by mavenImportingFixture(mavenVersion = myMavenVersion, modelVersion = myModelVersion, skipPluginResolution = false) @BeforeEach fun before() { diff --git a/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/RealProjectsImportingTest.kt b/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/RealProjectsImportingTest.kt index 4b7f234cfbfd..5d67e4793e2d 100644 --- a/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/RealProjectsImportingTest.kt +++ b/plugins/maven/src/test/java/org/jetbrains/idea/maven/importing/RealProjectsImportingTest.kt @@ -7,6 +7,7 @@ import com.intellij.maven.testFramework.fixtures.importProjectAsync import com.intellij.maven.testFramework.fixtures.mavenImportingFixture import com.intellij.testFramework.junit5.TestApplication import kotlinx.coroutines.runBlocking +import org.jetbrains.idea.maven.compatibility.MavenCompatibilityVersions import org.junit.jupiter.api.Test import org.junit.jupiter.params.ParameterizedClass import org.junit.jupiter.params.provider.ArgumentsSource @@ -14,6 +15,7 @@ import org.junit.jupiter.params.provider.ArgumentsSource @TestApplication @ParameterizedClass @ArgumentsSource(MavenVersionArguments::class) +@ArgumentsSource(MavenCompatibilityVersions::class) class RealProjectsImportingTest(mavenVersion: String, modelVersion: String) { private val maven by mavenImportingFixture(