bazel - 测试运行时的可写归档路径

bazel - writable archivable path for test runtime

我正在 运行 使用一些 bazel 测试目标(java_test 的 scala 风格)进行 E2E 测试。

在 Maven 中,我曾经将日志转储到测试期间创建的 target/logs 文件夹,然后如果出现问题 - 我可以查看此文件夹并找到日志。

在 bazel 中 - 我可以在我的测试日志配置中放置什么路径,以便它在测试完成/测试失败时可写并方便地使用?


我知道 java.io.tmp 目录是可写的,但在测试完成后立即被删除。

所以通过 bazel 文档挖掘我发现了这个: https://docs.bazel.build/versions/master/test-encyclopedia.html#initial-conditions

似乎我可以读取环境变量 "TEST_UNDECLARED_OUTPUTS_DIR",它会给我一个可写的路径。我在那里写的任何东西都会被压缩并保存在 ./bazel-out/darwin-fastbuild/testlogs/<package-name>/<target-name>/test.outputs/outputs.zip

很酷!

您可以使用环境变量TEST_TMPDIR="<.file directory.>".

为bazel test设置可写路径