Add true no-op merge script
Adds //scripts/merge_scripts/true_noop_merge.py. This script does
literally nothing but exit successfully, which works as a merge script
for Dawn since we only rely on ResultDB for test results. This new
merge script is then applied to all existing tests.
Since this unblocks the use of sharding, slow tests are also sharded
to keep per-shard times under ~10 minutes.
Bug: 385317083
Change-Id: Ib7bfc31c6b9fe017e69a4ba8699b753a46a68f25
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/265039
Commit-Queue: Brian Sheedy <bsheedy@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kai Ninomiya <kainino@chromium.org>
diff --git a/infra/specs/ci.json b/infra/specs/ci.json
index f906936..88e799b 100644
--- a/infra/specs/ci.json
+++ b/infra/specs/ci.json
@@ -20,7 +20,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_ir_fuzzer_corpus_tests",
"resultdb": {
@@ -45,7 +45,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_wgsl_fuzzer_corpus_tests",
"resultdb": {
@@ -75,7 +75,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_ir_fuzzer_corpus_tests",
"resultdb": {
@@ -100,7 +100,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_wgsl_fuzzer_corpus_tests",
"resultdb": {
@@ -130,7 +130,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -144,7 +144,8 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -154,7 +155,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -168,14 +169,15 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -199,7 +201,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -220,7 +222,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -250,7 +252,7 @@
"webgpu:api,operation,adapter,requestDevice:default:*"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_node_sws_cts",
"resultdb": {
@@ -280,7 +282,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -294,7 +296,8 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -304,7 +307,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -318,14 +321,15 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -349,7 +353,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -370,7 +374,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -400,7 +404,7 @@
"webgpu:api,operation,adapter,requestDevice:default:*"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_node_sws_cts",
"resultdb": {
@@ -440,7 +444,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_ir_fuzzer_corpus_tests",
"resultdb": {
@@ -465,7 +469,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_wgsl_fuzzer_corpus_tests",
"resultdb": {
@@ -495,7 +499,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_ir_fuzzer_corpus_tests",
"resultdb": {
@@ -520,7 +524,7 @@
"--append-cwd-as-build"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_wgsl_fuzzer_corpus_tests",
"resultdb": {
@@ -550,7 +554,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -564,7 +568,8 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -574,7 +579,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -588,14 +593,15 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -619,7 +625,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -640,7 +646,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -670,7 +676,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -684,7 +690,8 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -694,7 +701,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -708,14 +715,15 @@
"os": "Ubuntu-22.04",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -739,7 +747,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -760,7 +768,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -800,7 +808,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -814,7 +822,8 @@
"gpu": "8086:3e9b",
"os": "Mac-14.5"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -824,7 +833,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -838,14 +847,15 @@
"gpu": "8086:3e9b",
"os": "Mac-14.5"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -869,7 +879,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -890,7 +900,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -920,7 +930,7 @@
"webgpu:api,operation,adapter,requestDevice:default:*"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_node_sws_cts",
"resultdb": {
@@ -950,7 +960,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -964,7 +974,8 @@
"gpu": "8086:3e9b",
"os": "Mac-14.5"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -974,7 +985,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -988,14 +999,15 @@
"gpu": "8086:3e9b",
"os": "Mac-14.5"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -1019,7 +1031,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -1040,7 +1052,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -1070,7 +1082,7 @@
"webgpu:api,operation,adapter,requestDevice:default:*"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_node_sws_cts",
"resultdb": {
@@ -1115,7 +1127,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -1129,7 +1141,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1139,7 +1152,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -1153,14 +1166,15 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -1184,7 +1198,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -1205,7 +1219,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -1235,7 +1249,7 @@
"webgpu:api,operation,adapter,requestDevice:default:*"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_node_software_d3d12_cts",
"resultdb": {
@@ -1265,7 +1279,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -1279,7 +1293,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1289,7 +1304,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -1303,7 +1318,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1313,7 +1329,7 @@
"--adapter-vendor-id=0x1414"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_warp_tests",
"resultdb": {
@@ -1334,7 +1350,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -1358,7 +1374,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -1379,7 +1395,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -1409,7 +1425,7 @@
"webgpu:api,operation,adapter,requestDevice:default:*"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_node_software_d3d12_cts",
"resultdb": {
@@ -1439,7 +1455,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -1453,7 +1469,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1463,7 +1480,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -1477,7 +1494,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1487,7 +1505,7 @@
"--adapter-vendor-id=0x1414"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_warp_tests",
"resultdb": {
@@ -1508,7 +1526,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -1532,7 +1550,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -1553,7 +1571,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -1583,7 +1601,7 @@
"webgpu:api,operation,adapter,requestDevice:default:*"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_node_software_d3d12_cts",
"resultdb": {
@@ -1623,7 +1641,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -1637,7 +1655,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1647,7 +1666,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -1661,14 +1680,15 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -1692,7 +1712,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -1713,7 +1733,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
@@ -1743,7 +1763,7 @@
"--enable-toggles=gl_force_es_31_and_no_extensions"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_swangle_tests",
"resultdb": {
@@ -1757,7 +1777,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 2
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1767,7 +1788,7 @@
"--adapter-vendor-id=0x1AE0"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_sws_tests",
"resultdb": {
@@ -1781,7 +1802,8 @@
"os": "Windows-10-19045",
"pool": "chromium.tests.gpu"
},
- "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
+ "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
+ "shards": 3
},
"test": "dawn_end2end_tests",
"test_id_prefix": "ninja://src/dawn/tests:dawn_end2end_tests/"
@@ -1791,7 +1813,7 @@
"--adapter-vendor-id=0x1414"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_end2end_warp_tests",
"resultdb": {
@@ -1812,7 +1834,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_unittests",
"resultdb": {
@@ -1836,7 +1858,7 @@
"--use-wire"
],
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "dawn_wire_unittests",
"resultdb": {
@@ -1857,7 +1879,7 @@
},
{
"merge": {
- "script": "//testing/merge_scripts/noop_merge.py"
+ "script": "//scripts/merge_scripts/true_noop_merge.py"
},
"name": "tint_unittests",
"resultdb": {
diff --git a/infra/specs/generate_test_spec_json.py b/infra/specs/generate_test_spec_json.py
index c26ee29..2c8fa04 100755
--- a/infra/specs/generate_test_spec_json.py
+++ b/infra/specs/generate_test_spec_json.py
@@ -66,6 +66,11 @@
'result_format': 'single',
},
},
+ 'true_noop_merge': {
+ 'merge': {
+ 'script': '//scripts/merge_scripts/true_noop_merge.py',
+ },
+ },
}
MIXIN_FILEPATH = os.path.join(THIS_DIR, 'mixins.pyl')
diff --git a/infra/specs/mixins.pyl b/infra/specs/mixins.pyl
index 44b2221..64f21ab 100644
--- a/infra/specs/mixins.pyl
+++ b/infra/specs/mixins.pyl
@@ -54,6 +54,7 @@
'result_adapter_single': {'resultdb': {'result_format': 'single'}},
'swarming_containment_auto': { 'fail_if_unused': False,
'swarming': {'containment_type': 'AUTO'}},
+ 'true_noop_merge': { 'merge': { 'script': '//scripts/merge_scripts/true_noop_merge.py'}},
'win10': {'swarming': {'dimensions': {'os': 'Windows-10-19045'}}},
'x86-64': { 'fail_if_unused': False,
'swarming': {'dimensions': {'cpu': 'x86-64'}}}}
diff --git a/infra/specs/test_suite_exceptions.pyl b/infra/specs/test_suite_exceptions.pyl
index 6f9d0fd..d10f829 100644
--- a/infra/specs/test_suite_exceptions.pyl
+++ b/infra/specs/test_suite_exceptions.pyl
@@ -8,4 +8,4 @@
'dawn-win-x86-sws-dbg',
],
},
-}
\ No newline at end of file
+}
diff --git a/infra/specs/test_suites.pyl b/infra/specs/test_suites.pyl
index 19ae3b9..52f9e81 100644
--- a/infra/specs/test_suites.pyl
+++ b/infra/specs/test_suites.pyl
@@ -9,15 +9,10 @@
],
'mixins': [
'result_adapter_gtest_json',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_gtest_merge does not work properly with the
- # results output by --gtest_output. However, noop_merge locks us to
- # a single shard, and we should not have any need for the outputs of
- # merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
+ 'swarming': {
+ 'shards': 2,
},
'test': 'dawn_end2end_tests',
},
@@ -29,15 +24,10 @@
],
'mixins': [
'result_adapter_gtest_json',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_gtest_merge does not work properly with the
- # results output by --gtest_output. However, noop_merge locks us to
- # a single shard, and we should not have any need for the outputs of
- # merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
+ 'swarming': {
+ 'shards': 3,
},
'test': 'dawn_end2end_tests',
},
@@ -49,16 +39,8 @@
],
'mixins': [
'result_adapter_gtest_json',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_gtest_merge does not work properly with the
- # results output by --gtest_output. However, noop_merge locks us to
- # a single shard, and we should not have any need for the outputs of
- # merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
'test': 'dawn_end2end_tests',
},
},
@@ -73,16 +55,8 @@
],
'mixins': [
'result_adapter_single',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_isolated_script_merge does not work properly
- # without some additional Python dependencies. However, noop_merge
- # locks us to a single shard, and we should not have any need for the
- # outputs of merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
'test': 'dawn_node_cts',
},
},
@@ -97,16 +71,8 @@
],
'mixins': [
'result_adapter_single',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_isolated_script_merge does not work properly
- # without some additional Python dependencies. However, noop_merge
- # locks us to a single shard, and we should not have any need for the
- # outputs of merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
'test': 'dawn_node_cts',
},
},
@@ -114,16 +80,8 @@
'dawn_unittests': {
'mixins': [
'result_adapter_gtest_json',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_gtest_merge does not work properly with the
- # results output by --gtest_output. However, noop_merge locks us to
- # a single shard, and we should not have any need for the outputs of
- # merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
},
},
'dawn_wire_unit_gtests': {
@@ -133,16 +91,8 @@
],
'mixins': [
'result_adapter_gtest_json',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_gtest_merge does not work properly with the
- # results output by --gtest_output. However, noop_merge locks us to
- # a single shard, and we should not have any need for the outputs of
- # merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
'test': 'dawn_unittests',
},
},
@@ -154,16 +104,8 @@
],
'mixins': [
'result_adapter_single',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_isolated_script_merge does not work properly
- # without some additional Python dependencies. However, noop_merge
- # locks us to a single shard, and we should not have any need for the
- # outputs of merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
'test': 'fuzzer_corpus_tests',
},
'tint_ir_fuzzer_corpus_tests': {
@@ -174,16 +116,8 @@
],
'mixins': [
'result_adapter_single',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_isolated_script_merge does not work properly
- # without some additional Python dependencies. However, noop_merge
- # locks us to a single shard, and we should not have any need for the
- # outputs of merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
'test': 'fuzzer_corpus_tests',
},
},
@@ -191,16 +125,8 @@
'tint_unittests': {
'mixins': [
'result_adapter_gtest_json',
+ 'true_noop_merge',
],
- 'merge': {
- # This should be removed in favor of updating the recipe code to allow
- # the merge script to be skipped entirely. noop is needed currently
- # because standard_gtest_merge does not work properly with the
- # results output by --gtest_output. However, noop_merge locks us to
- # a single shard, and we should not have any need for the outputs of
- # merge scripts for Dawn.
- 'script': '//testing/merge_scripts/noop_merge.py',
- },
},
},
},
diff --git a/scripts/merge_scripts/true_noop_merge.py b/scripts/merge_scripts/true_noop_merge.py
new file mode 100644
index 0000000..67a6d90
--- /dev/null
+++ b/scripts/merge_scripts/true_noop_merge.py
@@ -0,0 +1,37 @@
+# Copyright 2025 The Dawn & Tint Authors
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright notice, this
+# list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
+# and/or other materials provided with the distribution.
+#
+# 3. Neither the name of the copyright holder nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+"""A merge script that does nothing.
+
+Unlike //testing/merge_scripts/noop_merge.py, this does not actually output
+a "merged" JSON file, which means that it also does not have the restriction of
+only working with a single shard.
+"""
+
+import sys
+
+if __name__ == '__main__':
+ sys.exit(0)