Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Web Platform Tests | |
| 2 | |
| 3 The Web Platform Tests project provides a large number of conformance tests for | |
| 4 different aspects of the Web Platform. Currently the tests are hosted on GitHub. | |
| 5 There are two main repositories, one for the CSS Working Group (aka csswg-test), | |
| 6 and one for pretty much everything else (aka web-platform-tests). | |
| 7 | |
| 8 There is a plan to merge csswg-test into web-platform-tests, so later, there | |
| 9 will be only one repository. | |
| 10 | |
| 11 [TOC] | |
| 12 | |
| 13 ## Import | |
| 14 | |
| 15 Chromium has mirrors | |
| 16 ([web-platform-tests](https://chromium.googlesource.com/external/w3c/web-platfor m-tests/), | |
| 17 [csswg-test](https://chromium.googlesource.com/external/w3c/csswg-test/)) of the | |
| 18 GitHub repos, and periodically imports a subset of the tests so that they are | |
| 19 run as part of the regular Blink layout test testing process. | |
| 20 | |
| 21 The goal of this process are to be able to run the Web Platform Tests unmodified | |
| 22 locally just as easily as we can run the Blink tests, and ensure that we are | |
| 23 tracking tip-of-tree in the Web Platform Tests repository as closely as | |
| 24 possible, and running as many of the tests as possible. | |
| 25 | |
| 26 ### Automatic import process | |
| 27 | |
| 28 There is an automatic process for updating the Chromium copy of the Web Platform | |
| 29 Tests. The import is done by the builder [w3c-test-autoroller | |
| 30 builder](https://build.chromium.org/p/chromium.infra.cron/builders/w3c-test-auto roller). | |
| 31 | |
| 32 The easiest way to check the status of recent imports is to look at: | |
| 33 | |
| 34 - Recent logs on Buildbot for [w3c-test-autoroller | |
| 35 builder](https://build.chromium.org/p/chromium.infra.cron/builders/w3c-test- autoroller) | |
| 36 - Recent CLs created by | |
| 37 [blink-w3c-test-autoroller@chromium.org](https://codereview.chromium.org/sea rch?owner=blink-w3c-test-autoroller%40chromium.org). | |
| 38 | |
| 39 ### Skipped tests | |
| 40 | |
| 41 We control which tests are imported via a file called | |
| 42 [W3CImportExpectations](../../third_party/WebKit/LayoutTests/W3CImportExpectatio ns), | |
| 43 which has a list of directories to skip while importing. | |
| 44 | |
| 45 In addition to the directories and tests explicitly skipped there, tests may | |
| 46 also be skipped for a couple other reasons, e.g. if the file path is too long | |
| 47 for Windows. To check what files are skipped in import, check the recent logs | |
| 48 for [w3c-test-autoroller | |
| 49 builder](https://build.chromium.org/p/chromium.infra.cron/builders/w3c-test-auto roller). | |
| 50 | |
| 51 ### Manual import | |
| 52 | |
| 53 To pull the latest versions of the tests that are currently being imported, you | |
| 54 can also directly invoke the | |
| 55 [wpt-import](../../third_party/WebKit/Tools/Scripts/wpt-import) script. | |
| 56 | |
| 57 That script will pull the latest version of the tests from our mirrors of the | |
| 58 upstream repositories. If any new versions of tests are found, they will be | |
| 59 committed locally to your local repository. You may then upload the changes. | |
| 60 | |
| 61 If you wish to add more tests (by un-skipping some of the directories currently | |
| 62 skipped in `W3CImportExpectations`), you can modify that file locally and commit | |
| 63 it, and on the next auto-import, the new tests should be imported. If you want | |
| 64 to import immediately, you can also run `wpt-import --allow-local-commits`. | |
| 65 | |
| 66 ## Contributing tests back to the Web Platform Tests project. | |
| 67 | |
| 68 If you need to make changes to Web Platform Tests, just commit your changes | |
| 69 directly to | |
| 70 [LayoutTests/external/wpt](../../third_party/WebKit/LayoutTests/external/wpt) | |
| 71 and the changes will be automatically upstreamed within 24 hours. | |
| 72 | |
| 73 Note: if you're adding a new test in `external/wpt`, you'll need to re-generate | |
| 74 MANIFEST.json manually until [CL 2644783003](https://crrev.com/2644783003) is | |
| 75 landed. The command to do so is: | |
| 76 | |
| 77 ```bash | |
| 78 Tools/Scripts/webkitpy/thirdparty/wpt/wpt/manifest --work \ | |
| 79 --tests-root=LayoutTests/external/wpt | |
| 80 ``` | |
| 81 | |
| 82 ### Will the exported commits be linked to my GitHub profile? | |
| 83 | |
| 84 The email you commit with in Chromium will be the author of the commit on | |
| 85 GitHub. You can [add it as a secondary address on your GitHub | |
| 86 account](https://help.github.com/articles/adding-an-email-address-to-your-github -account/) | |
| 87 to link your exported commits to your GitHub profile. | |
| 88 | |
| 89 ### What if there are conflicts? | |
| 90 | |
| 91 This cannot be avoided entirely as the two repositories are independent, but | |
| 92 should be rare with frequent imports and exports. When it does happen, manual | |
| 93 intervention will be needed and in non-trivial cases you may be asked to help | |
| 94 resolve the conflict. | |
| 95 | |
| 96 ### Direct pull requests | |
| 97 | |
| 98 It's still possible to make direct pull requests to web-platform-tests. The | |
| 99 processes for getting new tests committed the W3C repos are at | |
| 100 [http://testthewebforward.org/docs/]. Some specifics are at | |
|
foolip
2017/02/01 17:06:12
I see in https://chromium.googlesource.com/chromiu
| |
| 101 [http://testthewebforward.org/docs/github-101.html]. | |
| OLD | NEW |