Как объединить результаты каждого из тестов bazel?
У меня есть файл сборки, в котором выполняются некоторые тесты Bazel, например, в конвейере Azure.
jobs:
- job: "results_extraction"
timeoutInMinutes: 720
steps:
- bash: |
./install_conda_environment.sh update
displayName: "Update conda env"
- bash: |
source ${HOME}/.bashrc
bazel test test1
--test_output=all
--test_summary=detailed
continueOnError: true
displayName: "Run test1"
- bash: |
source ${HOME}/.bashrc
bazel test test2
--test_output=all
--test_summary=detailed
continueOnError: true
displayName: "Run test2"
- task: PublishTestResults@2
condition: succeededOrFailed()
inputs:
testResultsFiles: 'bazel-testlogs/**/*.xml'
testRunTitle: 'Publish test results.'
displayName: 'Bazel Tests Publish Results'
Но когда я захожу в каталог bazel-test, я не могу найти эти тесты (я искал test.xml). Я предполагаю, что песочница bazel удаляет его, но я могу ошибаться. Все, что я хочу сделать, это извлечь результаты каждого из этих индивидуальных тестов. Есть ли в bazel флаг, который позволяет мне создавать подробный результат теста, содержащий статус каждого теста?
1 ответ
Если вы измените свои тесты, чтобы записать файлы в
<tcode id="3424882"></tcode> (переменная среды, которую устанавливает bazel при запуске тестов), файлы будут сохранены в
bazel-testlogs/<package>/<target>/test.outputs/outputs.zip
. Затем вы можете написать что-нибудь, чтобы собрать их и обработать.