| #!/usr/bin/env node |
| |
| // Generate a top-level cts.https.html file for WPT. |
| // |
| // In the default invocation (used by grunt), just generates a cts.https.html with one "variant" |
| // per test spec file (.spec.ts). |
| // |
| // In the advanced invocation, generate a list of variants, which are broken down as much as needed |
| // to accommodate a provided list of suppressions, and no further. This reduces the total runtime of |
| // the test suite by not generating an entire page load for every single test case. |
| // The resulting cts.https.html can be checked in and used to run tests within browser harnesses. |
| // |
| // For example, for the following 9 cases: |
| // |
| // webgpu:a/foo:foo1={"x":1} |
| // webgpu:a/foo:foo1={"x":2} |
| // webgpu:a/foo:foo2={"x":1} |
| // webgpu:a/foo:foo2={"x":2} |
| // webgpu:a/bar:bar1={"x":1} |
| // webgpu:a/bar:bar1={"x":2} |
| // webgpu:a/bar:bar1={"x":3} |
| // webgpu:a/bar:bar2={"x":1} |
| // webgpu:a/bar:bar2={"x":2} |
| // |
| // and the following suppressions: |
| // |
| // [ Win ] ?q=webgpu:a/bar:bar1={"x":1} [ Failure ] |
| // [ Mac ] ?q=webgpu:a/bar:bar1={"x":3} [ Failure ] |
| // |
| // the following list of 5 variants gives enough granularity to suppress only the failing cases: |
| // |
| // ?q=webgpu:a/foo: |
| // ?q=webgpu:a/bar:bar1={"x":1} <- [ Win ] |
| // ?q=webgpu:a/bar:bar1={"x":2} |
| // ?q=webgpu:a/bar:bar1={"x":3} <- [ Mac ] |
| // ?q=webgpu:a/bar:bar2~ |
| |
| require('../src/common/tools/setup-ts-in-node.js'); |
| require('../src/common/tools/gen_wpt_cts_html.ts'); |