From 97808f3424f279ba2891320a236d4bd8a29753c2 Mon Sep 17 00:00:00 2001 From: Jared Burrows Date: Sat, 19 Oct 2019 17:52:04 -0700 Subject: [PATCH] remove test variables --- .../com/jaredsburrows/spoon/SpoonTask.kt | 35 ++++++++----------- .../spoon/SpoonPluginSpec.groovy | 2 +- .../jaredsburrows/spoon/SpoonTaskSpec.groovy | 5 --- 3 files changed, 15 insertions(+), 27 deletions(-) diff --git a/src/main/kotlin/com/jaredsburrows/spoon/SpoonTask.kt b/src/main/kotlin/com/jaredsburrows/spoon/SpoonTask.kt index 737a429..bea2111 100644 --- a/src/main/kotlin/com/jaredsburrows/spoon/SpoonTask.kt +++ b/src/main/kotlin/com/jaredsburrows/spoon/SpoonTask.kt @@ -5,7 +5,6 @@ import com.squareup.spoon.SpoonRunner import java.io.File import java.time.Duration import org.gradle.api.DefaultTask -import org.gradle.api.GradleException import org.gradle.api.Task import org.gradle.api.tasks.TaskAction @@ -13,28 +12,22 @@ import org.gradle.api.tasks.TaskAction open class SpoonTask : DefaultTask() { // tasks can't be final /** Use our Spoon extension. */ - lateinit var extension: SpoonExtension + var extension: SpoonExtension = SpoonExtension() /** Application APK (eg. app-debug.apk). */ - lateinit var applicationApk: File + var applicationApk: File? = null /** Instrumentation APK (eg. app-debug-androidTest.apk). */ - lateinit var instrumentationApk: File + var instrumentationApk: File? = null /** Results baseOutputDir. */ - lateinit var outputDir: File - - /** TESTING ONLY */ - var testing: Boolean = false - var testValue: Boolean = true - var spoonRenderer: SpoonRunner.Builder? = null + var outputDir: File? = null @Suppress("unused") @TaskAction fun spoonTask() { - if (extension.className.isEmpty() && extension.methodName.isNotEmpty()) { - throw IllegalStateException("'${extension.methodName}' must have a fully qualified class " + - "name.") + check(!(extension.className.isEmpty() and extension.methodName.isNotEmpty())) { + "'${extension.methodName}' must have a fully qualified class name." } val builder = SpoonRunner.Builder() @@ -55,8 +48,10 @@ open class SpoonTask : DefaultTask() { // tasks can't be final .setClearAppDataBeforeEachTest(extension.clearAppDataBeforeEachTest) // APKs - if (!testing) { + instrumentationApk?.let { builder.setTestApk(instrumentationApk) + } + applicationApk?.let { builder.addOtherApk(applicationApk) } @@ -81,8 +76,8 @@ open class SpoonTask : DefaultTask() { // tasks can't be final if (extension.instrumentationArgs.isNotEmpty()) { val instrumentationArgs = hashMapOf() extension.instrumentationArgs.forEach { instrumentation -> - if (!(instrumentation.contains(':') or instrumentation.contains('='))) { - throw UnsupportedOperationException("Please use '=' or ':' to separate arguments.") + check(instrumentation.contains(':') or instrumentation.contains('=')) { + "Please use '=' or ':' to separate arguments." } val keyVal = if (instrumentation.contains(':')) { @@ -110,12 +105,10 @@ open class SpoonTask : DefaultTask() { // tasks can't be final builder.addDevice(it) } - spoonRenderer = builder + builder.build().run() - val success = if (testing) testValue else builder.build().run() - if (!success && !extension.ignoreFailures) { - throw GradleException("Tests failed! " + - "See ${ConsoleRenderer.asClickableFileUrl(File(outputDir, "index.html"))}") + check(builder.build().run() && extension.ignoreFailures) { + "Tests failed! See ${ConsoleRenderer.asClickableFileUrl(File(outputDir, "index.html"))}" } } diff --git a/src/test/groovy/com/jaredsburrows/spoon/SpoonPluginSpec.groovy b/src/test/groovy/com/jaredsburrows/spoon/SpoonPluginSpec.groovy index 7ea40ad..dbce62b 100644 --- a/src/test/groovy/com/jaredsburrows/spoon/SpoonPluginSpec.groovy +++ b/src/test/groovy/com/jaredsburrows/spoon/SpoonPluginSpec.groovy @@ -13,7 +13,7 @@ final class SpoonPluginSpec extends Specification { @Rule TemporaryFolder testProjectDir = new TemporaryFolder() private def MANIFEST_FILE_PATH = 'src/main/AndroidManifest.xml' private def MANIFEST = "" - private def APP_APK = 'project-debug.apk' + private def APP_APK = 'project-debug.apk' private def TEST_APK = 'project-debug-androidTest.apk' private Project project private File appApk diff --git a/src/test/groovy/com/jaredsburrows/spoon/SpoonTaskSpec.groovy b/src/test/groovy/com/jaredsburrows/spoon/SpoonTaskSpec.groovy index e20438f..3fcc93f 100644 --- a/src/test/groovy/com/jaredsburrows/spoon/SpoonTaskSpec.groovy +++ b/src/test/groovy/com/jaredsburrows/spoon/SpoonTaskSpec.groovy @@ -56,7 +56,6 @@ final class SpoonTaskSpec extends Specification { project.evaluate() SpoonTask task = project.tasks.getByName(taskName) as SpoonTask - task.testing = true task.applicationApk = appApk task.instrumentationApk = testApk task.execute() @@ -148,7 +147,6 @@ final class SpoonTaskSpec extends Specification { project.evaluate() SpoonTask task = project.tasks.getByName(taskName) as SpoonTask - task.testing = true task.applicationApk = appApk task.instrumentationApk = testApk task.execute() @@ -250,7 +248,6 @@ final class SpoonTaskSpec extends Specification { project.evaluate() SpoonTask task = project.tasks.getByName(taskName) as SpoonTask - task.testing = true task.applicationApk = testApk task.instrumentationApk = testApk task.execute() @@ -350,8 +347,6 @@ final class SpoonTaskSpec extends Specification { project.evaluate() SpoonTask task = project.tasks.getByName(taskName) as SpoonTask - task.testing = true - task.testValue = false task.applicationApk = appApk task.instrumentationApk = testApk task.execute()