エピソード 14: Zhaoyang Li(MTV)、Eric Aleshire(韓国)(2020 年 10 月)
前のエピソード
Chrome の新機能に対するリグレッションを検出するには、を ウォーターフォール(Chrome の継続的なビルドとテスト インフラストラクチャ)にテストを実行できます。
Chrome のウォーターフォールには、さまざまなデバイスでテストを行うビルダーが多数あります 説明します。この記事では、テストスイートを既存の 作成します。先に進む前に、次のことを検討してください。
新しいテストは、まったく新しいスイートで実施すべきですか、それとも既存のスイートに追加すべきですか?
- テストは、ソースの場所とテーマの近さを基準にテストスイートにまとめられています。 新しいテストが既存のスイートに論理的に収まらない場合は、 新しいスイートが必要だとします。
テストはパブリック ビルダーと内部ビルダーのどちらで実行すればよいですか?
- コードが内部リポジトリにある場合は内部ビルダーを使用します。または、 テストに機密データが含まれる。
テストは、FYI CI、メイン CI、commit キュー(CQ)のどちらで実行すればよいですか?
- 参考として、CI にはセルフ モニタリングが必要で、テストの調整や 必要があります。
- 保安官によって主要な CI テストが定期的にモニタリングされています。
- CQ は失敗時に CL の送信をブロックしますが、より多くのインフラ リソースが必要になります。 新しいスイートは常に CQ に昇格する前に CI から開始する必要があります。
- 判断に迷う場合は、プラットフォームの EngProd チームにお問い合わせください。
すでに CI で実行されているテストスイートがあります。CQ に追加するにはどうすればよいですか?/ 新しい工具が必要か?
- [インフラ] > [クライアント] > [Chrome コンポーネント] でバグを報告し、
chrome-browser-infra@
チームが評価を開始し、設定をお手伝いします。
既存のビルダーにテストスイートを追加する方法
テストスイートを既存のビルダーに追加するには、いくつかのファイルを設定する必要があります
(//src/testing/buildbot/
):
gn_isolate_map.pyl
で新しいテストスイートのキーを作成します。 ターゲット ラベルとタイプ情報です。そのキーを
test_suites.pyl
のテストグループに追加します。 (ビルダー名からビルダーのテストグループへのマッピングは、waterfalls.pyl
)。'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
さらにファインチューニング。
mixins.pyl
に含まれる引数。 さまざまなグループ レベルのテストのグループに適用できます。variants.pyl
は、スイートを複数のインスタンスで実行できます。 使用できます。
次のコマンドを実行して、構成ファイルを再生成します。
generate_buildbot_json.py
。
その後は、構成の変更をチェックインするだけです。 このスイートを実行しているビルダーは新しいテストを自動的に取得し、 のビルダーの結果がウェブ インターフェースに取り込まれます。 ウォーターフォール - 障害発生時のデバッグ情報が豊富に用意されています。