Build: Use junit auto detection for DisabledIfNoArgumentsProvided
#KTI-1596
This commit is contained in:
committed by
Space Team
parent
424a5055e2
commit
679e6f0504
@@ -306,6 +306,7 @@ junitTags.forEach { junitTag ->
|
||||
maxParallelForks = maxParallelTestForks
|
||||
|
||||
systemProperty("gradle.integration.tests.gradle.version.filter", gradleVersion)
|
||||
systemProperty("junit.jupiter.extensions.autodetection.enabled", "true")
|
||||
if (junitTag in requiresKotlinNative) {
|
||||
applyKotlinNativeFromCurrentBranchIfNeeded()
|
||||
}
|
||||
|
||||
-1
@@ -21,6 +21,5 @@ import java.lang.annotation.Target;
|
||||
@AndroidTestVersions
|
||||
@ParameterizedTest(name = "AGP {1} with {0}: {displayName}")
|
||||
@ArgumentsSource(GradleAndAgpArgumentsProvider.class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided.class)
|
||||
public @interface GradleAndroidTest {
|
||||
}
|
||||
|
||||
-1
@@ -20,6 +20,5 @@ import java.lang.annotation.Target;
|
||||
@GradleTestVersions
|
||||
@ParameterizedTest(name = "{0}: {displayName}")
|
||||
@ArgumentsSource(GradleArgumentsProvider.class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided.class)
|
||||
public @interface GradleTest {
|
||||
}
|
||||
|
||||
-1
@@ -21,6 +21,5 @@ import java.lang.annotation.Target;
|
||||
@JdkVersions
|
||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||
@ArgumentsSource(GradleAndJdkArgumentsProvider.class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided.class)
|
||||
public @interface GradleWithJdkTest {
|
||||
}
|
||||
|
||||
-1
@@ -104,6 +104,5 @@ internal class HierarchicalStructureOptInMigrationArtifactContentMppIT : KGPBase
|
||||
@GradleTestVersions
|
||||
@ParameterizedTest(name = "{0} mode {1}: {displayName}")
|
||||
@ArgumentsSource(GradleAndHmppModeProvider::class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
||||
annotation class GradleWithHmppModeTest
|
||||
}
|
||||
-3
@@ -513,7 +513,6 @@ class KotlinSpecificDependenciesIT : KGPBaseTest() {
|
||||
@GradleTestVersions
|
||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
||||
fun testFrameworkSelectionJvm(
|
||||
gradleVersion: GradleVersion,
|
||||
testFramework: Pair<String, String>
|
||||
@@ -537,7 +536,6 @@ class KotlinSpecificDependenciesIT : KGPBaseTest() {
|
||||
@GradleTestVersions
|
||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
||||
fun testFrameworkSelectionMppJvm(
|
||||
gradleVersion: GradleVersion,
|
||||
testFramework: Pair<String, String>
|
||||
@@ -562,7 +560,6 @@ class KotlinSpecificDependenciesIT : KGPBaseTest() {
|
||||
@GradleTestVersions
|
||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
||||
fun testFrameworkSelectionMppCommon(
|
||||
gradleVersion: GradleVersion,
|
||||
testFramework: Pair<String, String>
|
||||
|
||||
-1
@@ -238,6 +238,5 @@ internal class MppHighlightingTestDataWithGradleIT : KGPBaseTest() {
|
||||
@GradleTestVersions
|
||||
@ParameterizedTest(name = "{0} - {1} - {2} - {3}: {displayName}")
|
||||
@ArgumentsSource(GradleAndMppHighlightingProvider::class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
||||
annotation class GradleWithMppHighlightingTest
|
||||
}
|
||||
|
||||
-1
@@ -24,7 +24,6 @@ class XcodeDirectIntegrationIT : KGPBaseTest() {
|
||||
@DisplayName("Xcode direct integration")
|
||||
@ParameterizedTest(name = "{displayName} with {1}, {0} and isStatic={2}")
|
||||
@ArgumentsSource(XcodeArgumentsProvider::class)
|
||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
||||
fun test(
|
||||
gradleVersion: GradleVersion,
|
||||
iosApp: String,
|
||||
|
||||
+11
-1
@@ -220,11 +220,21 @@ class GradleAndAgpArgumentsProvider : GradleArgumentsProvider() {
|
||||
)
|
||||
}
|
||||
|
||||
/**
|
||||
* Disables a parametrized test if any of argument providers doesn't have arguments to provide.
|
||||
* When gradle.integration.tests.gradle.version.filter property is used, all arguments of a GradleArgumentsProvider may be filtered out.
|
||||
* If such a test is not disabled, it will fail with initialization error.
|
||||
*/
|
||||
class DisabledIfNoArgumentsProvided : ExecutionCondition {
|
||||
override fun evaluateExecutionCondition(context: ExtensionContext): ConditionEvaluationResult {
|
||||
if (!context.testMethod.isPresent) {
|
||||
return ConditionEvaluationResult.enabled("The execution condition is only applicable to test methods")
|
||||
}
|
||||
|
||||
val gradleVersionFilterParameter = context.getConfigurationParameter("gradle.integration.tests.gradle.version.filter")
|
||||
if (!gradleVersionFilterParameter.isPresent)
|
||||
if (!gradleVersionFilterParameter.isPresent) {
|
||||
return ConditionEvaluationResult.enabled("No Gradle version filter provided")
|
||||
}
|
||||
|
||||
val argumentProviders = AnnotationUtils.findRepeatableAnnotations(context.requiredTestMethod, ArgumentsSource::class.java)
|
||||
.map(ArgumentsSource::value)
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
org.jetbrains.kotlin.gradle.testbase.DisabledIfNoArgumentsProvided
|
||||
Reference in New Issue
Block a user