diff --git a/src/main/kotlin/com/beust/kobalt/TestDirective.kt b/src/main/kotlin/com/beust/kobalt/TestDirective.kt index e8f80fed..31052002 100644 --- a/src/main/kotlin/com/beust/kobalt/TestDirective.kt +++ b/src/main/kotlin/com/beust/kobalt/TestDirective.kt @@ -7,6 +7,10 @@ class TestConfig(val project: Project) { fun args(vararg arg: String) { project.testArgs.addAll(arg) } + + fun jvmArgs(vararg arg: String) { + project.testJvmArgs.addAll(arg) + } } @Directive diff --git a/src/main/kotlin/com/beust/kobalt/api/Project.kt b/src/main/kotlin/com/beust/kobalt/api/Project.kt index 7a9b80a3..f82e6dc3 100644 --- a/src/main/kotlin/com/beust/kobalt/api/Project.kt +++ b/src/main/kotlin/com/beust/kobalt/api/Project.kt @@ -26,7 +26,8 @@ open public class Project( override var buildConfig: BuildConfig? = null - var testArgs: ArrayList = arrayListOf() + val testArgs = arrayListOf() + val testJvmArgs = arrayListOf() val projectProperties = ProjectProperties() diff --git a/src/main/kotlin/com/beust/kobalt/internal/GenericRunner.kt b/src/main/kotlin/com/beust/kobalt/internal/GenericRunner.kt index 60b5fdfa..d4cc447b 100644 --- a/src/main/kotlin/com/beust/kobalt/internal/GenericRunner.kt +++ b/src/main/kotlin/com/beust/kobalt/internal/GenericRunner.kt @@ -14,7 +14,7 @@ abstract class GenericTestRunner(open val project: Project, open val classpath: abstract val args: List protected fun findTestClasses(): List { - val path = KFiles.joinDir(project.directory, project.buildDirectory!!, KFiles.TEST_CLASSES_DIR) + val path = KFiles.joinDir(project.directory, project.buildDirectory, KFiles.TEST_CLASSES_DIR) val result = KFiles.findRecursively(File(path), arrayListOf(File(".")), { file -> file.endsWith(".class") }).map { @@ -45,6 +45,7 @@ abstract class GenericTestRunner(open val project: Project, open val classpath: if (args.size > 0) { val allArgs = arrayListOf().apply { add(java!!.absolutePath) + addAll(project.testJvmArgs) add("-classpath") add(classpath.map { it.jarFile.get().absolutePath }.joinToString(File.pathSeparator)) add(mainClass)