Chromium Chronicle Nr. 14: Tests zur Wasserfall-Methode hinzufügen

Folge 14:von Zhaoyang Li auf MTV und Eric Aleshire in Tokio (Oktober 2020)
Vorherige Folgen

Möchten Sie Regressionen für Ihre neue Funktion in Chrome erkennen? Fügen Sie Ihre Tests der Vermittlungsabfolge hinzu (der fortlaufenden Build- und Testinfrastruktur von Chrome).

In der Vermittlungsabfolge von Chrome gibt es viele Builder, die Tests auf einer Vielzahl von Plattformen ausführen. In diesem Artikel wird beschrieben, wie Sie einem vorhandenen Builder eine Testsuite hinzufügen. Bevor Sie fortfahren, sollten Sie sich folgende Fragen stellen:

Sollen die neuen Tests in einer ganz neuen Suite oder nur zu einer vorhandenen Suite hinzugefügt werden?

  • Tests werden in Testsuiten nach Annäherung zwischen Quellspeicherort und -thema organisiert. Wenn Ihre neuen Tests logisch nicht in eine vorhandene Suite passen, benötigen Sie wahrscheinlich 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 die Tests vertrauliche Daten umfassen.

Sollen die Tests in FYI CI, Haupt-CI oder Commit-Warteschlange(CQ) ausgeführt werden?

  • Hinweis: CI benötigt Ihre eigene Selbstüberwachung und wird zur Verfeinerung oder Durchführung von Tests verwendet.
  • Haupt-CI-Tests werden regelmäßig von Sheriffs überwacht.
  • CQ blockiert die CL-Einreichung bei einem Fehler, beansprucht aber mehr Infrastrukturressourcen. Eine neue Suite sollte immer bei CI beginnen, bevor sie auf CQ hochgestuft wird.
  • Wenn Sie sich nicht sicher sind, kann Ihnen das EngProd-Team Ihrer Plattform bei der Entscheidung helfen.

Ich habe bereits eine Testsuite in CI ausgeführt. Wie kann ich sie in CQ hinzufügen? / Was ist, wenn ich einen neuen Builder benötige?

So fügen Sie einem vorhandenen Builder eine Testsuite hinzu

Wenn Sie einem vorhandenen Builder eine Testsuite hinzufügen möchten, müssen Sie einige Dateien in //src/testing/buildbot/ konfigurieren:

  1. Erstellen Sie einen Schlüssel in gn_isolate_map.pyl für die neue Testsuite mit Label und Typinformationen des Testziels.
  2. 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 in waterfalls.pyl.

    'all_simulator_tests': {
      'previously_existing_test_suite': {},
      'exciting_new_feature_test_suite': {},
    },
    
  3. Mehr Feinabstimmungen.

    • mixins.pyl enthält Argumente, die auf eine Gruppe von Tests auf verschiedenen Gruppenebenen angewendet werden können.
    • Mit variants.pyl lässt sich eine Suite in mehreren Instanzen mit unterschiedlichen Argumenten ausführen.
  4. Generieren Sie die Konfigurationsdateien neu, indem Sie generate_buildbot_json.py ausführen.

Danach müssen Sie Ihre Konfigurationsänderungen einchecken. Die Builder, die diese Suite ausführen, übernehmen die neuen Tests automatisch und die Ergebnisse gehen auf der Weboberfläche ein für den Builder in der Vermittlungsabfolge – komplett mit vielen Debug-Informationen im Falle von Fehlern.