Skip to content

Commit dafdf3a

Browse files
committed
feat(ci): Configure Taskcluster to run Test262 tests
This commit integrates Test262 test execution into the WPT Taskcluster Continuous Integration system. Key changes and their purpose: - **Task Definition (`tools/ci/tc/tasks/test.yml`):** - A new `wpt-test262` component is defined, specifying the common properties and chunking strategy for Test262 tasks within Taskcluster. - The main Taskcluster task generation matrix is updated to include `test262` as a recognized test suite. This ensures that Taskcluster will automatically create jobs for Test262 across configured browsers and channels (e.g., Firefox Nightly, Chrome Canary). - **CI Validation (`tools/ci/tc/tests/test_valid.py`):** - The integration tests for Taskcluster's decision logic (`test_valid.py`) are updated to expect the new `wpt-*-test262-*` tasks in the generated task graph. This provides automated validation that the CI configuration is correctly interpreted and will schedule the Test262 tasks as intended. With these changes, Taskcluster will automatically detect and execute Test262 tests that are present in the `third_party/test262` directory (as populated by the automated vendoring workflow). This work is a fundamental part of the broader Test262 integration effort, as detailed in the RFC: web-platform-tests/rfcs#229 This commit is the final in a series of smaller PRs split from the larger, original implementation in #55997.
1 parent 258c427 commit dafdf3a

File tree

2 files changed

+168
-0
lines changed

2 files changed

+168
-0
lines changed

tools/ci/tc/tasks/test.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,12 @@ components:
4141
vars:
4242
test-type: crashtest
4343

44+
wpt-test262:
45+
chunks: 16
46+
vars:
47+
test-type: test262
48+
49+
4450
run-options:
4551
options:
4652
xvfb: true
@@ -157,6 +163,8 @@ tasks:
157163
suite: wdspec
158164
- vars:
159165
suite: crashtest
166+
- vars:
167+
suite: test262
160168
do:
161169
$map:
162170
for:

tools/ci/tc/tests/test_valid.py

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,38 @@ def test_verify_payload():
159159
'wpt-chrome-canary-wdspec-2',
160160
'wpt-firefox-nightly-crashtest-1',
161161
'wpt-chrome-canary-crashtest-1',
162+
'wpt-firefox-nightly-test262-1',
163+
'wpt-firefox-nightly-test262-2',
164+
'wpt-firefox-nightly-test262-3',
165+
'wpt-firefox-nightly-test262-4',
166+
'wpt-firefox-nightly-test262-5',
167+
'wpt-firefox-nightly-test262-6',
168+
'wpt-firefox-nightly-test262-7',
169+
'wpt-firefox-nightly-test262-8',
170+
'wpt-firefox-nightly-test262-9',
171+
'wpt-firefox-nightly-test262-10',
172+
'wpt-firefox-nightly-test262-11',
173+
'wpt-firefox-nightly-test262-12',
174+
'wpt-firefox-nightly-test262-13',
175+
'wpt-firefox-nightly-test262-14',
176+
'wpt-firefox-nightly-test262-15',
177+
'wpt-firefox-nightly-test262-16',
178+
'wpt-chrome-canary-test262-1',
179+
'wpt-chrome-canary-test262-2',
180+
'wpt-chrome-canary-test262-3',
181+
'wpt-chrome-canary-test262-4',
182+
'wpt-chrome-canary-test262-5',
183+
'wpt-chrome-canary-test262-6',
184+
'wpt-chrome-canary-test262-7',
185+
'wpt-chrome-canary-test262-8',
186+
'wpt-chrome-canary-test262-9',
187+
'wpt-chrome-canary-test262-10',
188+
'wpt-chrome-canary-test262-11',
189+
'wpt-chrome-canary-test262-12',
190+
'wpt-chrome-canary-test262-13',
191+
'wpt-chrome-canary-test262-14',
192+
'wpt-chrome-canary-test262-15',
193+
'wpt-chrome-canary-test262-16',
162194
'wpt-firefox-nightly-reftest-1',
163195
'wpt-firefox-nightly-reftest-2',
164196
'wpt-firefox-nightly-reftest-3',
@@ -389,6 +421,134 @@ def test_verify_payload():
389421
'wpt-servo-nightly-crashtest-1',
390422
'wpt-firefox_android-nightly-crashtest-1',
391423
'wpt-firefox_android-stable-crashtest-1',
424+
'wpt-firefox-stable-test262-1',
425+
'wpt-firefox-stable-test262-2',
426+
'wpt-firefox-stable-test262-3',
427+
'wpt-firefox-stable-test262-4',
428+
'wpt-firefox-stable-test262-5',
429+
'wpt-firefox-stable-test262-6',
430+
'wpt-firefox-stable-test262-7',
431+
'wpt-firefox-stable-test262-8',
432+
'wpt-firefox-stable-test262-9',
433+
'wpt-firefox-stable-test262-10',
434+
'wpt-firefox-stable-test262-11',
435+
'wpt-firefox-stable-test262-12',
436+
'wpt-firefox-stable-test262-13',
437+
'wpt-firefox-stable-test262-14',
438+
'wpt-firefox-stable-test262-15',
439+
'wpt-firefox-stable-test262-16',
440+
'wpt-chromium-nightly-test262-1',
441+
'wpt-chromium-nightly-test262-2',
442+
'wpt-chromium-nightly-test262-3',
443+
'wpt-chromium-nightly-test262-4',
444+
'wpt-chromium-nightly-test262-5',
445+
'wpt-chromium-nightly-test262-6',
446+
'wpt-chromium-nightly-test262-7',
447+
'wpt-chromium-nightly-test262-8',
448+
'wpt-chromium-nightly-test262-9',
449+
'wpt-chromium-nightly-test262-10',
450+
'wpt-chromium-nightly-test262-11',
451+
'wpt-chromium-nightly-test262-12',
452+
'wpt-chromium-nightly-test262-13',
453+
'wpt-chromium-nightly-test262-14',
454+
'wpt-chromium-nightly-test262-15',
455+
'wpt-chromium-nightly-test262-16',
456+
'wpt-chrome-stable-test262-1',
457+
'wpt-chrome-stable-test262-2',
458+
'wpt-chrome-stable-test262-3',
459+
'wpt-chrome-stable-test262-4',
460+
'wpt-chrome-stable-test262-5',
461+
'wpt-chrome-stable-test262-6',
462+
'wpt-chrome-stable-test262-7',
463+
'wpt-chrome-stable-test262-8',
464+
'wpt-chrome-stable-test262-9',
465+
'wpt-chrome-stable-test262-10',
466+
'wpt-chrome-stable-test262-11',
467+
'wpt-chrome-stable-test262-12',
468+
'wpt-chrome-stable-test262-13',
469+
'wpt-chrome-stable-test262-14',
470+
'wpt-chrome-stable-test262-15',
471+
'wpt-chrome-stable-test262-16',
472+
'wpt-webkitgtk_minibrowser-nightly-test262-1',
473+
'wpt-webkitgtk_minibrowser-nightly-test262-2',
474+
'wpt-webkitgtk_minibrowser-nightly-test262-3',
475+
'wpt-webkitgtk_minibrowser-nightly-test262-4',
476+
'wpt-webkitgtk_minibrowser-nightly-test262-5',
477+
'wpt-webkitgtk_minibrowser-nightly-test262-6',
478+
'wpt-webkitgtk_minibrowser-nightly-test262-7',
479+
'wpt-webkitgtk_minibrowser-nightly-test262-8',
480+
'wpt-webkitgtk_minibrowser-nightly-test262-9',
481+
'wpt-webkitgtk_minibrowser-nightly-test262-10',
482+
'wpt-webkitgtk_minibrowser-nightly-test262-11',
483+
'wpt-webkitgtk_minibrowser-nightly-test262-12',
484+
'wpt-webkitgtk_minibrowser-nightly-test262-13',
485+
'wpt-webkitgtk_minibrowser-nightly-test262-14',
486+
'wpt-webkitgtk_minibrowser-nightly-test262-15',
487+
'wpt-webkitgtk_minibrowser-nightly-test262-16',
488+
'wpt-wpewebkit_minibrowser-nightly-test262-1',
489+
'wpt-wpewebkit_minibrowser-nightly-test262-2',
490+
'wpt-wpewebkit_minibrowser-nightly-test262-3',
491+
'wpt-wpewebkit_minibrowser-nightly-test262-4',
492+
'wpt-wpewebkit_minibrowser-nightly-test262-5',
493+
'wpt-wpewebkit_minibrowser-nightly-test262-6',
494+
'wpt-wpewebkit_minibrowser-nightly-test262-7',
495+
'wpt-wpewebkit_minibrowser-nightly-test262-8',
496+
'wpt-wpewebkit_minibrowser-nightly-test262-9',
497+
'wpt-wpewebkit_minibrowser-nightly-test262-10',
498+
'wpt-wpewebkit_minibrowser-nightly-test262-11',
499+
'wpt-wpewebkit_minibrowser-nightly-test262-12',
500+
'wpt-wpewebkit_minibrowser-nightly-test262-13',
501+
'wpt-wpewebkit_minibrowser-nightly-test262-14',
502+
'wpt-wpewebkit_minibrowser-nightly-test262-15',
503+
'wpt-wpewebkit_minibrowser-nightly-test262-16',
504+
'wpt-servo-nightly-test262-1',
505+
'wpt-servo-nightly-test262-2',
506+
'wpt-servo-nightly-test262-3',
507+
'wpt-servo-nightly-test262-4',
508+
'wpt-servo-nightly-test262-5',
509+
'wpt-servo-nightly-test262-6',
510+
'wpt-servo-nightly-test262-7',
511+
'wpt-servo-nightly-test262-8',
512+
'wpt-servo-nightly-test262-9',
513+
'wpt-servo-nightly-test262-10',
514+
'wpt-servo-nightly-test262-11',
515+
'wpt-servo-nightly-test262-12',
516+
'wpt-servo-nightly-test262-13',
517+
'wpt-servo-nightly-test262-14',
518+
'wpt-servo-nightly-test262-15',
519+
'wpt-servo-nightly-test262-16',
520+
'wpt-firefox_android-nightly-test262-1',
521+
'wpt-firefox_android-nightly-test262-2',
522+
'wpt-firefox_android-nightly-test262-3',
523+
'wpt-firefox_android-nightly-test262-4',
524+
'wpt-firefox_android-nightly-test262-5',
525+
'wpt-firefox_android-nightly-test262-6',
526+
'wpt-firefox_android-nightly-test262-7',
527+
'wpt-firefox_android-nightly-test262-8',
528+
'wpt-firefox_android-nightly-test262-9',
529+
'wpt-firefox_android-nightly-test262-10',
530+
'wpt-firefox_android-nightly-test262-11',
531+
'wpt-firefox_android-nightly-test262-12',
532+
'wpt-firefox_android-nightly-test262-13',
533+
'wpt-firefox_android-nightly-test262-14',
534+
'wpt-firefox_android-nightly-test262-15',
535+
'wpt-firefox_android-nightly-test262-16',
536+
'wpt-firefox_android-stable-test262-1',
537+
'wpt-firefox_android-stable-test262-2',
538+
'wpt-firefox_android-stable-test262-3',
539+
'wpt-firefox_android-stable-test262-4',
540+
'wpt-firefox_android-stable-test262-5',
541+
'wpt-firefox_android-stable-test262-6',
542+
'wpt-firefox_android-stable-test262-7',
543+
'wpt-firefox_android-stable-test262-8',
544+
'wpt-firefox_android-stable-test262-9',
545+
'wpt-firefox_android-stable-test262-10',
546+
'wpt-firefox_android-stable-test262-11',
547+
'wpt-firefox_android-stable-test262-12',
548+
'wpt-firefox_android-stable-test262-13',
549+
'wpt-firefox_android-stable-test262-14',
550+
'wpt-firefox_android-stable-test262-15',
551+
'wpt-firefox_android-stable-test262-16',
392552
'wpt-firefox-stable-reftest-1',
393553
'wpt-firefox-stable-reftest-2',
394554
'wpt-firefox-stable-reftest-3',

0 commit comments

Comments
 (0)