Odcinek 14: Zhaoyang Li w MTV i Eric Aleshire w TOK (październik 2020 r.)
Poprzednie odcinki
Chcesz wykrywać regresje w przypadku nowej funkcji Chrome? Dodaj: z testami kaskady (czyli infrastruktury ciągłej kompilacji i testowania Chrome).
W kaskadzie Chrome jest wielu kreatorów, które przeprowadzają testy na różnych platform. Z tego artykułu dowiesz się, jak dodać zestaw testów do istniejącego . Zanim przejdziesz dalej, odpowiedz sobie na te pytania:
Czy nowe testy mają znajdować się w zupełnie nowym pakiecie czy tylko zostać dodane do już istniejącego?
- Testy są uporządkowane w pakietach testowych według pobliżu lokalizacji źródła i tematu. Jeśli nowe testy nie pasują logicznie do żadnego z istniejących pakietów, potrzebują nowego pakietu.
Czy testy powinny być przeprowadzane w publicznym kreatorze czy wewnętrznym kreatorze?
- Użyj wewnętrznego kreatora, jeśli kod znajduje się w wewnętrznym repozytorium. testy obejmują poufne dane.
Czy testy mają być uruchamiane w FYI CI, głównej aplikacji CI, czy w kolejce zatwierdzenia?
- FYI CI wymaga samodzielnego monitorowania i służy do ulepszenia testu lub z eksperymentami.
- Główne testy CI są regularnie monitorowane przez szeryfów.
- CQ blokuje przesłanie listy zmian w przypadku niepowodzenia, ale pobiera więcej zasobów infrastruktury. Nowy pakiet powinien zawsze zacząć od CI przed awansowaniem do CQ.
- Jeśli nie masz pewności, zespół EnngProd z Twojej platformy pomoże Ci w podjęciu decyzji.
Mam już pakiet testów uruchomiony w CI. Jak dodać go do CQ? / Co jeśli potrzebujesz nowego narzędzia?
- Zgłoś błąd w Infra>Client>Chrome WebView,
Zespół
chrome-browser-infra@
może rozpocząć oceny i pomóc Ci w konfiguracji.
Jak dodać pakiet testowy do istniejącego kreatora
Aby dodać pakiet testowy do istniejącego kreatora, musisz skonfigurować niektóre pliki
w //src/testing/buildbot/
:
- Utwórz klucz w
gn_isolate_map.pyl
dla nowego zestawu testów z testową etykietą celu i informacjami o typie. Dodaj ten klucz do grupy testowej w
test_suites.pyl
. Mapowanie z nazwy konstruktora na grupy testowe w kreatorze znajdziesz wwaterfalls.pyl
).'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Więcej szczegółów.
mixins.pyl
zawiera argumenty, które: można zastosować w grupie testów na różnych poziomach grup.variants.pyl
ułatwia uruchamianie pakietu w wielu instancjach z różnymi argumentami.
Ponowne generowanie plików konfiguracji przez uruchomienie
generate_buildbot_json.py
.
Potem wystarczy sprawdzić zmiany w konfiguracji. kreatory tego pakietu automatycznie wybiorą nowe testy, wyniki pojawią się w interfejsie internetowym kreatora na stronie W kaskadzie uwzględnij mnóstwo danych debugowania na wypadek niepowodzenia.