У меня есть два набора тестов, один из которых должен быть запущен с набором JVM -javaagent
, а другой - не установлен.Я использую Groups
для запуска на отдельных JVM, и я вижу, как запускаются оба процесса Java.Используя jps -lvm
я вижу, что JVM не работают с флагом -javaagent
.
build.sbt
:
lazy val myProject = (project in file("."))
.settings(
resolvers ++= Build.resolvers,
libraryDependencies ++= Build.dependencies,
fork in Test := true,
testGrouping := groupByJavaAgent((definedTests in Test).value),
tags in test += Tags.ForkedTestGroup -> 4
)
val home = System.getProperty("user.home")
val jammForkOpts = ForkOptions()
.withRunJVMOptions(Vector(s"-javaagent:$home/.ivy2/cache/com.github.jbellis/jamm/jars/jamm-0.3.3.jar"))
def groupByJavaAgent(allTests: Seq[TestDefinition]) = allTests
.groupBy(t => if(t.name.contains("no javaagent")) ("NoJamm", ForkOptions())
else ("Jamm", jammForkOpts))
.map { case ((gName, opts), tests) => Group(gName, tests, SubProcess(opts)) }
.toSeq
sbt 1.2.8
scala 2.12.8