Episódio 14: por Zhaoyang Li, na MTV, e Eric Aleshire, no Canadá (outubro de 2020)
Episódios anteriores
Quer detectar regressões para seu novo recurso no Chrome? Adicione seu na cascata (infraestrutura contínua de teste e criação do Chrome).
Há muitos builders na hierarquia do Chrome que executam testes em uma variedade de plataformas. Este artigo descreve como adicionar um pacote de testes a um de sites. Antes de continuar, considere estas questões:
Os novos testes devem ser incluídos em um pacote novo ou apenas adicionados a um que já existe?
- Os testes são organizados em conjuntos de testes por proximidade do local de origem e do tema. Se seus novos testes não se encaixarem logicamente em nenhum conjunto existente, você provavelmente precisa de um novo pacote.
Os testes precisam ser executados em um builder público ou interno?
- Use um criador interno se o código estiver em um repositório interno, ou Os testes envolvem dados confidenciais.
Os testes devem ser executados na CI para fins de informação, CI principal ou fila de confirmação(CQ)?
- Para sua informação, a CI precisa do seu automonitoramento e é usada para refinamento de testes ou experimentação.
- Os principais testes de CI são monitorados regularmente pelos policiais.
- O CQ bloqueia o envio do CL na falha, mas usa mais recursos de infraestrutura. Um novo pacote sempre deve começar pela CI antes de ser promovido para CQ.
- Se você não tiver certeza, a equipe do EngProd da sua plataforma poderá ajudar.
Já tenho um pacote de testes em execução no CI, como posso adicioná-lo à CQ? / E se eu precisa de um novo construtor?
- Registre um bug em Infra>Client>Chrome component para que
A equipe do
chrome-browser-infra@
pode iniciar avaliações e ajudar na configuração.
Como adicionar um pacote de testes a um builder existente
Para adicionar um pacote de testes a um builder existente, é preciso configurar alguns arquivos.
em //src/testing/buildbot/
:
- Crie uma chave no
gn_isolate_map.pyl
para o novo pacote de testes. com o rótulo do destino de teste e as informações do tipo. Adicione essa chave a um grupo de teste em
test_suites.pyl
. Você pode encontrar o mapeamento do nome do builder para os grupos de teste no builder emwaterfalls.pyl
).'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Mais ajustes.
mixins.pyl
contém argumentos que podem ser aplicados a um grupo de testes em vários níveis de grupo.- O
variants.pyl
ajuda a executar um pacote em várias instâncias. com argumentos diferentes.
Gere novamente os arquivos de configuração executando
generate_buildbot_json.py
.
Depois disso, é só verificar as mudanças de configuração. os criadores que executam esse pacote receberão os novos testes automaticamente, e os resultados vão começar a fluir na interface da Web para o builder em a hierarquia, com muitas informações de depuração em caso de falhas!