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
|
maxParallelForks = maxParallelTestForks
|
||||||
|
|
||||||
systemProperty("gradle.integration.tests.gradle.version.filter", gradleVersion)
|
systemProperty("gradle.integration.tests.gradle.version.filter", gradleVersion)
|
||||||
|
systemProperty("junit.jupiter.extensions.autodetection.enabled", "true")
|
||||||
if (junitTag in requiresKotlinNative) {
|
if (junitTag in requiresKotlinNative) {
|
||||||
applyKotlinNativeFromCurrentBranchIfNeeded()
|
applyKotlinNativeFromCurrentBranchIfNeeded()
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -21,6 +21,5 @@ import java.lang.annotation.Target;
|
|||||||
@AndroidTestVersions
|
@AndroidTestVersions
|
||||||
@ParameterizedTest(name = "AGP {1} with {0}: {displayName}")
|
@ParameterizedTest(name = "AGP {1} with {0}: {displayName}")
|
||||||
@ArgumentsSource(GradleAndAgpArgumentsProvider.class)
|
@ArgumentsSource(GradleAndAgpArgumentsProvider.class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided.class)
|
|
||||||
public @interface GradleAndroidTest {
|
public @interface GradleAndroidTest {
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -20,6 +20,5 @@ import java.lang.annotation.Target;
|
|||||||
@GradleTestVersions
|
@GradleTestVersions
|
||||||
@ParameterizedTest(name = "{0}: {displayName}")
|
@ParameterizedTest(name = "{0}: {displayName}")
|
||||||
@ArgumentsSource(GradleArgumentsProvider.class)
|
@ArgumentsSource(GradleArgumentsProvider.class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided.class)
|
|
||||||
public @interface GradleTest {
|
public @interface GradleTest {
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -21,6 +21,5 @@ import java.lang.annotation.Target;
|
|||||||
@JdkVersions
|
@JdkVersions
|
||||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||||
@ArgumentsSource(GradleAndJdkArgumentsProvider.class)
|
@ArgumentsSource(GradleAndJdkArgumentsProvider.class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided.class)
|
|
||||||
public @interface GradleWithJdkTest {
|
public @interface GradleWithJdkTest {
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -104,6 +104,5 @@ internal class HierarchicalStructureOptInMigrationArtifactContentMppIT : KGPBase
|
|||||||
@GradleTestVersions
|
@GradleTestVersions
|
||||||
@ParameterizedTest(name = "{0} mode {1}: {displayName}")
|
@ParameterizedTest(name = "{0} mode {1}: {displayName}")
|
||||||
@ArgumentsSource(GradleAndHmppModeProvider::class)
|
@ArgumentsSource(GradleAndHmppModeProvider::class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
|
||||||
annotation class GradleWithHmppModeTest
|
annotation class GradleWithHmppModeTest
|
||||||
}
|
}
|
||||||
-3
@@ -513,7 +513,6 @@ class KotlinSpecificDependenciesIT : KGPBaseTest() {
|
|||||||
@GradleTestVersions
|
@GradleTestVersions
|
||||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||||
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
|
||||||
fun testFrameworkSelectionJvm(
|
fun testFrameworkSelectionJvm(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
testFramework: Pair<String, String>
|
testFramework: Pair<String, String>
|
||||||
@@ -537,7 +536,6 @@ class KotlinSpecificDependenciesIT : KGPBaseTest() {
|
|||||||
@GradleTestVersions
|
@GradleTestVersions
|
||||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||||
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
|
||||||
fun testFrameworkSelectionMppJvm(
|
fun testFrameworkSelectionMppJvm(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
testFramework: Pair<String, String>
|
testFramework: Pair<String, String>
|
||||||
@@ -562,7 +560,6 @@ class KotlinSpecificDependenciesIT : KGPBaseTest() {
|
|||||||
@GradleTestVersions
|
@GradleTestVersions
|
||||||
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
@ParameterizedTest(name = "{1} with {0}: {displayName}")
|
||||||
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
@ArgumentsSource(GradleAndTestFrameworksArgumentsProvider::class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
|
||||||
fun testFrameworkSelectionMppCommon(
|
fun testFrameworkSelectionMppCommon(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
testFramework: Pair<String, String>
|
testFramework: Pair<String, String>
|
||||||
|
|||||||
-1
@@ -238,6 +238,5 @@ internal class MppHighlightingTestDataWithGradleIT : KGPBaseTest() {
|
|||||||
@GradleTestVersions
|
@GradleTestVersions
|
||||||
@ParameterizedTest(name = "{0} - {1} - {2} - {3}: {displayName}")
|
@ParameterizedTest(name = "{0} - {1} - {2} - {3}: {displayName}")
|
||||||
@ArgumentsSource(GradleAndMppHighlightingProvider::class)
|
@ArgumentsSource(GradleAndMppHighlightingProvider::class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
|
||||||
annotation class GradleWithMppHighlightingTest
|
annotation class GradleWithMppHighlightingTest
|
||||||
}
|
}
|
||||||
|
|||||||
-1
@@ -24,7 +24,6 @@ class XcodeDirectIntegrationIT : KGPBaseTest() {
|
|||||||
@DisplayName("Xcode direct integration")
|
@DisplayName("Xcode direct integration")
|
||||||
@ParameterizedTest(name = "{displayName} with {1}, {0} and isStatic={2}")
|
@ParameterizedTest(name = "{displayName} with {1}, {0} and isStatic={2}")
|
||||||
@ArgumentsSource(XcodeArgumentsProvider::class)
|
@ArgumentsSource(XcodeArgumentsProvider::class)
|
||||||
@ExtendWith(DisabledIfNoArgumentsProvided::class)
|
|
||||||
fun test(
|
fun test(
|
||||||
gradleVersion: GradleVersion,
|
gradleVersion: GradleVersion,
|
||||||
iosApp: String,
|
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 {
|
class DisabledIfNoArgumentsProvided : ExecutionCondition {
|
||||||
override fun evaluateExecutionCondition(context: ExtensionContext): ConditionEvaluationResult {
|
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")
|
val gradleVersionFilterParameter = context.getConfigurationParameter("gradle.integration.tests.gradle.version.filter")
|
||||||
if (!gradleVersionFilterParameter.isPresent)
|
if (!gradleVersionFilterParameter.isPresent) {
|
||||||
return ConditionEvaluationResult.enabled("No Gradle version filter provided")
|
return ConditionEvaluationResult.enabled("No Gradle version filter provided")
|
||||||
|
}
|
||||||
|
|
||||||
val argumentProviders = AnnotationUtils.findRepeatableAnnotations(context.requiredTestMethod, ArgumentsSource::class.java)
|
val argumentProviders = AnnotationUtils.findRepeatableAnnotations(context.requiredTestMethod, ArgumentsSource::class.java)
|
||||||
.map(ArgumentsSource::value)
|
.map(ArgumentsSource::value)
|
||||||
|
|||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
org.jetbrains.kotlin.gradle.testbase.DisabledIfNoArgumentsProvided
|
||||||
Reference in New Issue
Block a user