Changeset 247640 in webkit


Ignore:
Timestamp:
Jul 19, 2019 1:34:57 AM (5 years ago)
Author:
commit-queue@webkit.org
Message:

Remove pywebsockets from thirdparty
https://bugs.webkit.org/show_bug.cgi?id=199710

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-07-19
Reviewed by Jonathan Bedard.

Tools:

We have a very old version of pywebsocket in webkitpy thirdparty, but we are also importing pywebsocket as part
of wpt tools. We can simply use the wpt one for all websocket tests and remove the old copy from sources.

  • Scripts/webkitpy/layout_tests/servers/websocket_server.py:

(PyWebSocket._prepare_config): Use pywebsocket from imported w3c tools directory.

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/init.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hixie75.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/init.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/http_header_util.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/memorizingfile.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/msgutil.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/mux.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/stream.py: Removed.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py: Removed.

LayoutTests:

Update two tests that timeout with the new pywebsocket version, because the server doesn't close the connection
after handshake.AbortedByUserException(). Simply assume onopen to be called a success in handshake like other
tests using handshake.AbortedByUserException() do.

  • http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html:
  • http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html:
Location:
trunk
Files:
1 deleted
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r247619 r247640  
     12019-07-19  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Remove pywebsockets from thirdparty
     4        https://bugs.webkit.org/show_bug.cgi?id=199710
     5
     6        Reviewed by Jonathan Bedard.
     7
     8        Update two tests that timeout with the new pywebsocket version, because the server doesn't close the connection
     9        after handshake.AbortedByUserException(). Simply assume onopen to be called a success in handshake like other
     10        tests using handshake.AbortedByUserException() do.
     11
     12        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt:
     13        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html:
     14        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt:
     15        * http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html:
     16
    1172019-07-18  Said Abou-Hallawa  <sabouhallawa@apple.com>
    218
  • trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers-expected.txt

    r200145 r247640  
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
    44
    5 PASS closeEvent.isTrusted is true
     5PASS open event fired
    66PASS successfullyParsed is true
    77
  • trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-sec-websocket-response-headers.html

    r200145 r247640  
    1717
    1818    ws.onopen = function() {
    19         ws.close();
     19        testPassed("open event fired");
     20        finishJSTest();
    2021    };
    2122
    22     ws.onclose = function(event) {
    23         closeEvent = event;
    24         shouldBeTrue("closeEvent.isTrusted");
     23    ws.onerror = function(event) {
     24        testFailed("error event fired");
    2525        finishJSTest();
    2626    };
  • trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers-expected.txt

    r200145 r247640  
    33On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
    44
    5 PASS closeEvent.isTrusted is true
     5PASS open event fired
    66PASS successfullyParsed is true
    77
  • trunk/LayoutTests/http/tests/websocket/tests/hybi/handshake-ok-with-legacy-websocket-response-headers.html

    r200145 r247640  
    1717
    1818    ws.onopen = function() {
    19         ws.close();
     19        testPassed("open event fired");
     20        finishJSTest();
    2021    };
    2122
    22     ws.onclose = function(event) {
    23         closeEvent = event;
    24         shouldBeTrue("closeEvent.isTrusted");
     23    ws.onerror = function(event) {
     24        testFailed("error event fired");
    2525        finishJSTest();
    2626    };
  • trunk/Tools/ChangeLog

    r247628 r247640  
     12019-07-19  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        Remove pywebsockets from thirdparty
     4        https://bugs.webkit.org/show_bug.cgi?id=199710
     5
     6        Reviewed by Jonathan Bedard.
     7
     8        We have a very old version of pywebsocket in webkitpy thirdparty, but we are also importing pywebsocket as part
     9        of wpt tools. We can simply use the wpt one for all websocket tests and remove the old copy from sources.
     10
     11        * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
     12        (PyWebSocket._prepare_config): Use pywebsocket from imported w3c tools directory.
     13        * Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING: Removed.
     14        * Scripts/webkitpy/thirdparty/mod_pywebsocket/__init__.py: Removed.
     15        * Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py: Removed.
     16        * Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hixie75.py: Removed.
     17        * Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py: Removed.
     18        * Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py: Removed.
     19        * Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py: Removed.
     20        * Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py: Removed.
     21        * Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/__init__.py: Removed.
     22        * Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py: Removed.
     23        * Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py: Removed.
     24        * Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py: Removed.
     25        * Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py: Removed.
     26        * Scripts/webkitpy/thirdparty/mod_pywebsocket/http_header_util.py: Removed.
     27        * Scripts/webkitpy/thirdparty/mod_pywebsocket/memorizingfile.py: Removed.
     28        * Scripts/webkitpy/thirdparty/mod_pywebsocket/msgutil.py: Removed.
     29        * Scripts/webkitpy/thirdparty/mod_pywebsocket/mux.py: Removed.
     30        * Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py: Removed.
     31        * Scripts/webkitpy/thirdparty/mod_pywebsocket/stream.py: Removed.
     32        * Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py: Removed.
     33
    1342019-07-18  Jonathan Bedard  <jbedard@apple.com>
    235
  • trunk/Tools/Scripts/webkitpy/layout_tests/servers/websocket_server.py

    r228133 r247640  
    118118        self._wsout = self._filesystem.open_text_file_for_writing(output_log)
    119119
    120         from webkitpy.thirdparty import mod_pywebsocket
    121120        python_interp = sys.executable
    122         # FIXME: Use self._filesystem.path_to_module(self.__module__) instead of __file__
    123         # I think this is trying to get the chrome directory?  Doesn't the port object know that?
    124         pywebsocket_base = self._filesystem.join(self._filesystem.dirname(self._filesystem.dirname(self._filesystem.dirname(self._filesystem.abspath(__file__)))), 'thirdparty')
     121        wpt_tools_base = self._filesystem.join(self._layout_tests, "imported", "w3c", "web-platform-tests", "tools")
     122        pywebsocket_base = self._filesystem.join(wpt_tools_base, "pywebsocket")
     123        pywebsocket_deps = [self._filesystem.join(wpt_tools_base, "third_party", "six")]
    125124        pywebsocket_script = self._filesystem.join(pywebsocket_base, 'mod_pywebsocket', 'standalone.py')
    126125        start_cmd = [
     
    153152        server_name = self._filesystem.basename(pywebsocket_script)
    154153        self._env = self._port_obj.setup_environ_for_server(server_name)
    155         self._env['PYTHONPATH'] = (pywebsocket_base + os.path.pathsep + self._env.get('PYTHONPATH', ''))
     154        self._env['PYTHONPATH'] = os.path.pathsep.join([pywebsocket_base] + pywebsocket_deps + [self._env.get('PYTHONPATH', '')])
    156155
    157156    def _remove_stale_logs(self):
Note: See TracChangeset for help on using the changeset viewer.