Pull to refresh

Comments 6

Простите мое, так сказать, ignorance. Но что означает flaky-тесты в терминологии организации Sberbank? Неплохо бы ввести definition.
Важно отметить, что в посте речь идет о вклад в Open Source решение, а именно Apache Ignite ignite.apache.org. Код принадлежит Apache Software Foundation, а не организации Sberbank.

Flaky тест — это понятие, заимствованное из JetBrains TeamCity — тест, меняющий свое состояние с упавшего на успешный без изменений в коде. Эвристика в Apache Ignite TeamCity Bot немного отличается от TeamCity, но смысл понятия примерно одинаковый.

Обычно падение Flaky теста не свидетельствует о внесенной в Pull Request проблеме.
тесты выполняются в произвольном порядке?
Тесты разделены на Suite (в терминах Teamcity на разные Run Configurations). Все стюты после запуска Composite Build идут в параллель на разных агентах, поэтому да, порядок не определен.
Понятно, у вас несколько инстанций приложения, на каждой инстанции выполняется другой набор тестов. А внутри набора, тесты выполняются в произвольном порядке?
Поясню:
Завтакаем в ресторане A, обедаем в ресторане Б, ужинам в ресторане В. Меню всегда одно и тоже.
В ресторане Б у нас иногда случается несварение желудка после приема компота. Так вот вопрос, за обедом вы принимаете пищу в произвольном порядке, т.е. один день первое, второе и компот, а в другой компот, первое а за ним второе? Если да, то проблемы, как правило, именно в последовательности.
Да, порядок внутри сьюты не гарантируется. И точно случались проблемы непреднамеренно собравшихся кластеров, когда ноды в тестах начинают видеть другие ноды в сети. Поэтому не исключено, что установка предстказуемого порядка, например maven-surefire-plugin/runOrder/alphabetical тоже поможет.

Эту идею можно предложить на mailing листе dev@ignite.apache.org. Или чуть позже, я тоже могу обсудить идею фиксировать порядок выполнения тестов с сообществом.
Sign up to leave a comment.