The WebGPU CTS is written in TypeScript, and builds into two directories:
out/: Built framework and test files, needed to run standalone or command line.
out-wpt/: Build directory for export into WPT. Contains WPT runner and a copy of just the needed files from
After checking out the repository and installing Yarn, run these commands to set up dependencies:
cd cts/ yarn install npx grunt # show available grunt commands
To build and run all pre-submit checks (including type and lint checks and unittests), use:
npx grunt pre
For a quicker iterative build:
npx grunt test
To test in a browser under the standalone harness, run
grunt serve, then open:
To see debug logs in a browser, use the
debug=1 query string:
To add new tests, simply imitate the pattern in neigboring tests or neighboring files. New test files must be named ending in
For an example, see
Since this project is written in TypeScript, it integrates best with Visual Studio Code. There are also some default settings (in
.vscode/settings.json) which will be applied automatically.
Before uploading, you should run pre-submit checks (
Be sure to read CONTRIBUTING.md.
Copy (or symlink) the
out-wpt/ directory as the
webgpu/ directory in your WPT checkout.