Запустите тест, пока он не провалится - PullRequest
0 голосов
/ 22 января 2020

В Bazel вы можете повторно запустить тест несколько раз с помощью:

bazel test --runs_per_test=<n> <target>

Это полезно для воспроизведения условий, которые приводят к провалу нестабильного теста.

Недостаток этого Однако подход заключается в том, что тесты будут запускаться n раз независимо от результатов.

Для тестов, которые являются нестабильными в очень редких условиях, это означает, что вы должны установить n high, но это означает, что вам, возможно, придется пролистать большую часть текста, прежде чем вы найдете результат теста, который провалился.

Есть ли в Bazel встроенный способ запуска теста, пока он не завершится неудачей? Сейчас я использую while l oop в Bash, что достаточно для моего случая использования, но не переносимо:

while bazel test --test_output=errors -t- <target_name>; do :; done

1 Ответ

1 голос
/ 25 января 2020

Пропуск --notest_keep_going приведет к выходу Bazel, как только тест не пройден. Таким образом, вы можете использовать --notest_keep_going в сочетании с нелепо высоким --runs_per_test.

...