diff options
Diffstat (limited to 'tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt')
-rw-r--r-- | tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt b/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt index edf76e888..fe75a05a2 100644 --- a/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt +++ b/tests/hostside/safetycenter/src/android/safetycenter/hostside/rules/RequireSafetyCenterRule.kt @@ -24,14 +24,23 @@ import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement +/** toBooleanString() doesn't seem available on all Kotlin versions we need to support. */ +private fun String.toBooleanStrictInt(): Boolean = + when (this) { + "true" -> true + "false" -> false + else -> + throw IllegalArgumentException("The string doesn't represent a boolean value: $this") + } + /** JUnit rule for host side tests that requires Safety Center to be supported and enabled. */ class RequireSafetyCenterRule(private val hostTestClass: BaseHostJUnit4Test) : TestRule { private val safetyCenterSupported: Boolean by lazy { - shellCommandStdoutOrThrow("cmd safety_center supported").toBooleanStrict() + shellCommandStdoutOrThrow("cmd safety_center supported").toBooleanStrictInt() } private val safetyCenterEnabled: Boolean by lazy { - shellCommandStdoutOrThrow("cmd safety_center enabled").toBooleanStrict() + shellCommandStdoutOrThrow("cmd safety_center enabled").toBooleanStrictInt() } override fun apply(base: Statement, description: Description): Statement { |