测试贡献
鼓励 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.html
或fast/dom/HTMLSelectElement/listbox-select-reset.html
。 - 如果测试颜色等内容,也可以创建生成 PNG 文件和校验和的测试用例,以便与预期结果进行比较。例如,请参阅
fast/dom/css-rule-functions.html
。为此,请务必不要使用testRunner.dumpAsText()
。
- 许多测试是包含 JavaScript 的 HTML 文件,它们用于测试单个功能或子功能,并产生可靠、易于识别的结果。例如,请参阅
- 创建预期结果文件。
- 如果您的修复修复了现有测试(或者破坏了某个测试,但您确信它是正确的),请删除该测试的现有预期结果,以便生成新的预期结果。
- 运行您的新测试。要只运行完整测试套件的一个子集,请运行
run-webkit-tests
,并附带相对于您的LayoutTests
目录的测试目录或文件的路径。例如,run-webkit-tests fast/dom/HTMLSelectElement/
将运行该目录中的所有测试。如果您还想生成 PNG 和校验和文件,请将-p
选项添加到run-webkit-tests
。 - 测试完成后,测试系统将启动您新构建的 Safari,并显示所有没有预期结果的测试的实际结果,以及在适用情况下显示预期结果与实际结果的差异。它将自动为所有新测试创建预期结果文件,因此请查看其结果并确保它们是正确的。
- 如果您需要进行进一步更改,可以删除预期结果文件并重新运行其测试以生成新的文件。或者,您可以在旧的预期结果存在的情况下运行测试,然后将新的实际结果从 /tmp 复制到正确的预期结果文件。(不要只从窗口复制粘贴,因为很难确保所有空白都完全正确。)
- 当您对预期结果满意时,再次运行测试以确保其现在通过。
准备更改
- 确保您的环境已通过
git-webkit setup
准备就绪。 - 按照错误报告指南,在 Bugzilla 中找到或提交适用于您的补丁的错误。
- 请参阅WebKit 代码贡献指南。
git add
您正在修改或添加的任何文件。
提交
- 使用
git-webkit pr
为您的更改创建拉取请求。 - 编辑提交消息模板以添加错误引用和每个更改的简要说明,遵循模板中的示例。
- 您将在输出中收到拉取请求的 URL。