summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRemi NGUYEN VAN <reminv@google.com>2020-04-03 03:37:32 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-04-03 03:37:32 +0000
commit68ca1f048f80096310d729a8384a2aa5f997aadb (patch)
tree016ab5918c8e15de77b6084ec3fb9d33701b5e85
parent0888c179d3d784591e2039bb4587d61dbe3f5f6e (diff)
parent24f8cd78e06a95e29f3491a80c5a992ea37bdcb7 (diff)
Merge "Add ignore class parameters to DevSdkIgnoreRule" into rvc-dev am: 24f8cd78e0
Change-Id: I723d367dc4bfbcb4e4040921014955cf907004b6
-rw-r--r--tests/lib/src/com/android/testutils/DevSdkIgnoreRule.kt12
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/lib/src/com/android/testutils/DevSdkIgnoreRule.kt b/tests/lib/src/com/android/testutils/DevSdkIgnoreRule.kt
index fd7deb6..d30138d 100644
--- a/tests/lib/src/com/android/testutils/DevSdkIgnoreRule.kt
+++ b/tests/lib/src/com/android/testutils/DevSdkIgnoreRule.kt
@@ -27,8 +27,14 @@ import org.junit.runners.model.Statement
*
* If the device is not using a release SDK, the development SDK is considered to be higher than
* [Build.VERSION.SDK_INT].
+ *
+ * @param ignoreClassUpTo Skip all tests in the class if the device dev SDK is <= this value.
+ * @param ignoreClassAfter Skip all tests in the class if the device dev SDK is > this value.
*/
-class DevSdkIgnoreRule : TestRule {
+class DevSdkIgnoreRule @JvmOverloads constructor(
+ private val ignoreClassUpTo: Int? = null,
+ private val ignoreClassAfter: Int? = null
+) : TestRule {
override fun apply(base: Statement, description: Description): Statement {
return IgnoreBySdkStatement(base, description)
}
@@ -49,7 +55,7 @@ class DevSdkIgnoreRule : TestRule {
*/
annotation class IgnoreUpTo(val value: Int)
- private class IgnoreBySdkStatement(
+ private inner class IgnoreBySdkStatement(
private val base: Statement,
private val description: Description
) : Statement() {
@@ -63,6 +69,8 @@ class DevSdkIgnoreRule : TestRule {
val sdkInt = Build.VERSION.SDK_INT
val devApiLevel = sdkInt + if (release) 0 else 1
val message = "Skipping test for ${if (!release) "non-" else ""}release SDK $sdkInt"
+ assumeTrue(message, ignoreClassAfter == null || devApiLevel <= ignoreClassAfter)
+ assumeTrue(message, ignoreClassUpTo == null || devApiLevel > ignoreClassUpTo)
assumeTrue(message, ignoreAfter == null || devApiLevel <= ignoreAfter.value)
assumeTrue(message, ignoreUpTo == null || devApiLevel > ignoreUpTo.value)
base.evaluate()