RESOLVED FIXED 179312
Update WPT encoding test suite to the latest version.
https://bugs.webkit.org/show_bug.cgi?id=179312
Summary Update WPT encoding test suite to the latest version.
Maciej Stachowiak
Reported 2017-11-05 23:24:22 PST
Update WPT encoding test suite to the latest version.
Attachments
Patch (42.78 MB, patch)
2017-11-05 23:32 PST, Maciej Stachowiak
no flags
Patch (42.77 MB, patch)
2017-11-06 11:08 PST, Maciej Stachowiak
no flags
Patch (42.77 MB, patch)
2017-11-06 17:19 PST, Maciej Stachowiak
youennf: review+
Patch for landing (42.77 MB, patch)
2017-11-07 09:36 PST, Maciej Stachowiak
no flags
Maciej Stachowiak
Comment 1 2017-11-05 23:32:17 PST
Chris Dumez
Comment 2 2017-11-06 08:52:23 PST
Did you use Tools/Scripts/import-w3c-tests ? It does a lot os work besides copying the tests over to make sure the tests run properly as webkit layout tests. Among other things, it skips the resource files automatically (via a JSON file iirc, not TestExpectations). It also updates some *.txt files used by import-w3c-tests for later re-syncs of the folder.
Maciej Stachowiak
Comment 3 2017-11-06 09:10:24 PST
(In reply to Chris Dumez from comment #2) > Did you use Tools/Scripts/import-w3c-tests ? It does a lot os work besides > copying the tests over to make sure the tests run properly as webkit layout > tests. Among other things, it skips the resource files automatically (via a > JSON file iirc, not TestExpectations). > It also updates some *.txt files used by import-w3c-tests for later re-syncs > of the folder. I tried to use it, but it did not appear to update the encoding directory at all, so I copied manually. Would appreciate pointers on how to use it correctly.
youenn fablet
Comment 4 2017-11-06 09:22:41 PST
imported/w3c/resources/import-expectations.json is used to know which tests to import. You can enable 'encoding' test suite import by updating this file directly and running import-w3c-tests directly. Or you can use something like: 'import-w3c-tests web-platform-tests/encoding' This should import the encoding test suite with the revision defined in TestRepositories file. The script should then update import-expectations.json for you so that later wpt revision bump also includes the encoding test suite.
youenn fablet
Comment 5 2017-11-06 09:24:56 PST
Looking at import-expectations.json, the encoding folder is currently skipped. It was probably imported manually before. Ideally, the current web-platform-tests/encoding folder should be removed and then reimported so that obsolete files are not kept in the folder.
Maciej Stachowiak
Comment 6 2017-11-06 09:32:47 PST
> Looking at import-expectations.json, the encoding folder is currently skipped. It was probably imported manually before. > Ideally, the current web-platform-tests/encoding folder should be removed and then reimported so that obsolete files are not kept in the folder. Given that status, I'd like to reimport manually one final time, then the remove/reimport step, so I can verify that nothing went wrong during the re-import. (But first I need a patch that applies clean.)
youenn fablet
Comment 7 2017-11-06 09:53:38 PST
It might be good then to use the WPT commit defined in LayoutTests/imported/w3c/resources/TestRepositories, current value is "a1c0107". As of the resource files to skip, the file to update is LayoutTests/imported/w3c/resources/resource-files.json import-w3c-tests should do the edit automatically.
Maciej Stachowiak
Comment 8 2017-11-06 10:15:59 PST
My patch matches WPT revision a1c0107 of web-platform-tests/encoding/, so should be good to go if I do a manual update and then merge.
youenn fablet
Comment 9 2017-11-06 11:03:08 PST
bugzilla is slow to me... r=me as long as bots are happy. Please move the test expectations skipping to imported/w3c/resources/resource-files.json so that we do not forget to remove these expectations in the clean-up patch.
Maciej Stachowiak
Comment 10 2017-11-06 11:08:07 PST
Maciej Stachowiak
Comment 11 2017-11-06 11:10:14 PST
I'll see if this new version succeeds on the bots and if so I'll try doing the skipping via resource-files.json.
Maciej Stachowiak
Comment 12 2017-11-06 17:19:31 PST
Maciej Stachowiak
Comment 13 2017-11-06 18:42:46 PST
The patch is green on all bots now and addresses Youenn's comment about using resource-files.json to skip non-test files. Can someone give it the official r+? Warning: Review Patch and Details views will be very slow to load because the patch is huge.
youenn fablet
Comment 14 2017-11-06 19:23:44 PST
r=me. Sorry for not being able to mark r+ but bugzilla is slow for this large patch... I do not understand why it is so huge though. Is it because of TestExpectations? As for tests being marked as slow, import-w3c-tests should be able to handle these directly when "meta timeout" is set in the tests which seem to be the case here. In the cleanup patch, you might be able to remove the slow expectations an let the script do its stuff directly
youenn fablet
Comment 15 2017-11-06 19:24:30 PST
r=me. Sorry for not being able to mark r+ but bugzilla is slow for this large patch... I do not understand why it is so huge though. Is it because of -expected.txt files? As for tests being marked as slow, import-w3c-tests should be able to handle these directly when "meta timeout" is set in the tests which seem to be the case here. In the cleanup patch, you might be able to remove the slow expectations an let the script do its stuff directly
Maciej Stachowiak
Comment 16 2017-11-07 09:12:38 PST
Some of the -expected.txt files include the full range of certain character sets, I believe that is why the patch is so large.
Maciej Stachowiak
Comment 17 2017-11-07 09:33:47 PST
Comment on attachment 326175 [details] Patch Obsoleting because I'm about to upload a patch for CQ to land.
Maciej Stachowiak
Comment 18 2017-11-07 09:36:13 PST
Created attachment 326214 [details] Patch for landing
Ryan Haddad
Comment 20 2017-11-07 14:33:58 PST
(In reply to Ryan Haddad from comment #19) > This landed in https://trac.webkit.org/changeset/224536/webkit > > Many of these tests are timing out on debug bots: > https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard. > html#tests=imported%2Fw3c%2Fweb-platform-tests%2Fencoding%2Flegacy-mb These are the ones that have timed out at least once: imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-han.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBa.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-x-x-big5.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-cn-big5.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-href-errors-han.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-extBb.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-pua.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-decode-big5-hkscs.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-csbig5.html imported/w3c/web-platform-tests/encoding/legacy-mb-tchinese/big5/big5-encode-form-errors-hangul.html imported/w3c/web-platform-tests/encoding/legacy-mb-japanese/shift_jis/sjis-decode-ms_kanji.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href-errors-han.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1989.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc_5601.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-csksc56011987.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ksc5601.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-href.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-windows-949.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-iso-ir-149.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-errors-han.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-ks_c_5601-1987.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-cseuckr.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form-korean.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-encode-form.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1987.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc5601.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-korean.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-csksc56011987.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ksc_5601.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-iso-ir-149.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-ks_c_5601-1989.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-windows-949.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode-cseuckr.html imported/w3c/web-platform-tests/encoding/legacy-mb-korean/euc-kr/euckr-decode.html
Ryan Haddad
Comment 21 2017-11-07 15:22:18 PST
I updated TestExpectations for these tests in https://trac.webkit.org/r224554
Maciej Stachowiak
Comment 22 2017-11-07 22:03:43 PST
I'm not quite sure how this landed (and apparently as me, not as the CQ), but I guess it's resolved now.
Darin Adler
Comment 23 2017-11-08 09:11:18 PST
(In reply to Maciej Stachowiak from comment #22) > I'm not quite sure how this landed (and apparently as me, not as the CQ), > but I guess it's resolved now. The commit queue lands patches as the patch author if the author has commit privileges. But also the commit queue adds a comment to the bug, and I don’t see that comment!
Alexey Proskuryakov
Comment 24 2017-11-08 09:26:28 PST
Bugzilla timed out loading the details page when EWS tried to remove the cq+ flag, and so processing got interrupted. This will be eventually fixed as we migrate from mechanize to Bugzilla REST API (bug 176344). Traceback (most recent call last): File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch", line 84, in <module> main() File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch", line 79, in main WebKitPatch(os.path.abspath(__file__)).main() File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 305, in main result = command.check_arguments_and_execute(options, args, self) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 123, in check_arguments_and_execute return self.execute(options, args, tool) or 0 File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py", line 186, in execute self._process_patch(patch, options, args, tool) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/download.py", line 212, in _process_patch self._main_sequence.run_and_handle_errors(tool, options, state) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/stepsequence.py", line 73, in run_and_handle_errors self._run(tool, options, state) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/commands/stepsequence.py", line 67, in _run step(tool, options).run(state) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/tool/steps/closepatch.py", line 36, in run self._tool.bugs.clear_attachment_flags(state["patch"].id(), comment_text) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py", line 762, in clear_attachment_flags self.browser.select_form(nr=1) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_mechanize.py", line 499, in select_form global_form = self._factory.global_form File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py", line 544, in __getattr__ self.forms() File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py", line 557, in forms self._forms_factory.forms()) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_html.py", line 237, in forms _urlunparse=_rfc3986.urlunsplit, File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_form.py", line 844, in ParseResponseEx _urlunparse=_urlunparse, File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_form.py", line 979, in _ParseFileEx data = file.read(CHUNK) File "/Volumes/Data/EWS/WebKit/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_response.py", line 195, in read data = self.wrapped.read(to_read) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 384, in read data = self._sock.recv(left) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 588, in read return self._read_chunked(amt) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 648, in _read_chunked value.append(self._safe_read(amt)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 703, in _safe_read chunk = self.fp.read(min(amt, MAXAMOUNT)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 384, in read data = self._sock.recv(left) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 734, in recv return self.read(buflen) File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/ssl.py", line 621, in read v = self._sslobj.read(len or 1024) socket.error: [Errno 54] Connection reset by peer
Radar WebKit Bug Importer
Comment 25 2017-11-17 12:36:18 PST
Note You need to log in before you can comment on or make changes to this bug.