2006/8/17, Richard Liang <[EMAIL PROTECTED]>:
Andrew Zhang wrote: > Hi folks, > > I'd like to say something more about jetty integration. We should > reach an > agreement on how to integrate/use jetty in Harmony. There are some > concerns > I can image now: > > 1. Where to put jetty? support or luni module or somewhere else? It > depends > on question 2. How about putting jetty into depends?
+1 Thanks, Mikhail
> > 2. How to use jetty? How many jetty instances are there? Singleton or > multiple instances? In other word, shall we start only one jetty > server at > the beginning before running all tests? or will we start/destroy embedded > jetty server at will in any test case? Seems jetty supports both options. I agree. We still shall be cautious about jetty instances though it's light-weighted. IMHO, for most test cases, one global jetty instance is enough. But maybe there are some cases which need separate instances. Let's see comments from others :-) > > 3. How to write jetty based test?. Multi-thread network test always is a > problem to us. I found it's also hard to be theoretically. Yes. > > According to the description above, I suggest put jetty in support > module, > and encapsulate a class (i.e Support_JettyServer) with some public > methods > for test writing (i.e getJettyPort(), setHandler(), set...). The > advantage > of this approach hides all jetty details in support. Once jetty support > class is ready, all modules can write http tests in the same way. > > Any suggestions are highly appreciated! Thanks! > > On 8/1/06, Andrew Zhang <[EMAIL PROTECTED]> wrote: >> >> Hi folks, >> >> I volunteer to work on excluded tests in luni module, most of which are >> dependent on external servers(http server, socks proxy and etc.). >> >> As we discussed some months earlier, we'd integrate Jetty to Harmony >> test >> framework for eliminating external http server, but seems no more >> progress. >> >> Any volunteer to do this job? :-) >> >> Thanks! >> >> >> On 5/23/06, Stepan Mishura <[EMAIL PROTECTED] > wrote: >> > >> > Hi George, Paulex, >> > >> > Thanks for your answers. As a preliminary result - your convinced >> me and >> > I'm >> > going to be volunteer to evaluate jetty integration to classlib test >> > suite. >> > >> > Do anybody work on integrating jetty http server to move net tests out >> > of >> > exclude list? >> > >> > Thanks, >> > Stepan. >> > >> > On 5/23/06, George Harley < [EMAIL PROTECTED] > wrote: >> > > >> > > Stepan Mishura wrote: >> > > > Hi George, Tim >> > > > >> > > > I'd like to clarify the following questions: >> > > > 1) Configuring >> > > > As I understood we say that the server is 'embedded' when we can >> > > > start/stop >> > > > it within Ant without additional configuration steps. And all we >> > need >> > > > to do >> > > > is just download required jars. Right? >> > > > >> > > > What about Eclipse users? >> > > >> > > Hi Stepan, >> > > >> > > In addition to be being start-able, stop-able and configurable from >> > Ant >> > > and XML config files, Jetty can also be embedded into the Java >> code of >> > a >> > > test case or test suite. Configuration, starting and stopping are >> all >> > > possible. Eclipse users should not be disadvantaged. >> > > >> > > >> > > > >> > > > 2) Time to run test suite >> > > > May be it is hard to estimate but anyway - will the test suite run >> > > > slow down >> > > > if we'll use jetty instead of mock objects? How much? >> > > >> > > Depends on configuration. Configure and start the server in the >> > setup() >> > > of a JUnit TesCase (and stopping the server in the teardown()) would >> > > obviously be slower than doing the equivalent in a JUnit TestSetup >> > > descendent. Start up is a lot less than half a second on my machine. >> > > >> > > Is there some performance benchmark for tests that is at risk here ? >> > > >> > > >> > > > >> > > > 3) Testing >> > > > Quoting Tim from 'local server thread': "There is no way to >> force a >> > > > server >> > > > to send you a chunked response using regular HTTP headers, so in >> > this >> > > > case >> > > > the server and client have an understanding that when the client >> > asks >> > > > for a >> > > > particular resource the server will send it back in chunks." >> > > > >> > > > With mock objects this can be done with no problems and >> HARMONY-164 >> > > > demonstrates the possible way. Also are we going to create >> negative >> > > > tests, >> > > > for example, for broken server response? I think yes. Can >> jettyserver >> > > be >> > > > used for negative testing? >> > > >> > > Yes. You can send back any error. >> > > >> > > >> > > > >> > > > See other comments below >> > > > >> > > > On 5/22/06, George Harley wrote: >> > > >> >> > > >> Stepan Mishura wrote: >> > > >> > On 5/19/06, Tim Ellison wrote: >> > > >> >> >> > > >> >> Stepan Mishura wrote: >> > > >> >> <snip> >> > > >> >> > I'm OK only if we separate tests with Jetty from common test >> > suite >> > > >> >> run. >> > > >> >> >> > > >> >> Why? >> > > >> > >> > > >> > >> > > >> > Because each external dependency complicates 'normal' test >> suite >> > > >> run ( I >> > > >> > don't want to face with situation when to run Harmony test >> suite >> > I >> > > >> > have to >> > > >> > configure and run 20 different external servers even they are >> > easy >> > > >> > configurable). As far as I remember we agreed to use mock >> objects >> > - >> > > so >> > > >> > let's >> > > >> > use them! For example, in this case there is no need in >> jettyserver. >> > > >> > >> > > >> > I'm not against 'jetty based tests' but I'd prefer to separate >> > such >> > > >> > tests. >> > > >> > >> > > >> > Thanks, >> > > >> > Stepan. >> > > >> > >> > > >> >> > > >> Hi Stepan, >> > > >> >> > > >> Just seen this note and think that my previous append on the "Re: >> > svn >> > > >> commit: r407752" thread sums up my thoughts. Allow me to quote >> > myself: >> > > >> >> > > >> <paste> >> > > >> Jetty or equivalent is a good basis for such local server >> stubs. It >> > is >> > > >> fast, it is lightweight, >> > > > >> > > > >> > > > Fast and lightweight as what? >> > > > I saw sometimes ago java server that has jar size 4k. And >> > > > jetty-6.0.0beta6.jar is 423k size. >> > > > >> > > >> > > >> > > Not sure of your point here. Is there some test file footprint >> > benchmark >> > > that is at risk here ? If there is a better, faster, more >> lightweight >> > > server that would suit our purposes then let's hear about it so that >> > we >> > > can investigate whether or not it may be used with our network >> tests. >> > > >> > > > >> > > >> it can be started and stopped very simply from >> > > >> within Ant (so that it only runs for the duration of a specified >> > batch >> > > >> of unit tests) and may also be completely controlled from Java >> test >> > > code >> > > >> so that we can configure its behaviour for any test case from >> > within >> > > >> that test case. >> > > > >> > > > >> > > > Good. >> > > > >> > > > It's architecture means that we do not have to run it as >> > > >> a complete web server but can stub out any aspect of its runtime >> > > >> behaviour we wish in order to suit the purposes of the test(s). >> > > > >> > > > >> > > > What about 'chunked response'? Can a testcase force jetty >> server to >> > > > send it >> > > > a chunked response? >> > > >> > > Yes. The API provides options to do this. Chunks are encoded as per >> > > RFC2616. >> > > >> > > >> > > Best regards, >> > > George >> > > >> > > > >> > > > I don't really understand why such network tests making use of a >> > small, >> > > >> embedded server running locally would need to be considered as >> > outside >> > > >> of the "normal test flow". >> > > >> </paste> >> > > > >> > > > >> > > > Because I consider adding jetty server as precedent for adding >> other >> > > > dependencies to the "normal test flow". I believe that "normal >> test >> > > flow" >> > > > should be fast and lightweight as much as possible. Each >> additional >> > > > dependency or configuration step adds a brick(even it light) to >> > > > developer's >> > > > large. As the result classlib test suite may become very slow and >> > hard >> > > to >> > > > configure. All I want is to understand - do we really need >> jettyserver >> > > > inside it. >> > > > >> > > > Thanks, >> > > > Stepan. >> > > > >> > > > We are not talking about an external server here and we are not >> > talking >> > > >> about developers having to carry out complex configuration >> > manoeuvres >> > > >> when running the tests. That is something that nobody wants. The >> > > >> motivation here is purely to get more of the java.net tests >> out of >> > the >> > > >> "excludes" sin bin. >> > > >> >> > > >> Best regards, >> > > >> George >> > > >> >> > > >> >> > > >> > Regards, >> > > >> >> Tim >> > > >> >> >> > > >> >> -- >> > > >> >> >> > > >> >> Tim Ellison ([EMAIL PROTECTED]) >> > > >> >> IBM Java technology centre, UK. >> > > >> >> >> > > >> >> >> > > >> --------------------------------------------------------------------- >> > > >> >> Terms of use : >> http://incubator.apache.org/harmony/mailing.html >> > > >> >> To unsubscribe, e-mail: >> > [EMAIL PROTECTED] >> > > >> >> For additional commands, e-mail: >> > > >> [EMAIL PROTECTED] >> > > >> >> >> > > >> >> >> > > >> > >> > > >> > >> > > >> >> > > >> >> > > >> >> > --------------------------------------------------------------------- >> > > >> Terms of use : http://incubator.apache.org/harmony/mailing.html >> > > >> To unsubscribe, e-mail: >> > [EMAIL PROTECTED] >> > > >> For additional commands, e-mail: >> > [EMAIL PROTECTED] >> > > >> >> > > >> >> > > > >> > > > >> > > >> > > >> > > >> --------------------------------------------------------------------- >> > > Terms of use : http://incubator.apache.org/harmony/mailing.html >> > > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > > For additional commands, e-mail: >> [EMAIL PROTECTED] >> > > >> > > >> > >> > >> > -- >> > Thanks, >> > Stepan Mishura >> > Intel Middleware Products Division >> > >> > ------------------------------------------------------ >> > Terms of use : http://incubator.apache.org/harmony/mailing.html >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> >> >> -- >> Andrew Zhang >> China Software Development Lab, IBM >> > > > -- Richard Liang China Software Development Lab, IBM --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]