在building the Kotlin compiler之后(在提交e80a01a):
./gradlew dist
测试没有成功通过:
./gradlew compiler:test
由于极少数测试用例失败,我想再次执行它们,不包括成功的测试用例。有可能,只要我使用--tests
选项每次失败测试手动启动gradle一次。例如,两个命令都生成了一个失败的测试:
./gradlew compiler:test --tests org.jetbrains.kotlin.code.CodeConformanceTest
./gradlew compiler:test --tests org.jetbrains.kotlin.codegen.ir.IrBlackBoxCodegenTestGenerated\$Functions\$BigArity
但是,如果我尝试多次使用--tests
,它将失败并出现错误,而不运行测试:
./gradlew compiler:test \
--tests org.jetbrains.kotlin.code.CodeConformanceTest \
--tests org.jetbrains.kotlin.codegen.ir.IrBlackBoxCodegenTestGenerated\$Functions\$BigArity
根据我的理解,Gradle文档似乎使用--tests
选项几次有意义(参见“Testing in Java & JVM projects”):
也可以提供多个
--tests
选项,所有的模式都将生效。
我希望这不是Kotlin问题。对我来说,它看起来是Gradle的一个问题,或者是我对Gradle的理解问题(更有可能)。对此事有何看法?
这只是部分答案。我能够通过使用通配符替换测试类包名来解决此问题。这会产生与调用gradle两次时相同的测试失败:
./gradlew compiler:test \
--tests \*.CodeConformanceTest \
--tests \*.IrBlackBoxCodegenTestGenerated\$Functions\$BigArity
我仍然不明白发生了什么。