diff options
| author | Albin <albin@mullvad.net> | 2024-01-17 09:32:09 +0100 |
|---|---|---|
| committer | Albin <albin@mullvad.net> | 2024-01-18 17:12:06 +0100 |
| commit | d0b0cdc8814334fc9ae008a44901e7a8c3de826c (patch) | |
| tree | cbedc95e1c72fb61157e3bdf5b3a87ad27c8ae85 /android/test/common/src | |
| parent | 8f8e8c4699237ce6f254c0d6b7f02657dc4224ca (diff) | |
| download | mullvadvpn-d0b0cdc8814334fc9ae008a44901e7a8c3de826c.tar.xz mullvadvpn-d0b0cdc8814334fc9ae008a44901e7a8c3de826c.zip | |
Add annotation to skip test for certain flavors
This makes it possible to skip certain tests that might
not be supported across all flavors. For example tests
that relate to whether a flavor is targeted to Google
Play and therefore either include or exclude certain
functionality of the app.
Diffstat (limited to 'android/test/common/src')
| -rw-r--r-- | android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/annotation/SkipForFlavors.kt | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/annotation/SkipForFlavors.kt b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/annotation/SkipForFlavors.kt new file mode 100644 index 0000000000..f1d3a990a1 --- /dev/null +++ b/android/test/common/src/main/kotlin/net/mullvad/mullvadvpn/test/common/annotation/SkipForFlavors.kt @@ -0,0 +1,25 @@ +package net.mullvad.mullvadvpn.test.common.annotation + +import org.junit.jupiter.api.extension.ConditionEvaluationResult +import org.junit.jupiter.api.extension.ExecutionCondition +import org.junit.jupiter.api.extension.ExtendWith +import org.junit.jupiter.api.extension.ExtensionContext + +@Retention(AnnotationRetention.RUNTIME) +@ExtendWith(SkipForFlavors.FlavorCondition::class) +annotation class SkipForFlavors(val currentFlavor: String, vararg val skipForFlavors: String) { + class FlavorCondition : ExecutionCondition { + override fun evaluateExecutionCondition(p0: ExtensionContext?): ConditionEvaluationResult { + val annotation = p0?.element?.get()?.getAnnotation(SkipForFlavors::class.java) + return if (annotation?.skipForFlavors?.contains(annotation.currentFlavor) == true) { + ConditionEvaluationResult.disabled( + "Skipping test for flavor: ${annotation.currentFlavor}" + ) + } else { + ConditionEvaluationResult.enabled( + "Running test for flavor: ${annotation?.currentFlavor}" + ) + } + } + } +} |
