summaryrefslogtreecommitdiffstats
path: root/dom/webgpu/tests/cts/checkout/src/common/tools/validate.ts
diff options
context:
space:
mode:
Diffstat (limited to 'dom/webgpu/tests/cts/checkout/src/common/tools/validate.ts')
-rw-r--r--dom/webgpu/tests/cts/checkout/src/common/tools/validate.ts36
1 files changed, 36 insertions, 0 deletions
diff --git a/dom/webgpu/tests/cts/checkout/src/common/tools/validate.ts b/dom/webgpu/tests/cts/checkout/src/common/tools/validate.ts
new file mode 100644
index 0000000000..164ee3259a
--- /dev/null
+++ b/dom/webgpu/tests/cts/checkout/src/common/tools/validate.ts
@@ -0,0 +1,36 @@
+import * as process from 'process';
+
+import { crawl } from './crawl.js';
+
+function usage(rc: number): void {
+ console.error(`Usage: tools/validate [options] [SUITE_DIRS...]
+
+For each suite in SUITE_DIRS, validate some properties about the file:
+- It has a .description and .g
+- That each test:
+ - Has a test function (or is marked unimplemented)
+ - Has no duplicate cases
+ - Configures batching correctly, if used
+- That each case query is not too long
+
+Example:
+ tools/validate src/unittests/ src/webgpu/
+
+Options:
+ --help Print this message and exit.
+`);
+ process.exit(rc);
+}
+
+const args = process.argv.slice(2);
+if (args.indexOf('--help') !== -1) {
+ usage(0);
+}
+
+if (args.length < 1) {
+ usage(0);
+}
+
+for (const suiteDir of args) {
+ void crawl(suiteDir, true);
+}