Episodio 14: di Zhaoyang Li su MTV ed Eric Aleshire in TOK (ottobre 2020)
Puntate precedenti
Vuoi rilevare le regressioni per la tua nuova funzionalità in Chrome? Aggiungi i tuoi test alla struttura a cascata (l'infrastruttura di Chrome e di test continui).
Nella struttura a cascata di Chrome sono disponibili numerosi strumenti per la creazione di test su diverse piattaforme. Questo articolo descrive come aggiungere una suite di test a un builder esistente. Prima di procedere, poniti queste domande:
I nuovi test dovrebbero essere disponibili in una suite completamente nuova o essere semplicemente aggiunti a una suite esistente?
- I test sono organizzati in suite di test in base alla vicinanza della località e del tema di origine. Se i nuovi test non possono logicamente essere inseriti in nessuna suite esistente, probabilmente ti serve una nuova suite.
I test devono essere eseguiti su un builder pubblico o interno?
- Utilizza un generatore interno se il codice si trova in un repository interno o se i test prevedono dati riservati.
I test devono essere eseguiti in CI FYI, CI principale o in coda di commit(CQ)?
- FYI CI richiede l'automonitoraggio e viene utilizzata per il perfezionamento dei test o la sperimentazione.
- I principali test CI sono monitorati regolarmente dagli sceriff.
- CQ blocca l'invio del CL in caso di errore, ma richiede più risorse di infrastruttura. Una nuova suite deve sempre iniziare da CI prima di essere promossa a CQ.
- In caso di dubbi, il team EngProd della tua piattaforma può aiutarti a decidere.
Ho già una suite di test in esecuzione in CI. Come faccio ad aggiungerla a CQ? / Cosa succede se mi serve un nuovo costruttore?
- Segnala un bug in Infra>Cliente>Componente Chrome in modo che il team
chrome-browser-infra@
possa iniziare le valutazioni e aiutarti con la configurazione.
Come aggiungere una suite di test a un builder esistente
Per aggiungere una suite di test a un builder esistente, devi configurare alcuni file in //src/testing/buildbot/
:
- Crea una chiave in
gn_isolate_map.pyl
per la nuova suite di test con etichetta target di test e informazioni sul tipo. Aggiungi la chiave a un gruppo di test in
test_suites.pyl
. Puoi trovare la mappatura dal nome del builder ai gruppi di test nel builder inwaterfalls.pyl
.'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Più perfezionamenti.
mixins.pyl
contiene argomenti che possono essere applicati a un gruppo di test a vari livelli di gruppo.variants.pyl
consente di eseguire una suite in più istanze con argomenti diversi.
Rigenera i file di configurazione eseguendo
generate_buildbot_json.py
.
Successivamente, devi eseguire il check-in delle modifiche alla configurazione; i builder che eseguono questa suite rileveranno automaticamente i nuovi test e i risultati inizieranno a essere visualizzati nell'interfaccia web del generatore nella struttura a cascata, con tanto di informazioni di debug in caso di errore.