Scala Sbt 0.13.x中的分叉和排序测试
以下是Sbt 0.12.x的配置方式:Scala Sbt 0.13.x中的分叉和排序测试,scala,migration,sbt,Scala,Migration,Sbt,以下是Sbt 0.12.x的配置方式: parallelExecution in test := false testGrouping in Test <<= definedTests in Test map { tests => tests.map { test => import Tests._ import scala.collection.JavaConversions._ new Group( name = test.n
parallelExecution in test := false
testGrouping in Test <<= definedTests in Test map { tests =>
tests.map { test =>
import Tests._
import scala.collection.JavaConversions._
new Group(
name = test.name,
tests = Seq(test),
runPolicy = SubProcess(javaOptions = Seq(
"-server", "-Xms4096m", "-Xms4096m", "-XX:NewSize=3584m",
"-Xss256k", "-XX:+UseG1GC", "-XX:+TieredCompilation",
"-XX:+UseNUMA", "-XX:+UseCondCardMark",
"-XX:-UseBiasedLocking", "-XX:+AlwaysPreTouch") ++
System.getProperties.toMap.map {
case (k, v) => "-D" + k + "=" + v
}))
}.sortWith(_.name < _.name)
}
迁移更改只是一个问题
在Sbt 0.13.x中,是否有其他方法可以对测试进行分叉和排序以克服该异常?在Linux和Mac OS上运行良好 Windows上出现错误,因为类路径长度的限制阻止启动测试代理实例,System.err中出现以下错误:
Error: Could not find or load main class sbt.ForkMain
我在将Scala回购迁移到sbt版本sbt.version=1.3.8(以前1.2.8还可以)时也遇到了这个错误。奇怪的是,它在我的mac上运行良好,但在teamcity linux构建代理上失败 对我来说,解决办法是设置
fork := false,
in build.sbt
不确定回购协议之前为什么将其设置为fork:=true(猜测它是从其他地方剪切/粘贴的,因为在回购协议中没有明显的原因),但这一更改解决了问题。在我的mac电脑上,本地运行速度现在也快了几秒钟
请参见此处了解背景信息
fork := false,