Chromium Chronicle #14:向广告瀑布流添加测试

第 14 集:由 MTV 的 Zhaoyang Li 和 TOK 的 Eric Aleshire 主演(2020 年 10 月)
上一集

想检测 Chrome 新功能的回归问题吗?添加您的 测试瀑布流(Chrome 的持续构建和测试基础架构)!

Chrome 瀑布流中有许多构建器,这些构建器可针对各种资源 平台。本文介绍了如何向现有的 构建器。在继续之前,请考虑以下问题:

是将新测试放入全新的套件,还是仅添加到现有套件?

  • 测试按照源代码位置和主题的邻近程度在测试套件中整理。 如果新测试在逻辑上无法融入任何现有套件,您可能 需要一套新的套件。

测试应该在公开构建器还是内部构建器上运行?

  • 如果代码位于内部代码库中,请使用内部构建器;或者 测试涉及机密数据

测试应该在供参考 CI、主 CI 还是提交队列(CQ) 中运行?

  • 仅供参考 CI 需要您自行监控,可用于优化测试或 。
  • 行政长官会定期监控主要 CI 测试
  • CQ 在失败时阻止 CL 提交,但会占用更多基础架构资源。 新套件应始终先从 CI 开始,然后再升级到 CQ
  • 如果您不确定,该平台的 EngProd 团队可以帮助您做决定。

我已经有一个在 CI 中运行的测试套件,如何将其添加到 CQ?/ 如果我 需要新的构建器?

如何向现有构建器添加测试套件

如需向现有构建器添加测试套件,您需要配置一些文件 在 //src/testing/buildbot/ 中:

  1. gn_isolate_map.pyl 中为新测试套件创建一个密钥 包含测试目标标签和类型信息
  2. 将该密钥添加到 test_suites.pyl 中的测试组。 (您可以在 waterfalls.pyl。)

    'all_simulator_tests': {
      'previously_existing_test_suite': {},
      'exciting_new_feature_test_suite': {},
    },
    
  3. 进行更多微调。

    • mixins.pyl 包含的参数 可在不同的组级别应用于一组测试。
    • variants.pyl 有助于在多个实例中运行一个套件 不同参数
  4. 通过运行以下命令重新生成配置文件 generate_buildbot_json.py

之后,只需签入配置更改即可; 运行此套件的构建器将自动选择新的测试, 结果将开始显示在网页界面上,构建器的 广告瀑布流 - 在发生故障时提供丰富的调试信息!