Skip to content

fix type hints for earlier python versions

28a3a4b
Select commit
Loading
Failed to load commit list.
Open

feat(manifest): Add initial tooling for Test262 test types [pt 1/5] #56840

fix type hints for earlier python versions
28a3a4b
Select commit
Loading
Failed to load commit list.
Community-TC Integration / tools/ unittests (Python 3.8) succeeded Dec 19, 2025 in 23m 13s

Community-TC (pull_request)

Unit tests for tools running under Python 3.8, excluding wptrunner

Details

View task in Taskcluster | View logs in Taskcluster | View task group in Taskcluster

Task Status

Started: 2025-12-19T18:08:59.845Z
Resolved: 2025-12-19T18:31:56.861Z
Task Execution Time: 22 minutes, 57 seconds, 16 milliseconds
Task Status: completed
Reason Resolved: completed
RunId: 0

Artifacts

- public/logs/live_backing.log
- public/logs/live.log


[taskcluster 2025-12-19 18:08:59.910Z] Task ID: HnDvJiTTRkilxZMEvGxFvg
[taskcluster 2025-12-19 18:08:59.910Z] Worker ID: 1274013368959119257
[taskcluster 2025-12-19 18:08:59.910Z] Worker Group: us-central1-f
[taskcluster 2025-12-19 18:08:59.910Z] Worker Node Type: projects/757942385826/machineTypes/n2-standard-4
[taskcluster 2025-12-19 18:08:59.910Z] Worker Pool: proj-wpt/ci
[taskcluster 2025-12-19 18:08:59.910Z] Worker Version: 46.1.0
[taskcluster 2025-12-19 18:08:59.910Z] Public IP: 136.116.157.63
[taskcluster 2025-12-19 18:08:59.910Z] Hostname: proj-wpt-ci-gz0iiw7rswyp2tgf8d4tdw

[taskcluster 2025-12-19 18:09:00.987Z] === Task Starting ===
+ '[' '' ']'
+ '[' -d /etc/profile.d ']'
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/01-locale-fix.sh ']'
+ . /etc/profile.d/01-locale-fix.sh
+++ /usr/bin/locale-check C.UTF-8
++ eval
+ for i in /etc/profile.d/*.sh
+ '[' -r /etc/profile.d/apps-bin-path.sh ']'
+ . /etc/profile.d/apps-bin-path.sh

...(314 lines hidden)...

ci/tc/decision.py                                       250     62    121      5    77%

ci/tc/download.py                                        71     71     26      0     0%

ci/tc/github_checks_output.py                            13      5      2      1    60%

ci/tc/sink_task.py                                       39     39     14      0     0%

ci/tc/taskgraph.py                                      124      9     70      9    91%

ci/update_built.py                                       37     37     14      0     0%

ci/update_codeowners.py                                  59     59     21      0     0%

conftest.py                                              12      0      2      0   100%

docker/__init__.py                                        0      0      0      0   100%

docker/frontend.py                                       88     88     36      0     0%

docker/retry.py                                          39     39     10      0     0%

gitignore/__init__.py                                     0      0      0      0   100%

gitignore/gitignore.py                                  188    188    120      0     0%

lint/__init__.py                                          1      0      0      0   100%

lint/fnmatch.py                                          21      2     10      2    81%

lint/lint.py                                            669    101    415     23    84%

lint/rules.py                                           311      5      0      0    98%

localpaths.py                                            35      1      2      1    95%

manifest/XMLParser.py                                    91      2     14      1    97%

manifest/__init__.py                                      1      0      0      0   100%

manifest/download.py                                    138    111     50      0    14%

manifest/item.py                                        255     21     48     10    88%

manifest/jsonlib.py                                      44     21     14      5    48%

manifest/log.py                                           6      1      0      0    83%

manifest/manifest.py                                    226     83    100     13    60%

manifest/mputil.py                                        7      1      2      1    78%

manifest/sourcefile.py                                  653     57    317     42    88%

manifest/spec.py                                         43     43      6      0     0%

manifest/test262.py                                      49      2     28      3    94%

manifest/testpaths.py                                    56     56     18      0     0%

manifest/typedata.py                                    194     38     86     13    79%

manifest/update.py                                       52     35     12      1    28%

manifest/utils.py                                        54     13     16      5    69%

manifest/vcs.py                                         208    164     72      1    16%

metadata/__init__.py                                      0      0      0      0   100%

metadata/meta/__init__.py                                 0      0      0      0   100%

metadata/meta/schema.py                                  13      0      4      0   100%

metadata/schema.py                                       52     52     22      0     0%

metadata/webfeatures/__init__.py                          0      0      0      0   100%

metadata/webfeatures/schema.py                           51     51     20      0     0%

metadata/yaml/__init__.py                                 0      0      0      0   100%

metadata/yaml/load.py                                    18      0      4      0   100%

serve/__init__.py                                         1      0      0      0   100%

serve/serve.py                                          659    189    196     39    68%

serve/test_functional.py                                 47      2      2      1    94%

serve/test_serve.py                                      67      4      0      0    94%

serve/wave.py                                            78     78     22      0     0%

wave/__init__.py                                          0      0      0      0   100%

wave/configuration_loader.py                             40     40      8      0     0%

wave/data/__init__.py                                     0      0      0      0   100%

wave/data/client.py                                       5      5      0      0     0%

wave/data/device.py                                       6      6      0      0     0%

wave/data/event_listener.py                               7      7      0      0     0%

wave/data/exceptions/__init__.py                          0      0      0      0   100%

wave/data/exceptions/duplicate_exception.py               2      2      0      0     0%

wave/data/exceptions/invalid_data_exception.py            2      2      0      0     0%

wave/data/exceptions/not_found_exception.py               2      2      0      0     0%

wave/data/exceptions/permission_denied_exception.py       2      2      0      0     0%

wave/data/http_polling_client.py                          8      8      0      0     0%

wave/data/http_polling_event_listener.py                  9      9      0      0     0%

wave/data/session.py                                     50     50     20      0     0%

wave/network/__init__.py                                  0      0      0      0   100%

wave/network/api/__init__.py                              0      0      0      0   100%

wave/network/api/api_handler.py                          74     74     22      0     0%

wave/network/api/devices_api_handler.py                 155    155     54      0     0%

wave/network/api/general_api_handler.py                  45     45     18      0     0%

wave/network/api/results_api_handler.py                 186    186     48      0     0%

wave/network/api/sessions_api_handler.py                328    328    128      0     0%

wave/network/api/tests_api_handler.py                   191    191     68      0     0%

wave/network/http_handler.py                             85     85     28      0     0%

wave/network/static_handler.py                           34     34     10      0     0%

wave/testing/__init__.py                                  0      0      0      0   100%

wave/testing/devices_manager.py                          85     85     30      0     0%

wave/testing/event_dispatcher.py                        104    104     54      0     0%

wave/testing/results_manager.py                         494    494    240      0     0%

wave/testing/sessions_manager.py                        327    327    168      0     0%

wave/testing/test_loader.py                             145    145     98      0     0%

wave/testing/tests_manager.py                           261    261    144      0     0%

wave/testing/wpt_report.py                               24     24      8      0     0%

wave/utils/__init__.py                                    0      0      0      0   100%

wave/utils/deserializer.py                               89     89     46      0     0%

wave/utils/serializer.py                                 14     14      4      0     0%

wave/utils/user_agent_parser.py                          17     17      8      0     0%

wave/wave_server.py                                      50     50      6      0     0%

web_features/__init__.py                                  0      0      0      0   100%

web_features/manifest.py                                 68      3     14      1    95%

web_features/web_feature_map.py                          53      0     28      2    98%

webtransport/__init__.py                                  0      0      0      0   100%

webtransport/h3/__init__.py                               0      0      0      0   100%

webtransport/h3/capsule.py                               62     62     22      0     0%

webtransport/h3/handler.py                               13     13      0      0     0%

webtransport/h3/test_capsule.py                          98     77      4      2    23%

webtransport/h3/webtransport_h3_server.py               338    338    100      0     0%

---------------------------------------------------------------------------------------

TOTAL                                                  9253   5725   3587    186    37%



===== 957 passed, 12 skipped, 3 xfailed, 66 warnings in 1077.41s (0:17:57) =====

py38: OK ✔ in 18 minutes 28.67 seconds
py38-flake8: install_deps> python -I -m pip install -r /home/test/web-platform-tests/tools/requirements_flake8.txt
py38-flake8: commands[0]> flake8 --append-config=/home/test/web-platform-tests/tools/flake8.ini
py38-flake8: OK ✔ in 7.94 seconds
py38-mypy: install_deps> python -I -m pip install -r /home/test/web-platform-tests/tools/requirements_mypy.txt
py38-mypy: commands[0] /home/test/web-platform-tests/tools/..> mypy --config-file=/home/test/web-platform-tests/tools/mypy.ini --explicit-package-bases tools
Success: no issues found in 312 source files

  py38: OK (1108.67=setup[29.66]+cmd[1079.01] seconds)
  py38-flake8: OK (7.94=setup[1.50]+cmd[6.44] seconds)
  py38-mypy: OK (36.41=setup[19.10]+cmd[17.31] seconds)
  congratulations :) (1153.04 seconds)
+ cd /home/test/web-platform-tests/tools/ci/../..
+ ./wpt test-jobs --includes wptrunner_unittest
+ cd tools/wptrunner
+ tox -f py38
py38: install_deps> python -I -m pip install -r /home/test/web-platform-tests/tools/wptrunner/../requirements_pytest.txt -r /home/test/web-platform-tests/tools/wptrunner/requirements.txt
.pkg: install_requires> python -I -m pip install 'setuptools>=40.8.0'
.pkg: _optional_hooks> python /home/test/.local/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: get_requires_for_build_sdist> python /home/test/.local/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: get_requires_for_build_wheel> python /home/test/.local/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: prepare_metadata_for_build_wheel> python /home/test/.local/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
.pkg: build_sdist> python /home/test/.local/lib/python3.10/site-packages/pyproject_api/_backend.py True setuptools.build_meta __legacy__
py38: install_package> python -I -m pip install --force-reinstall --no-deps /home/test/web-platform-tests/tools/wptrunner/.tox/.tmp/package/1/wptrunner-1.14.tar.gz
py38: commands[0]> pytest -c/home/test/web-platform-tests/tools/wptrunner/../pytest.ini --rootdir=/home/test/web-platform-tests/tools/wptrunner
============================= test session starts ==============================

platform linux -- Python 3.8.20, pytest-8.3.2, pluggy-1.5.0

cachedir: .tox/py38/.pytest_cache

rootdir: /home/test/web-platform-tests/tools/wptrunner

configfile: ../pytest.ini

plugins: hypothesis-6.112.0, cov-5.0.0

collecting ... 
collecting 159 items                                                           
collected 348 items                                                            



wptrunner/tests/browsers/test_base.py .                                  [  0%]

wptrunner/tests/browsers/test_sauce.py ..........                        [  3%]

wptrunner/tests/browsers/test_webkitgtk.py ssssssssssssssssssss          [  8%]

wptrunner/tests/test_executors.py ........                               [ 11%]

wptrunner/tests/test_expectedtree.py .....                               [ 12%]

wptrunner/tests/test_formatters.py .....                                 [ 14%]

wptrunner/tests/test_manifestexpected.py ..........                      [ 16%]

wptrunner/tests/test_manifestupdate.py ..                                [ 17%]

wptrunner/tests/test_metadata.py ............                            [ 20%]

wptrunner/tests/test_products.py ssssssssssssssssssss................... [ 32%]

.....................ssssssssssssssssssss                                [ 43%]

wptrunner/tests/test_stability.py ......                                 [ 45%]

wptrunner/tests/test_testloader.py ........                              [ 47%]

wptrunner/tests/test_update.py ......................................... [ 59%]

...............                                                          [ 64%]

wptrunner/tests/test_wptrunner.py ........                               [ 66%]

wptrunner/tests/test_wpttest.py .........                                [ 68%]

wptrunner/wptmanifest/tests/test_conditional.py ........                 [ 71%]

wptrunner/wptmanifest/tests/test_parser.py .........                     [ 73%]

wptrunner/wptmanifest/tests/test_serializer.py ......................... [ 81%]

..................                                                       [ 86%]

wptrunner/wptmanifest/tests/test_static.py ......                        [ 87%]

wptrunner/wptmanifest/tests/test_tokenizer.py .......................... [ 95%]

................                                                         [100%]



======================= 288 passed, 60 skipped in 11.70s =======================

py38: OK ✔ in 22.33 seconds
py38-base: install_deps> python -I -m pip install -r /home/test/web-platform-tests/tools/wptrunner/../requirements_pytest.txt -r /home/test/web-platform-tests/tools/wptrunner/requirements.txt
py38-base: install_package> python -I -m pip install --force-reinstall --no-deps /home/test/web-platform-tests/tools/wptrunner/.tox/.tmp/package/2/wptrunner-1.14.tar.gz
py38-base: commands[0]> pytest -c/home/test/web-platform-tests/tools/wptrunner/../pytest.ini --rootdir=/home/test/web-platform-tests/tools/wptrunner
============================= test session starts ==============================

platform linux -- Python 3.8.20, pytest-8.3.2, pluggy-1.5.0

cachedir: .tox/py38-base/.pytest_cache

rootdir: /home/test/web-platform-tests/tools/wptrunner

configfile: ../pytest.ini

plugins: hypothesis-6.112.0, cov-5.0.0

collecting ... 
collected 348 items                                                            



wptrunner/tests/browsers/test_base.py .                                  [  0%]

wptrunner/tests/browsers/test_sauce.py ..........                        [  3%]

wptrunner/tests/browsers/test_webkitgtk.py ssssssssssssssssssss          [  8%]

wptrunner/tests/test_executors.py ........                               [ 11%]

wptrunner/tests/test_expectedtree.py .....                               [ 12%]

wptrunner/tests/test_formatters.py .....                                 [ 14%]

wptrunner/tests/test_manifestexpected.py ..........                      [ 16%]

wptrunner/tests/test_manifestupdate.py ..                                [ 17%]

wptrunner/tests/test_metadata.py ............                            [ 20%]

wptrunner/tests/test_products.py ssssssssssssssssssss................... [ 32%]

.....................ssssssssssssssssssss                                [ 43%]

wptrunner/tests/test_stability.py ......                                 [ 45%]

wptrunner/tests/test_testloader.py ........                              [ 47%]

wptrunner/tests/test_update.py ......................................... [ 59%]

...............                                                          [ 64%]

wptrunner/tests/test_wptrunner.py ........                               [ 66%]

wptrunner/tests/test_wpttest.py .........                                [ 68%]

wptrunner/wptmanifest/tests/test_conditional.py ........                 [ 71%]

wptrunner/wptmanifest/tests/test_parser.py .........                     [ 73%]

wptrunner/wptmanifest/tests/test_serializer.py ......................... [ 81%]

..................                                                       [ 86%]

wptrunner/wptmanifest/tests/test_static.py ......                        [ 87%]

wptrunner/wptmanifest/tests/test_tokenizer.py .......................... [ 95%]

................                                                         [100%]



======================= 288 passed, 60 skipped in 11.27s =======================

  py38: OK (22.33=setup[9.75]+cmd[12.58] seconds)
  py38-base: OK (18.92=setup[6.81]+cmd[12.11] seconds)
  congratulations :) (41.29 seconds)
+ cd /home/test/web-platform-tests/tools/ci/../..
[taskcluster 2025-12-19 18:31:55.999Z] === Task Finished ===
[taskcluster 2025-12-19 18:31:56.055Z] Successful task run with exit code: 0 completed in 1376.146 seconds