OLD | NEW |
1 W3C Web Platform Tests in Blink Layout Tests | 1 W3C Web Platform Tests in Blink Layout Tests |
2 | 2 |
3 Design Doc: https://goo.gl/iXUaZd | 3 Design Doc: https://goo.gl/iXUaZd |
4 | 4 |
5 This directory contains checked out and reduced code from web-platform-tests | 5 This directory contains checked out and reduced code from web-platform-tests |
6 (https://github.com/w3c/web-platform-tests/) required to run WPT tests as part | 6 (https://github.com/w3c/web-platform-tests/) required to run WPT tests as part |
7 of Blink's test infrastructure and some maintenance/configuration code. | 7 of Blink's test infrastructure and some maintenance/configuration code. |
8 | 8 |
9 The third party code lives entirely in the wpt subdirectory: | 9 The third party code lives entirely in the wpt subdirectory: |
10 Tools/Scripts/webkitpy/thirdparty/wpt/wpt | 10 Tools/Scripts/webkitpy/thirdparty/wpt/wpt |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
44 | 44 |
45 WPTWhiteList | 45 WPTWhiteList |
46 ============ | 46 ============ |
47 The explicit list of files being kept, everything else not on this list is | 47 The explicit list of files being kept, everything else not on this list is |
48 deleted when running "./checkout.sh reduce". Use this file to control what gets | 48 deleted when running "./checkout.sh reduce". Use this file to control what gets |
49 checked in and try to keep the list as small as possible (use what you need). | 49 checked in and try to keep the list as small as possible (use what you need). |
50 | 50 |
51 certs/ | 51 certs/ |
52 ====== | 52 ====== |
53 This directory contains a private key and a certificate of WPTServe, and files | 53 This directory contains a private key and a certificate of WPTServe, and files |
54 for self-signed CA. WPTServe generates them on the fly with "openssl" command in | 54 for self-signed CA. By default, WPTServe generates these files using the |
55 the default setting, but we check in pre-generated files to avoid "openssl" | 55 "openssl" command, but we check in pre-generated files to avoid "openssl" |
56 dependency. | 56 dependency. |
57 | 57 |
58 These certificates will expire in January 2025. Here is an instruction to | 58 These certificates will expire in January 2025. Here is an instruction to |
59 re-generate them: | 59 re-generate them: |
60 | 60 |
61 1. Add "openssl" command to PATH. | 61 1. Add "openssl" command to PATH. |
62 2. Apply the following change locally: | 62 2. Apply the following change locally: |
63 | 63 |
64 diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt.config
.json b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt.config.json | 64 diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt.config
.json b/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt.config.json |
65 index 6243954..84fd3f4 100644 | 65 index 6243954..84fd3f4 100644 |
(...skipping 26 matching lines...) Expand all Loading... |
92 """SSL environment that creates a local CA and host certificate using O
penSSL. | 92 """SSL environment that creates a local CA and host certificate using O
penSSL. |
93 | 93 |
94 By default this will look in base_path for existing certificates that a
re still | 94 By default this will look in base_path for existing certificates that a
re still |
95 | 95 |
96 3. Run third_party/WebKit/Tools/Scripts/run-blink-wptserve | 96 3. Run third_party/WebKit/Tools/Scripts/run-blink-wptserve |
97 4. Type Enter key to terminate it. | 97 4. Type Enter key to terminate it. |
98 5. Revert the local change. e.g. git reset --hard HEAD | 98 5. Revert the local change. e.g. git reset --hard HEAD |
99 6. Replace certs/ with wpt/_certs/ | 99 6. Replace certs/ with wpt/_certs/ |
100 % rm -fr certs | 100 % rm -fr certs |
101 % mv wpt/_certs certs | 101 % mv wpt/_certs certs |
102 7. Look at *.pem, and update "January 2025" in this document to new expiration | 102 7. Look at *.pem, and update "January 2025" in this document and expiration_date |
103 date. | 103 in wptserve.py to new expiration date. |
104 8. git commit -a | 104 8. git commit -a |
105 9. git cl upload, etc. | 105 9. git cl upload, etc. |
106 | 106 |
| 107 TODO(tkent): Make a script to re-generate keys and certificates. |
| 108 |
107 ** | 109 ** |
108 | 110 |
109 Rolling in WPT | 111 Rolling in WPT |
110 | 112 |
111 When rolling in new versions of WPT support, use WPTHeads to adjust the HEAD | 113 When rolling in new versions of WPT support, use WPTHeads to adjust the HEAD |
112 positions. You can then call "./checkout.sh clone" which will pull in all the | 114 positions. You can then call "./checkout.sh clone" which will pull in all the |
113 code and required submodules. | 115 code and required submodules. |
114 | 116 |
115 You can check in the latest code by setting the HEAD commit-ish to "master" on | 117 You can check in the latest code by setting the HEAD commit-ish to "master" on |
116 each line, afterwards make sure to use the actual SHA1s to lock down the HEAD | 118 each line, afterwards make sure to use the actual SHA1s to lock down the HEAD |
(...skipping 12 matching lines...) Expand all Loading... |
129 ** | 131 ** |
130 | 132 |
131 Configuration | 133 Configuration |
132 | 134 |
133 Read instructions in WPT README: | 135 Read instructions in WPT README: |
134 https://github.com/w3c/web-platform-tests/blob/master/README.md | 136 https://github.com/w3c/web-platform-tests/blob/master/README.md |
135 | 137 |
136 Also, check out the WPTServe Documentation | 138 Also, check out the WPTServe Documentation |
137 (https://wptserve.readthedocs.org/en/latest/). | 139 (https://wptserve.readthedocs.org/en/latest/). |
138 | 140 |
139 For setting up SSL, refer to Tools/Scripts/webkitpy/thirdparty/wpt/wpt/_certs | |
140 (which gets generated on the first run). | |
141 | |
142 Note that editing /etc/hosts is not required for run-webkit-tests since | 141 Note that editing /etc/hosts is not required for run-webkit-tests since |
143 content_shell is invoked with flags to map all *.test domains to 127.0.0.1. | 142 content_shell is invoked with flags to map all *.test domains to 127.0.0.1. |
144 | 143 |
145 ** | 144 ** |
146 | 145 |
147 Running web-platform-tests with enabled WPTServe on a local machine | 146 Running web-platform-tests with enabled WPTServe on a local machine |
148 | 147 |
149 Starting run-webkit-tests with the --enable-wptserve flag will start WPTServe | 148 Starting run-webkit-tests with the --enable-wptserve flag will start WPTServe |
150 for tests which live in LayoutTests/imported/wpt. | 149 for tests which live in LayoutTests/imported/wpt. |
151 | 150 |
152 WPTServe starts HTTP/S and WS/S servers as separate processes. | 151 WPTServe starts HTTP/S and WS/S servers as separate processes. |
153 | 152 |
154 The content_shell used to run the tests will receive the URL of each test | 153 The content_shell used to run the tests will receive the URL of each test |
155 (instead of a filename). The document root http://web-platform.test/ maps to | 154 (instead of a filename). The document root http://web-platform.test/ maps to |
156 LayoutTests/imported/wpt. HTTPS tests are enabled by default. | 155 LayoutTests/imported/wpt. HTTPS tests are enabled by default. |
157 | 156 |
158 Example run: | 157 Example run: |
159 | 158 |
160 ./Tools/Scripts/run-webkit-tests \ | 159 ./Tools/Scripts/run-webkit-tests \ |
161 --debug \ | 160 --debug \ |
162 --enable-wptserve \ | 161 --enable-wptserve \ |
163 --no-new-test-results \ | 162 --no-new-test-results \ |
164 imported/wpt | 163 imported/wpt |
OLD | NEW |