Эпизод 14: Чжаоян Ли на MTV и Эрик Алешир в TOK (октябрь 2020 г.)
Предыдущие серии
Хотите обнаружить регрессию вашей новой функции в Chrome? Добавляйте свои тесты в водопад (инфраструктуру непрерывной сборки и тестирования Chrome)!
В каскаде Chrome есть множество разработчиков, которые проводят тесты на различных платформах. В этой статье описывается, как добавить набор тестов в существующий построитель. Прежде чем продолжить, рассмотрите следующие вопросы:
Должны ли новые тесты размещаться в совершенно новом пакете или просто добавляться к существующему?
- Тесты организованы в наборы тестов по близости расположения источника и темы. Если ваши новые тесты логически не вписываются в какой-либо существующий пакет, вам, вероятно, понадобится новый пакет.
Должны ли тесты проводиться на общедоступном сборщике или на внутреннем сборщике?
- Используйте внутренний сборщик , если код находится во внутреннем репозитории или тесты включают конфиденциальные данные .
Должны ли тесты выполняться в FYI CI, основном CI или очереди фиксации (CQ)?
- К вашему сведению, CI требует вашего самоконтроля и используется для уточнения тестов или экспериментов.
- Основные тесты CI регулярно контролируются шерифами.
- CQ блокирует отправку CL в случае сбоя, но требует больше инфраструктурных ресурсов . Новый пакет всегда должен начинаться с CI, прежде чем повышаться до CQ .
- Если вы не уверены, команда EngProd вашей платформы может помочь вам принять решение.
У меня уже есть набор тестов, работающий в CI, как мне добавить его в CQ? / Что, если мне понадобится новый застройщик?
- Сообщите об ошибке в компоненте Инфра>Клиент>Chrome, чтобы команда
chrome-browser-infra@
могла начать оценку и помочь вам в настройке.
Как добавить набор тестов в существующий конструктор
Чтобы добавить набор тестов в существующий сборщик , вам необходимо настроить некоторые файлы в //src/testing/buildbot/
:
- Создайте ключ в
gn_isolate_map.pyl
для нового набора тестов с меткой цели теста и введите информацию. Добавьте этот ключ в тестовую группу в
test_suites.pyl
. (Вы можете найти сопоставление имени строителя с тестовыми группами в сборщике вwaterfalls.pyl
.)'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Больше тонких настроек.
-
mixins.pyl
содержит аргументы , которые можно применять к группе тестов на разных уровнях группы. -
variants.pyl
помогает запускать набор в нескольких экземплярах с разными аргументами .
-
Восстановите файлы конфигурации,
generate_buildbot_json.py
.
После этого достаточно просто проверить изменения конфигурации; сборщики, запускающие этот пакет, автоматически подберут новые тесты, и результаты начнут поступать в веб-интерфейс сборщика на водопаде - вместе с большим количеством отладочной информации на случай сбоев!