Hi, On Tue, Sep 8, 2009 at 2:00 PM, Mark Rowe<mrowe@apple.com> wrote:
On 2009-09-07, at 21:30, Yuzo Fujishima wrote:
Hi, Mark,
Thank you for the response.
I've switched to mod_python-based approach because: - It should be closer to what real web sites would do. (See a comment by ap@: https://bugs.webkit.org/show_bug.cgi?id=27490#c3)
- I thought extending httpd is preferred to adding a new thing. (See a comment by eric@: https://bugs.webkit.org/show_bug.cgi?id=27491#c7) Maybe I misunderstood the intention.
Eric's comment seems to be about code duplication in run-webkit-tests more than anything.
Yes, I actually agree now. :)
- I don't have to worry about SSL (mod_ssl would do it)
And, I thought there is a way to install extension modules to the development httpd. Would installing mod_python and mod_pywebsocket be very difficult?
Our goal is to have regression tests that work out of the box on as many platform as is possible. On Windows this means that the required software be available from Cygwin. On Mac OS X this means that required software is included with the operating system. I'm not aware of any existing regression tests that require extra software to be installed on all platforms before they can be run.
It should probably because Web Socket is the only feature so far that requires new behavior on the server side.
Then perhaps I need to write an adapter to call mod_pywebsocket from a standalone Python web server such as SimpleHTTPServer-derived one. (SSL could be an issue here. Python 2.3 doesn't have a module for SSL and we need to use a third party module such as pyOpenSSL. How easy it is to add a third party Python module to WebKit development environment?)
Python starting with v2.6 has reasonable built-in support for SSL servers. This is the version that ships with Mac OS X 10.6. Mac OS X 10.5 ships with Python 2.5 (predating this built-in support) but includes pyOpenSSL. Mac OS X 10.4 ships with Python 2.3 and does not include pyOpenSSL. From what I can see, Cygwin currently has Python 2.5 and does not appear to support pyOpenSSL.
It seems that only a small portion of the WebSockets tests would need to deal with SSL, while the majority of the tests would work fine on any platform supporting Python 2.3. For the SSL tests it would be reasonable to have tests that worked out of the box on only some platforms, especially when those platforms are used by the majority of WebKit developers (Mac OS X
= 10.5 and Linux). Doing this seems like a simpler approach than requiring two third-party Apache modules be built + configured on all platforms in order to run even the basic tests.
It sounds like a good news to me that we can give up SSL tests on some platforms! Yuzo
- Mark
On Tue, Sep 8, 2009 at 11:21 AM, Mark Rowe<mrowe@apple.com> wrote:
On 2009-09-07, at 18:28, Yuzo Fujishima wrote:
Hi, webkit-dev,
I'd like to propose to use mod_pywebsocket http://code.google.com/p/pywebsocket/ to test WebKit's implementation of Web Socket.
To do that, we need to install mod_python and mod_pywebsocket to the Apache HTTP server used for testing WebKit. (I assume mod_ssl is already there.)
I think I can modify .conf files under LayoutTests/http/conf but need instruction as to how to ensure that each test server has mod_python and mod_pywebsocket installed. Can anyone help? Any pointers or examples?
The WebKit regression tests use the system version of Apache on each platform that they run on. mod_python and mod_pywebsocket are not Apache modules that are included out of the box on most platforms, which makes them difficult to use in our regression tests. I recall work was done on a server implementation for WebSocket regression testing that was written purely in Python. What happened to that? Why was that simple approach dropped in favor of an approach that requires multiple third-party Apache modules to be built and installed?
- Mark