Test262 Integration with WebKit

WebKit

Improving Test262 integration with the WebKit project.

We developed a set of tools for importing test material from Test262, automating maintenance of exception lists, and running the material in parallel within the WebKit build infrastructure. Additionally, we launched a pilot program to curate and integrate JavaScriptCore's own test material into Test262.

Challenge

First, the WebKit project maintainers wanted a way to ease the maintenance burden of keeping the WebKit copy of Test262 synced with the latest upstream source material. Second, they hoped to decouple the execution of Test262 conformance tests from their existing Stress test machinery. Finally, the JavaScriptCore team sought to have their own test material automatically one-way-synced to Test262.

Solution

We worked with several stakeholders in the WebKit ecosystem to author import routines which refined and codified their existing practices into an system that automated the maintenance of exception and skip lists. Next we created a new, dedicated Test262 test runner which is capable of running in all of WebKit's development, build and CI environments. Lastly, we designed and deployed a remote one-way-sync bot that check for new or updated test material in JavaScriptCore, which it will then use as the contents of a new Pull Request on Test262. This test material will be curated and integrated into Test262 by the maintainers of that project.

Impact

As a result the WebKit project now has the tools to update with new material from Test262 more regularly, run that material in CI, and export test material to Test262.

Contact Us

We'd love to hear from you. Get in touch!

Phone

+1 617-379-2752

Mail

P.O. Box 961436
Boston, MA 02196