gpt4 book ai didi

scala - 在 build.sbt 中为 fork 测试设置 JVM 选项

转载 作者:行者123 更新时间:2023-12-02 02:26:29 26 4
gpt4 key购买 nike

我有两组测试,一组需要使用 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

最佳答案

尝试通过 Test 配置来确定 testGrouping 的范围,如下所示

Test / testGrouping := groupByJavaAgent((definedTests in Test).value)

在我的机器上给出

➜  ~ jps -lvm
54513 sbt.ForkMain 52222 -javaagent:/Users/mario_galic/.ivy2/cache/com.github.jbellis/jamm/jars/jamm-0.3.3.jar
54514 sun.tools.jps.Jps -lvm -Dapplication.home=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home -Xms8m
54331 /usr/local/Cellar/sbt/1.2.8/libexec/bin/sbt-launch.jar -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m -XX:MaxMetaspaceSize=256m

关于scala - 在 build.sbt 中为 fork 测试设置 JVM 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55677637/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com