测试贡献

鼓励 Web 开发者下载 WebKit 构建归档 来试用新功能。如果您遇到错误,请务必向错误跟踪器报告

开始设置

  • bugs.webkit.org 注册 Bugzilla 帐户。
  • Tools/Scripts 添加到您的 shell 路径中,以便轻松运行脚本

验证问题

  • 通过运行 update-webkit,然后运行 build-webkit 来更新您的构建。
  • 通过运行 run-safari 确保您要修复的问题仍然存在。

创建测试用例

有关分步说明,请参阅创建布局测试

  • 请参阅有关运行测试编写新测试以及为 DumpRenderTree 编写布局测试的文档
  • 运行 run-webkit-tests 以查看您的错误修复是否修复了现有损坏的测试用例。(如果它破坏了之前通过的测试,请在提交之前务必确认您的修复是正确的。)
  • 否则,创建一个新的测试用例。
    • 许多测试是包含 JavaScript 的 HTML 文件,它们用于测试单个功能或子功能,并产生可靠、易于识别的结果。例如,请参阅 fast/events/event-creation.htmlfast/dom/HTMLSelectElement/listbox-select-reset.html
    • 如果测试颜色等内容,也可以创建生成 PNG 文件和校验和的测试用例,以便与预期结果进行比较。例如,请参阅 fast/dom/css-rule-functions.html。为此,请务必不要使用 testRunner.dumpAsText()
  • 创建预期结果文件。
    • 如果您的修复修复了现有测试(或者破坏了某个测试,但您确信它是正确的),请删除该测试的现有预期结果,以便生成新的预期结果。
    • 运行您的新测试。要只运行完整测试套件的一个子集,请运行 run-webkit-tests,并附带相对于您的 LayoutTests 目录的测试目录或文件的路径。例如,run-webkit-tests fast/dom/HTMLSelectElement/ 将运行该目录中的所有测试。如果您还想生成 PNG 和校验和文件,请将 -p 选项添加到 run-webkit-tests
    • 测试完成后,测试系统将启动您新构建的 Safari,并显示所有没有预期结果的测试的实际结果,以及在适用情况下显示预期结果与实际结果的差异。它将自动为所有新测试创建预期结果文件,因此请查看其结果并确保它们是正确的。
    • 如果您需要进行进一步更改,可以删除预期结果文件并重新运行其测试以生成新的文件。或者,您可以在旧的预期结果存在的情况下运行测试,然后将新的实际结果从 /tmp 复制到正确的预期结果文件。(不要只从窗口复制粘贴,因为很难确保所有空白都完全正确。)
  • 当您对预期结果满意时,再次运行测试以确保其现在通过。

准备更改

提交

  • 使用 git-webkit pr 为您的更改创建拉取请求。
  • 编辑提交消息模板以添加错误引用和每个更改的简要说明,遵循模板中的示例。
  • 您将在输出中收到拉取请求的 URL。