Chromium Chronicle n. 14: aggiunta di test alla struttura a cascata

Episodio 14: di Zhaoyang Li in MTV ed Eric Aleshire in TOK (ottobre 2020)
Puntate precedenti

Vuoi rilevare regressioni per la tua nuova funzionalità in Chrome? Aggiungi il tuo i test alla struttura a cascata (l'infrastruttura di test e build di Chrome).

La struttura a cascata di Chrome offre molti builder che eseguono test su una piattaforme di terze parti. Questo articolo descrive come aggiungere una suite di test a una suite Builder. Prima di procedere, poniti queste domande:

I nuovi test devono trovarsi in una suite completamente nuova o semplicemente essere 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 sono logicamente compatibili con nessuna suite esistente, probabilmente hanno bisogno di 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 oppure la che coinvolgano dati riservati.

I test devono essere eseguiti in CI FYI, CI principale o coda di commit(CQ)?

  • Tieni presente che CI ha bisogno del tuo automonitoraggio e viene utilizzato per il perfezionamento dei test o degli esperimenti.
  • I test CI principali vengono monitorati regolarmente dagli sceriffi.
  • CQ blocca l'invio di 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? / E se hai bisogno di un nuovo builder?

Come aggiungere una suite di test a un builder esistente

Per aggiungere una suite di test a un builder esistente, devi configurare alcuni file tra //src/testing/buildbot/:

  1. Crea una chiave in gn_isolate_map.pyl per la nuova suite di test con informazioni sul tipo e sull'etichetta del target di test.
  2. Aggiungi il token a un gruppo di test in test_suites.pyl. Puoi trovare la mappatura dal nome del generatore ai gruppi di test sul builder in waterfalls.pyl.

    'all_simulator_tests': {
      'previously_existing_test_suite': {},
      'exciting_new_feature_test_suite': {},
    },
    
  3. Più regolazioni.

    • mixins.pyl contiene argomenti che può essere applicata a un gruppo di test a vari livelli di gruppo.
    • variants.pyl consente di eseguire una suite in più istanze con argomenti diversi.
  4. Rigenera i file di configurazione eseguendo generate_buildbot_json.py

Dopodiché, è sufficiente controllare le modifiche alla configurazione. i builder che eseguono questa suite acquisiranno i nuovi test automaticamente i risultati inizieranno a essere inviati nell'interfaccia web per lo strumento di creazione struttura a cascata, completa di molte informazioni di debug in caso di errori.