servo/python
Mukilan Thiyagarajan c6d7c5785a
mach: fix logic to override paths for legacy layout (#34467)
wptrunner internally derives the path to the MANIFEST.json file from the
`metadata_path` passed via `test_paths`. The current logic overrides
only the `metadata_path`, leaving the manifest_path pointing at the
wrong (non-legacy) layout's MANIFEST.json.

In #34436 we observed that the recent WPT imports create a transient
`.cache` diretory that wptrunner logic uses for optimization. This has
not been observed until #34436 because a [recent bump in MANIFEST.json's
schema version][1] triggered the creation of the cache. Because of the
above issue with incorrect path and the fact that we *first* trigger
`mach update-wpt` for legacy layout during WPT import, the MANIFEST.json
of non-legacy layout gets incorrectly migrated during the invocation of
`update-wpt` for legacy layout but the cache is still created under
legacy-layout's path as it is not based on `manifest_path`. The
subsequent invocation of `mach update-wpt` for non-legacy finds the
MANIFEST.json already migrated so the `.cache` directory is not
constucted.

This change simply replaces the whole object using the wptrunner's
`TestRoot` class constructor so that all derived paths are calculated
correctly. We also add the `.cache` folders to gitignore as it seems
like they are expected to be created during such version migrations.

[1]: https://github.com/web-platform-tests/wpt/pull/49406

Signed-off-by: Mukilan Thiyagarajan <mukilan@igalia.com>
2024-12-04 12:38:58 +00:00
..
mach mach: remove python2 compatibility code (#33410) 2024-09-11 18:25:25 +00:00
servo Remove etc/shell.nix in favour of shell.nix (#34336) 2024-11-22 04:03:35 +00:00
tidy Allow tidy to pass without support/crown/target (#34212) 2024-11-11 16:07:05 +00:00
wpt mach: fix logic to override paths for legacy layout (#34467) 2024-12-04 12:38:58 +00:00
mach_bootstrap.py mach: Add support for paths with spaces on Windows (#32936) 2024-08-05 14:42:21 +00:00
README.md Reorganize Servo's WPT Python scripts 2023-04-20 12:24:55 +02:00
requirements.txt mach: Fix notifications on windows 11 (#34266) 2024-11-17 10:54:15 +00:00
tox.ini Added tox.ini 2016-05-08 12:10:48 +02:00

This directory contains various Python modules used to support servo development.

servo

servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.

tidy

servo-tidy is used to check licenses, line lengths, whitespace, flake8 on Python files, lock file versions, and more.

wpt

servo-wpt is a module with support scripts for running, importing, exporting, updating manifests, and updating expectations for WPT tests.