1
0
Fork 0
firefox/dom/webgpu/tests/cts/checkout/docs/build.md
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

2 KiB

Building

Building the project is not usually needed for local development. However, for exports to WPT, NodeJS, or deployment, files can be pre-generated.

Build types

The project can be built several different ways, each with a different output directory:

0. on-the-fly builds (no output directory)

Use npm run start to launch a server that live-compiles everything as needed. Use tools/run_node and other tools to run under ts-node which compiles at runtime.

1. out directory

Built with: npm run standalone

Serve locally with: npx grunt serve

Used for: Static deployment of the CTS, primarily for gpuweb.github.io/cts.

2. out-wpt directory

Built with: npm run wpt

Used for: Deploying into Web Platform Tests. See below for more information.

Contains:

  • An adapter for running WebGPU CTS tests under WPT
  • A copy of the needed files from out/
  • A copy of any .html test cases from src/

3. out-node directory

Built with: npm run node

Used for: Running NodeJS tools, if you want to specifically avoid the live-compilation overhead of the tools/ versions, or are running on a deployment which no longer has access to ts-node (which is a build-time dependency). For example:

  • node out-node/common/runtime/cmdline.js (source) - A command line interface test runner
  • node out-node/common/runtime/server.js (source) - An HTTP server for executing CTS tests with a REST interface

Testing

To build and run all pre-submit checks (including type and lint checks and unittests), use:

npm test

For checks only:

npm run check

Export to WPT

Run npm run wpt.

Copy (or symlink) the out-wpt/ directory as the webgpu/ directory in your WPT checkout or your browser's "internal" WPT test directory.