mirror of
https://github.com/servo/servo.git
synced 2025-07-12 01:43:43 +01:00
71 lines
2.6 KiB
Markdown
71 lines
2.6 KiB
Markdown
Introduction
|
|
------------
|
|
|
|
This directory contains testsuites for CSS WG specifications, including ones
|
|
that do not strictly speaking define CSS features, e.g.,
|
|
[Geometry Interfaces](https://drafts.fxtf.org/geometry/).
|
|
|
|
The directories should be named like the specification's shortname, but without
|
|
any level suffix.
|
|
|
|
As the test harness relies on the largely undocumented old CSS build system,
|
|
this directory has a number of test requirements specific to it:
|
|
|
|
* support files for a given test must live in an adjacent `support` directory;
|
|
|
|
* tests must have a [`<link rel=help>`][spec-link] pointing to what they are
|
|
testing;
|
|
|
|
* for each spec so linked, test filenames must be unique; and
|
|
|
|
* support and reference files must have unique filenames within the entire
|
|
`css` directory.
|
|
|
|
|
|
vendor-imports/ Directory
|
|
-------------------------
|
|
|
|
vendor-imports/ is a legacy directory where third parties historically imported
|
|
their tests that originate and are maintained in an external repo. Files in
|
|
this directory should never be modified in this repo, but should go through the
|
|
vendor's process to be imported here.
|
|
|
|
|
|
Importing Old Branches
|
|
----------------------
|
|
|
|
Given an old branch in git based against the old csswg-test
|
|
repository, it can be moved over to the merged repo in one of two
|
|
ways:
|
|
|
|
* (Recommended:) Rebasing on top of web-platform-tests: with the old
|
|
branch checked out, run `git rebase -Xsubtree=css/ origin/master`
|
|
(or similar, depending on the name of the upstream remote).
|
|
|
|
* Merging to web-platform-tests: with web-platform-tests' master
|
|
branch checked out, run `git merge -Xsubtree=css/ my_shiny_branch`
|
|
(or similar, depending on the name of your branch).
|
|
|
|
If you have a branch/bookmark in Mercurial, the process is more
|
|
complicated:
|
|
|
|
1. From the Mercurial repo, run `hg export --git -r 'outgoing()' >
|
|
foo.patch`. This will export all the changeset shown in `hg log -r
|
|
'outgoing()'`; it's recommended you check this is the right set of
|
|
changesets before continuing!
|
|
|
|
2. Move to the git repo, and create a new branch based on
|
|
web-platform-tests' master; e.g., `git checkout -b hg-import
|
|
origin/master` (or similar, depending on the name of the upstream
|
|
remote).
|
|
|
|
3. Download [hg-patch-to-git-patch][] and run `python2
|
|
hg-patch-to-git-patch < foo.patch > bar.patch` (where `foo.patch`
|
|
is the path to the `foo.patch` you exported above).
|
|
|
|
4. Run `git am --directory=css/ < bar.patch`.
|
|
|
|
|
|
[harness]: https://test.csswg.org/harness/
|
|
[spec-link]: https://web-platform-tests.org/writing-tests/css-metadata.html#specification-links
|
|
[hg-patch-to-git-patch]: https://raw.githubusercontent.com/mozilla/moz-git-tools/master/hg-patch-to-git-patch
|