harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Liang <richard.lian...@gmail.com>
Subject Re: [test] Jetty integration progress ? (was Re: [classlib] jetty based tests)
Date Thu, 17 Aug 2006 05:58:09 GMT


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?

>
> 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 <zhanghuangzhu@gmail.com> 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 <stepan.mishura@gmail.com > 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 < george.c.harley@googlemail.com > 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 (t.p.ellison@gmail.com)
>> > > >> >> IBM Java technology centre, UK.
>> > > >> >>
>> > > >> >>
>> > > 
>> ---------------------------------------------------------------------
>> > > >> >> Terms of use : 
>> http://incubator.apache.org/harmony/mailing.html
>> > > >> >> To unsubscribe, e-mail:
>> > harmony-dev-unsubscribe@incubator.apache.org
>> > > >> >> For additional commands, e-mail:
>> > > >> harmony-dev-help@incubator.apache.org
>> > > >> >>
>> > > >> >>
>> > > >> >
>> > > >> >
>> > > >>
>> > > >>
>> > > >>
>> > ---------------------------------------------------------------------
>> > > >> Terms of use : http://incubator.apache.org/harmony/mailing.html
>> > > >> To unsubscribe, e-mail:
>> > harmony-dev-unsubscribe@incubator.apache.org
>> > > >> For additional commands, e-mail:
>> > harmony-dev-help@incubator.apache.org
>> > > >>
>> > > >>
>> > > >
>> > > >
>> > >
>> > >
>> > > 
>> ---------------------------------------------------------------------
>> > > Terms of use : http://incubator.apache.org/harmony/mailing.html
>> > > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> > > For additional commands, e-mail: 
>> harmony-dev-help@incubator.apache.org
>> > >
>> > >
>> >
>> >
>> > --
>> > Thanks,
>> > Stepan Mishura
>> > Intel Middleware Products Division
>> >
>> > ------------------------------------------------------
>> > Terms of use : http://incubator.apache.org/harmony/mailing.html
>> > To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
>> > For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>> >
>> >
>>
>>
>> -- 
>> 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: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message