Folge 14: von Zhaoyang Li auf MTV und Eric Aleshire in TOK (Oktober 2020)
Vorherige Folgen
Möchten Sie Regressionen für Ihre neue Funktion in Chrome erkennen? Fügen Sie Ihr der Vermittlungsabfolge (die kontinuierliche Build- und Testinfrastruktur von Chrome)!
In der Vermittlungsabfolge von Chrome gibt es viele Builder, die Tests auf verschiedenen Plattformen. In diesem Artikel wird beschrieben, wie du einer vorhandenen Test-Suite des Website-Builders enthält. Bevor Sie fortfahren, sollten Sie sich folgende Fragen stellen:
Sollten sich die neuen Tests in einer ganz neuen Suite befinden oder nur einer vorhandenen Suite hinzugefügt werden?
- Die Tests sind in Testsuiten nach Umgebungsstandort und Thema sortiert. Wenn sich Ihre neuen Tests nicht logisch in eine bestehende Suite einfügen lassen, brauchen eine neue Suite.
Sollten die Tests auf einem öffentlichen oder einem internen Builder ausgeführt werden?
- Verwenden Sie einen internen Builder, wenn sich der Code in einem internen Repository befindet, oder den die Tests mit vertraulichen Daten durchgeführt werden.
Sollten die Tests in „FYI CI“, „Haupt-CI“ oder in der Commit-Warteschlange(CQ) ausgeführt werden?
- Zur Information: CI benötigt Ihre Selbstüberwachung und wird für Testoptimierungen oder zu experimentieren.
- Haupt-CI-Tests werden regelmäßig von Sheriffs überwacht.
- CQ blockiert die CL-Übermittlung, wenn ein Fehler auftritt, benötigt aber mehr Infrastrukturressourcen. Eine neue Suite sollte immer im CI-Prozess beginnen, bevor sie zu CQ hochgestuft wird.
- Wenn Sie nicht sicher sind, kann Ihnen das EngProd-Team Ihrer Plattform bei der Entscheidung helfen.
Ich habe bereits eine Testsuite in CI ausgeführt. Wie füge ich sie in CQ hinzu? / Was ist, wenn ich brauchen Sie einen neuen Builder?
- Melden Sie den Fehler unter Infrastruktur > Client > Chrome-Komponente, damit
Das
chrome-browser-infra@
-Team kann mit Bewertungen beginnen und Sie bei der Einrichtung unterstützen.
Einem vorhandenen Builder eine Testsuite hinzufügen
Wenn Sie einem vorhandenen Builder eine Testsuite hinzufügen möchten, müssen Sie einige Dateien konfigurieren
in //src/testing/buildbot/
:
- Erstelle einen Schlüssel in
gn_isolate_map.pyl
für die neue Testsuite. mit Informationen zu Testziellabel und -typ. Fügen Sie diesen Schlüssel einer Testgruppe in
test_suites.pyl
hinzu. Die Zuordnung vom Builder-Namen zu den Testgruppen im Builder finden Sie inwaterfalls.pyl
)'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Mehr Feinabstimmungen.
mixins.pyl
enthält Argumente, die kann auf eine Gruppe von Tests auf verschiedenen Gruppenebenen angewendet werden.- Mit
variants.pyl
können Sie eine Suite in mehreren Instanzen ausführen mit unterschiedlichen Argumenten.
Führen Sie den folgenden Befehl aus, um Konfigurationsdateien neu zu generieren:
generate_buildbot_json.py
Anschließend müssen Sie nur noch Ihre Konfigurationsänderungen einchecken. Die Builder, die diese Suite ausführen, nehmen die neuen Tests automatisch auf. beginnen die Ergebnisse in der Weboberfläche für den Builder am „Wasserfall“ mit vielen Debug-Informationen für den Fall, dass Fehler auftreten.