[webkit-dev] mod_pywebsocket for testing Web Socket implementation
Yuzo Fujishima
yuzo at google.com
Tue Sep 8 00:04:17 PDT 2009
Hi, Maciej,
On Tue, Sep 8, 2009 at 3:24 PM, Maciej Stachowiak<mjs at apple.com> wrote:
> On Sep 7, 2009, at 10:41 PM, Yuzo Fujishima wrote:
>>> Building and installing some Apache modules doesn't seem like that big a
>>> deal to me, if it would really make testing more practical.
>>> However, it seems like using a premade websocket server implementation
>>> would
>>> make some forms of testing harder. In particular, it would be more
>>> difficult
>>> to test what happens in the face of malformed results from the server,
>>> which
>>> is a very important part of testing.
>>> So based on that, it probably makes more sense to do at least some of
>>> the
>>> testing and a lower level, so we can easily test invalid server
>>> responses.
>> Using mod_pywebsocket, we can write a server-side Web Socket handler
>> for a URL and put it in a corresponding directory under LayoutTests/...
>> A handler is a Python script and can send (or not send) arbitrary bytes,
>> malformed or not, to the browser.
> Sounds like that part will be easy to test, then, though I'm surprised
> that
> mod_pywebsocket doesn't implement the WebSocket protocol framing.
mod_pywebsocket provides utility classes that handles framing.
Normal handlers are expected to use them.
http://code.google.com/p/pywebsocket/source/browse/trunk/src/example/echo_wsh.py
mod_pywebsocket allows direct access to the connection in addition.
>> A handler is called after Web Socket handshake. There is no way to send
>> malformed messages during handshake, as far as mod_pywebsocket is
>> functioning properly. We may need a different mechanism here.
>> How do you test a case where the Web server returns broken HTTP headers,
>> for example? Perhaps we can do similar for Web Sockets?
> One way is to control the status line and headers is using .asis files.
Thank you!
Yuzo
> Regards,
> Maciej
More information about the webkit-dev
mailing list